/* tokens.css */:root {
  --color-navy: #16202e;
  --color-lavender: #d9d5eb;
  --color-peach: #f3e3cf;
  --color-white: #fff;
  --color-muted: #586170;
  --color-violet: #695e8b;
  --color-brand-hainbuch: #e30013;
  --color-brand-boellhoff: #0d68b0;
  --color-brand-schmalz: #0050a0;
  --color-brand-pilz: #ffcc00;
  --color-night-background: #10121f;
  --color-night-surface: #202238;
  --color-night-text: #edeaf7;
  --color-night-soft: #181a2b;
  --color-night-accent: #c5b1ee;
  --color-night-muted: #b7b7ca;
  --color-night-line: #35354c;
  --color-sky: #b6dafc;
  --color-frost: #c5fffd;
  --radius-card: 10px;
  --radius-pill: 999px;
  --space-section: 152px;
  --space-section-mobile: 120px;
  --space-heading: 42px;
  --space-heading-mobile: 30px;
  --type-family: 'JUST Sans', sans-serif;
  --type-regular: 400;
  --type-medium: 500;
  --type-semibold: 600;
  --navy: var(--color-navy);
  --lavender: var(--color-lavender);
  --peach: var(--color-peach);
  --white: var(--color-white);
  --line: color-mix(in srgb, var(--navy) 9%, var(--paper));
  --content-width: 1040px;
  --heading-scale: .85;
  --body-scale: .9;
  --gutter: max(32px, calc((100% - var(--content-width)) / 2));
  --muted: var(--color-muted);
  --soft: color-mix(in srgb, var(--lavender) 13%, var(--paper));
  --violet: var(--color-violet);
  --surface-radius: 16px;
  --paper: color-mix(in srgb, var(--peach) 14%, var(--white));
  --ink: color-mix(in srgb, var(--navy) 88%, var(--white));
  --calm-font: var(--type-family);
  --calm-heading: clamp(29px, 2.8vw, 38px);
  --calm-shadow: 0 8px 28px -12px color-mix(in srgb, var(--navy) 15%, transparent);
  --section-spacing-scale: 2;
  --card-radius: var(--radius-card);
  --motion-settle: cubic-bezier(.22,.72,.18,1);
  --motion-touch: cubic-bezier(.22,.68,0,1);
  --title-size: clamp(38px,4vw,54px);
  --title-leading: 1.1;
  --section-title-size: clamp(27px,2.6vw,32px);
  --page-section-gap: var(--space-section);
  --heading-content-gap: var(--space-heading);
  --surface-card: color-mix(in srgb, var(--navy) 3%, var(--paper));
  --surface-inset: var(--white);
  --button-height: 48px;
  --button-font-size: 14px;
  --section-inset: 112px;
  --card-title-size: 19px;
}/* terrain.css */@font-face {
  font-family: 'Alte Haas Grotesk';
  src: url('../art/fonts/AlteHaasGroteskBold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}@font-face {
  font-family: 'Pretendard Std';
  src: url('../art/fonts/PretendardStd-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}@font-face {
  font-family: 'Pretendard Std';
  src: url('../art/fonts/PretendardStd-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}* {
  box-sizing: border-box;
}html {
  scroll-behavior: smooth;
}body {
  margin: 0;
  background: var(--white);
  color: var(--navy);
  font:
    400 max(14px, calc(16px * var(--body-scale)))/1.5 'Pretendard Std',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  font-synthesis: none;
}a {
  color: inherit;
  text-decoration: none;
  touch-action: manipulation;
}a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 7px;
}img {
  display: block;
  max-width: 100%;
}p,
h1 {
  margin: 0;
}::selection {
  background: var(--lavender);
  color: var(--navy);
}.skip-link {
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: -100px;
  left: 20px;
  padding: 12px 20px;
  background: var(--white);
  color: var(--navy);
  z-index: 10;
}.skip-link:focus {
  top: 20px;
  opacity: 1;
  pointer-events: auto;
}.terrain-hero {
  min-height: 620px;
  height: 88svh;
  max-height: 900px;
  position: relative;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  color: var(--white);
  background: var(--navy);
  overflow: hidden;
}.terrain-glitch {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}.terrain-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30px var(--gutter);
  gap: 24px;
}.terrain-wordmark {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font:
    700 calc(32px * var(--heading-scale))/1 'Alte Haas Grotesk',
    sans-serif;
  letter-spacing: -0.045em;
}.terrain-wordmark svg {
  width: 29px;
  height: 29px;
}.book-call {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  min-height: 50px;
  padding: 0 20px;
  color: var(--navy);
  font-size: 14px;
  font-weight: var(--type-semibold);
  isolation: isolate;
  transition: transform 150ms ease;
}.book-call::before,
.book-call::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  clip-path: polygon(
    0 0,
    calc(100% - 8px) 0,
    calc(100% - 8px) 4px,
    calc(100% - 4px) 4px,
    calc(100% - 4px) 8px,
    100% 8px,
    100% 100%,
    8px 100%,
    8px calc(100% - 4px),
    4px calc(100% - 4px),
    4px calc(100% - 8px),
    0 calc(100% - 8px)
  );
}.book-call::before {
  background: color-mix(in srgb, var(--lavender) 52%, var(--navy));
  transform: translateY(3px);
}.book-call::after {
  background: var(--lavender);
  transition: background 150ms ease;
}.book-call:hover {
  transform: translateY(-2px);
}.book-call:hover::after {
  background: var(--white);
}.book-call:active {
  transform: translateY(2px);
}.book-call:focus-visible {
  outline-color: var(--white);
}.book-call svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}.book-call .calendar-days {
  fill: currentColor;
  stroke: none;
}/* Center the copy as one group, with the terrain given room below it. */.hero-statement {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(40px, 5svh, 64px) var(--gutter) clamp(160px, 25svh, 250px);
  text-align: center;
}.hero-lead {
  max-width: 540px;
  margin: 24px auto 0;
  font-size: max(14px, calc(20px * var(--body-scale)));
  line-height: 1.6;
  color: var(--white);
  text-wrap: balance;
}h1 {
  font:
    700 calc(clamp(70px, 7.65vw, 128px) * var(--heading-scale))/0.99 'Alte Haas Grotesk',
    sans-serif;
  letter-spacing: -0.045em;
  max-width: var(--content-width);
  text-wrap: balance;
}/* A surveyed field: fine dividers, spaced intersection marks, eight steady positions. */.customer-grid {
  padding: 64px var(--gutter);
}.customer-grid-frame {
  max-width: var(--content-width);
  margin: auto;
}.customer-grid-heading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  padding: 20px 58px;
  border-inline: 1px solid var(--line);
  font-size: 14px;
  text-align: center;
}.customer-grid-field {
  position: relative;
  border: 1px solid var(--line);
}.customer-grid-logos {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0;
  margin: 0;
}.customer-grid-logos li {
  position: relative;
  min-width: 0;
  height: 142px;
  border-right: 1px solid var(--line);
}.customer-grid-logos li:nth-child(4n) {
  border-right: 0;
}.customer-grid-logos li:nth-child(-n + 4) {
  border-bottom: 1px solid var(--line);
}.customer-grid-logos li:nth-child(n + 5)::before {
  content: '';
  position: absolute;
  left: -2px;
  top: -2px;
  width: 3px;
  height: 3px;
  background: var(--navy);
  opacity: 0.5;
  outline: 5px solid var(--white);
  z-index: 2;
}.customer-grid-logos img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--logo-width, 145px);
  max-width: calc(100% - 44px);
  height: auto;
  max-height: 65px;
  object-fit: contain;
  filter: grayscale(1) brightness(0);
  opacity: 0.85;
  transition:
    opacity 420ms ease,
    translate 420ms cubic-bezier(0.2, 0.7, 0.2, 1);
}.customer-grid-logos img.is-entering {
  opacity: 0;
  translate: 0 7px;
}.customer-grid-logos img.is-leaving {
  opacity: 0;
  translate: 0 -7px;
}.grid-corner {
  position: absolute;
  width: 5px;
  height: 5px;
  background: var(--navy);
  border-radius: 50%;
  outline: 6px solid var(--white);
  z-index: 3;
}.corner-tl {
  top: -3px;
  left: -3px;
}.corner-tr {
  top: -3px;
  right: -3px;
}.corner-bl {
  bottom: -3px;
  left: -3px;
}.corner-br {
  bottom: -3px;
  right: -3px;
}.logo-pause {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  padding: 10px;
  border: 0;
  background: transparent;
  color: var(--navy);
  cursor: pointer;
  opacity: 0.55;
}.logo-pause:hover,
.logo-pause:focus-visible {
  opacity: 1;
}.logo-pause:focus-visible {
  outline: 2px solid var(--navy);
  outline-offset: 3px;
}.logo-pause svg {
  display: block;
  fill: currentColor;
}.logo-pause .play-symbol,
.logo-pause[aria-pressed='true'] .pause-symbol {
  display: none;
}.logo-pause[aria-pressed='true'] .play-symbol {
  display: block;
}@media (max-width: 1050px) and (min-width: 701px) {
  h1 {
    font-size: calc(clamp(65px, 7.5vw, 90px) * var(--heading-scale));
  }
}@media (max-width: 700px) {
  :root {
    --gutter: 28px;
    --heading-scale: 0.9;
    --body-scale: 0.94;
  }
  .terrain-hero {
    min-height: 600px;
    max-height: 760px;
  }
  .terrain-nav {
    padding-top: 24px;
    padding-bottom: 24px;
    gap: 16px;
  }
  .terrain-wordmark {
    font-size: calc(26px * var(--heading-scale));
    gap: 8px;
  }
  .terrain-wordmark svg {
    width: 23px;
    height: 23px;
  }
  .book-call {
    min-height: 44px;
    padding: 0 15px;
    gap: 14px;
    font-size: 13px;
  }
  .book-call svg {
    width: 15px;
    height: 15px;
  }
  .hero-statement {
    justify-content: flex-start;
    padding-top: clamp(56px, 12svh, 104px);
    padding-bottom: 100px;
  }
  .hero-lead {
    max-width: 380px;
    margin-top: 20px;
    font-size: max(14px, calc(17px * var(--body-scale)));
  }
  h1 {
    font-size: calc(clamp(43px, 10.5vw, 72px) * var(--heading-scale));
    line-height: 1.02;
    letter-spacing: -0.04em;
    text-wrap: balance;
    max-width: 540px;
  }
  .customer-grid {
    padding-block: 30px;
  }
  .customer-grid-heading {
    font-size: 12px;
    padding: 20px 44px 20px 12px;
    min-height: 72px;
  }
  .customer-grid-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .customer-grid-logos li {
    height: 106px;
  }
  .customer-grid-logos li:nth-child(2n) {
    border-right: 0;
  }
  .customer-grid-logos li:nth-child(-n + 6) {
    border-bottom: 1px solid var(--line);
  }
  .customer-grid-logos li:nth-child(n + 3)::before {
    content: '';
    position: absolute;
    left: -2px;
    top: -2px;
    width: 3px;
    height: 3px;
    background: var(--navy);
    opacity: 0.5;
    outline: 5px solid var(--white);
    z-index: 2;
  }
  .customer-grid-logos img {
    max-width: calc(100% - 36px);
    max-height: 52px;
  }
  .logo-pause {
    right: 3px;
  }
}@media (max-width: 360px) {
  :root {
    --gutter: 24px;
  }
  h1 {
    font-size: clamp(30px, 10vw, 36px);
  }
  .terrain-wordmark {
    font-size: max(14px, calc(23px * var(--body-scale)));
    gap: 7px;
  }
  .book-call {
    padding-inline: 12px;
    gap: 10px;
  }
}@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    transition: none !important;
  }
}/* story.css *//* Terrain / editorial pass. One visual idea per section; content never depends on motion. */h2,
h3,
figure,
blockquote {
  margin: 0;
}h2 {
  font:
    700 calc(clamp(44px, 4.8vw, 72px) * var(--heading-scale))/1.01 'Alte Haas Grotesk',
    sans-serif;
  letter-spacing: -0.045em;
  text-wrap: balance;
}h3 {
  font:
    700 calc(30px * var(--heading-scale))/1.1 'Alte Haas Grotesk',
    sans-serif;
  letter-spacing: -0.035em;
}.story-shell {
  width: min(var(--content-width), calc(100% - 2 * var(--gutter)));
  margin-inline: auto;
}summary:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}/* Content illustrations use one consistent, quiet surface treatment. */.landscape-closing {
  min-height: 820px;
  background: var(--navy);
  color: var(--white);
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}.landscape-closing::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(
    var(--navy),
    color-mix(in srgb, var(--navy) 15%, transparent) 65%,
    var(--navy)
  );
}.closing-invitation {
  padding: 125px var(--gutter) 190px;
  text-align: center;
}.closing-invitation h2 {
  font-size: calc(clamp(45px, 5vw, 76px) * var(--heading-scale));
  line-height: 1.03;
}.closing-invitation > p {
  font-size: max(14px, calc(18px * var(--body-scale)));
  margin-top: 25px;
}.closing-invitation .book-call {
  margin-top: 30px;
}figure > figcaption {
  font-size: 11px;
  line-height: 1.5;
  color: var(--muted);
  margin-top: 16px;
}@media (max-width: 600px) {
  h2 {
    font-size: calc(clamp(35px, 9vw, 48px) * var(--heading-scale));
  }
  .landscape-closing {
    min-height: 780px;
  }
  .closing-invitation {
    padding: 90px var(--gutter) 150px;
  }
  .closing-invitation h2 {
    font-size: calc(clamp(39px, 10vw, 58px) * var(--heading-scale));
  }
  .closing-invitation > p {
    font-size: max(14px, calc(16px * var(--body-scale)));
    line-height: 1.6;
  }
}@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition: none !important;
  }
}/* Customer evidence sits next to the point it supports; the working timeline is separate from the outbound cycle. */.working-process {
  padding: 25px 0 100px;
}.faq-section {
  padding: 110px 0;
}.faq-layout {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 85px;
  align-items: start;
}.faq-heading h2 {
  font-size: calc(clamp(43px, 4.5vw, 66px) * var(--heading-scale));
}.faq-heading > p {
  margin-top: 22px;
  font-size: max(14px, calc(17px * var(--body-scale)));
  line-height: 1.6;
  max-width: 290px;
  color: var(--muted);
}.faq-list {
  border-top: 1px solid var(--line);
}.faq-list details {
  border-bottom: 1px solid var(--line);
}.faq-list summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 23px 0;
  list-style: none;
  font-size: max(14px, calc(18px * var(--body-scale)));
  font-weight: var(--type-semibold);
  line-height: 1.4;
}.faq-list summary::-webkit-details-marker {
  display: none;
}.faq-list summary > span {
  font-size: max(14px, calc(23px * var(--body-scale)));
  font-weight: var(--type-regular);
  flex: none;
  transition: transform 150ms;
}.faq-list details[open] summary > span {
  transform: rotate(45deg);
}.faq-list details > div {
  padding: 0 35px 25px 0;
}.faq-list p {
  font-size: max(14px, calc(16px * var(--body-scale)));
  color: var(--muted);
  line-height: 1.75;
}@media (max-width: 1100px) {
  .faq-layout {
    gap: 50px;
  }
  .faq-list summary {
    font-size: max(14px, calc(17px * var(--body-scale)));
  }
}@media (max-width: 800px) {
  .faq-layout {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .faq-heading > p {
    max-width: 480px;
  }
}@media (max-width: 600px) {
  .working-process {
    padding: 15px 0 60px;
  }
  .faq-section {
    padding: 65px 0 70px;
  }
  .faq-heading h2 {
    font-size: calc(42px * var(--heading-scale));
  }
  .faq-heading > p {
    font-size: max(14px, calc(16px * var(--body-scale)));
    margin-top: 20px;
  }
  .faq-list summary {
    padding: 20px 0;
    font-size: max(14px, calc(16px * var(--body-scale)));
    gap: 20px;
  }
  .faq-list details > div {
    padding: 0 8px 22px 0;
  }
  .faq-list p {
    font-size: max(14px, calc(15px * var(--body-scale)));
  }
  .faq-list summary > span {
    font-size: max(14px, calc(22px * var(--body-scale)));
  }
}/* Customer voices: an open editorial grid, aligned to the customer-logo field. *//* Buyer questions: concrete use cases, a clear fit, and the people doing the work. */.team-section {
  padding: 100px 0 25px;
}.team-photo {
  aspect-ratio: 1.12;
  border-radius: var(--surface-radius);
  overflow: hidden;
  background: var(--soft);
  margin-bottom: 25px;
}.team-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 12%;
}.team-person h3 {
  font-size: calc(27px * var(--heading-scale));
}.team-person .team-role {
  font-size: 13px;
  margin-top: 7px;
  color: var(--muted);
}.team-person > p:not(.team-role) {
  font-size: max(14px, calc(15px * var(--body-scale)));
  line-height: 1.65;
  max-width: 375px;
  margin-top: 17px;
  color: var(--muted);
}.closing-invitation > p {
  max-width: 590px;
  margin-inline: auto;
  line-height: 1.65;
}@media (max-width: 900px) {
  .team-person h3 {
    font-size: calc(24px * var(--heading-scale));
  }
  .team-person > p:not(.team-role) {
    font-size: 14px;
  }
}@media (max-width: 600px) {
  .team-section {
    padding: 65px 0 0;
  }
  .team-photo {
    aspect-ratio: 1.18;
    margin-bottom: 22px;
  }
  .team-person h3 {
    font-size: calc(28px * var(--heading-scale));
  }
  .team-person > p:not(.team-role) {
    max-width: 440px;
    font-size: max(14px, calc(15px * var(--body-scale)));
    margin-top: 13px;
  }
  .closing-invitation > p {
    font-size: max(14px, calc(16px * var(--body-scale)));
  }
}/* Compact team row; smaller screens wrap without shrinking names or roles. */.team-person {
  min-width: 0;
}.team-photo {
  aspect-ratio: 1;
  margin-bottom: 20px;
}.team-person h3 {
  font-size: max(14px, calc(23px * var(--body-scale)));
}.team-person .team-role {
  min-height: 3em;
  line-height: 1.5;
}.team-person > p:not(.team-role) {
  font-size: 14px;
  margin-top: 15px;
}@media (max-width: 600px) {
  .team-person {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    column-gap: 20px;
    align-content: start;
  }
  .team-photo {
    grid-row: 1 / span 3;
    width: 96px;
    height: 110px;
    margin: 0;
    aspect-ratio: auto;
  }
  .team-person h3 {
    font-size: calc(24px * var(--heading-scale));
    grid-column: 2;
  }
  .team-person .team-role {
    grid-column: 2;
    min-height: 0;
    margin-top: 6px;
  }
  .team-person > p:not(.team-role) {
    grid-column: 2;
    font-size: 14px;
    margin-top: 12px;
  }
}/* market-study.css */@font-face {
  font-family: 'Pretendard Std';
  src: url('../art/fonts/PretendardStd-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}/* A section-level typography study; the mockup is an illustration, not an app demo. */.market-capability {
  --market-paper: color-mix(in srgb, var(--white) 94%, var(--lavender));
  --market-rule: color-mix(in srgb, var(--navy) 9%, var(--white));
  --market-quiet: color-mix(in srgb, var(--navy) 60%, var(--white));
  padding: 100px 0 92px;
  background: var(--white);
  font-family: 'Pretendard Std', sans-serif;
}.market-window {
  position: relative;
  border: 1px solid var(--market-rule);
  border-radius: 9px;
  background: var(--white);
  box-shadow: 6px 6px 0 color-mix(in srgb, var(--lavender) 24%, var(--white));
}.market-app {
  border-radius: inherit;
  overflow: hidden;
}.market-icon {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}.market-app-heading {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  padding: 17px 22px;
  background: var(--market-paper);
}.market-app-heading h3 {
  display: flex;
  align-items: center;
  gap: 9px;
  font:
    600 14px/1.2 'Pretendard Std',
    sans-serif;
  letter-spacing: -0.015em;
}.market-app-symbol {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  background: var(--lavender);
  border-radius: 6px;
  font-size: 17px;
  color: var(--violet);
}.market-app-heading > span {
  color: var(--market-quiet);
  font-size: 10px;
}.market-totals {
  display: flex;
  gap: 20px;
  padding: 10px 22px;
  border-top: 1px solid var(--market-rule);
  font-size: 11px;
  color: var(--market-quiet);
}.market-totals strong {
  color: var(--navy);
  font-weight: var(--type-medium);
  font-variant-numeric: tabular-nums;
}.market-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  table-layout: fixed;
  background: var(--white);
  font-size: 11px;
}.market-table col:nth-child(1) {
  width: 27%;
}.market-table col:nth-child(2) {
  width: 25%;
}.market-table col:nth-child(3) {
  width: 23%;
}.market-table col:nth-child(4) {
  width: 13%;
}.market-table col:nth-child(5) {
  width: 12%;
}.market-table th {
  height: 34px;
  padding: 0 13px;
  border-block: 1px solid var(--market-rule);
  background: var(--market-paper);
  font-size: 10px;
  font-weight: var(--type-regular);
  color: var(--market-quiet);
}.market-table th:first-child,
.market-table td:first-child {
  padding-left: 22px;
}.market-table td {
  height: 55px;
  padding: 6px 13px;
  border-bottom: 1px solid var(--market-rule);
  transition: background 180ms;
}.market-table tr:last-child td {
  border-bottom: 0;
}.market-table tbody tr {
  cursor: default;
}.market-table tbody tr.is-selected td {
  background: color-mix(in srgb, var(--lavender) 24%, var(--white));
}.market-table tbody tr.is-selected td:first-child {
  box-shadow: inset 2px 0 var(--violet);
}.market-company {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 39px;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--navy);
  text-align: left;
  font: inherit;
  cursor: default;
}/* Third-party brand colors are confined to their own icon tiles. */.company-icon {
  --company-color: var(--navy);
  display: grid;
  place-items: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--company-color) 9%, var(--white));
  border-radius: 7px;
  background: color-mix(in srgb, var(--company-color) 7%, var(--white));
}.company-icon img {
  display: block;
  width: 22px;
  height: 22px;
  object-fit: contain;
  mix-blend-mode: multiply;
}.company-icon[data-brand='hainbuch'] {
  --company-color: var(--color-brand-hainbuch);
}.company-icon[data-brand='boellhoff'] {
  --company-color: var(--color-brand-boellhoff);
}.company-icon[data-brand='schmalz'] {
  --company-color: var(--color-brand-schmalz);
}.company-icon[data-brand='pilz'] {
  --company-color: var(--color-brand-pilz);
  background: color-mix(in srgb, var(--company-color) 12%, var(--white));
}.company-icon[data-brand='hainbuch'] img {
  width: 28px;
  height: 28px;
}.company-icon[data-brand='pilz'] img {
  width: 19px;
  height: 19px;
}.company-icon[data-brand='schmalz'] img {
  width: 26px;
}.market-company strong,
.market-buyer strong {
  display: block;
  font-size: 13px;
  line-height: 1.3;
  font-weight: var(--type-medium);
}.market-company small,
.market-buyer small {
  display: block;
  margin-top: 3px;
  color: var(--market-quiet);
  font-size: 10px;
  line-height: 1.4;
}.market-buyer {
  display: flex;
  gap: 8px;
  align-items: center;
}.buyer-avatar {
  display: block;
  width: 26px;
  height: 26px;
  flex: none;
  border-radius: 50%;
  background-color: var(--market-paper);
  background-image: url('../art/market/contact-portraits.png');
  background-size: 400% 400%;
  background-position: var(--avatar-x, 0%) var(--avatar-y, 0%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--navy) 7%, transparent);
}.market-signal {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 4px 6px;
  border: 1px solid color-mix(in srgb, var(--violet) 12%, var(--white));
  border-radius: 4px;
  color: var(--violet);
  background: color-mix(in srgb, var(--lavender) 37%, var(--white));
  font-size: 10px;
  white-space: nowrap;
}.market-signal.is-warm {
  color: var(--navy);
  background: color-mix(in srgb, var(--peach) 75%, var(--white));
  border-color: color-mix(in srgb, var(--peach) 85%, var(--navy));
}.market-signal svg {
  width: 10px;
  height: 10px;
}.market-fit {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: var(--type-medium);
  font-variant-numeric: tabular-nums;
}.fit-meter {
  display: flex;
  gap: 2px;
  height: 15px;
  align-items: end;
}.fit-meter i {
  width: 3px;
  height: calc(5px + var(--bar) * 2px);
  background: var(--lavender);
  border-radius: 1px;
}.market-status {
  display: inline-flex;
  align-items: center;
  padding: 3px 6px;
  color: var(--market-quiet);
  background: var(--market-paper);
  border-radius: 4px;
  font-size: 10px;
}.market-status i {
  display: none;
}/* A single foreground card adds depth; the main illustration stays visually quiet. */.market-profile {
  position: absolute;
  right: -16px;
  bottom: 13px;
  z-index: 2;
  width: 296px;
  padding: 23px;
  border: 1px solid var(--market-rule);
  border-radius: 7px;
  background: var(--white);
  box-shadow: 7px 7px 0 color-mix(in srgb, var(--lavender) 24%, var(--white));
  pointer-events: none;
}.market-profile-heading {
  display: flex;
  gap: 10px;
  align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--market-rule);
}.market-profile-heading > div {
  flex: 1;
}.market-profile-heading h4 {
  margin: 0;
  font-size: 13px;
  font-weight: var(--type-semibold);
  letter-spacing: -0.015em;
}.market-profile-heading p {
  margin-top: 4px;
  color: var(--market-quiet);
  font-size: 10px;
}.market-profile-heading > svg {
  width: 15px;
  height: 15px;
  color: var(--violet);
}.market-profile-label {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  margin-top: 16px;
  color: var(--market-quiet);
  font-size: 10px;
}.market-profile-people {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0;
  list-style: none;
  margin: 15px 0 0;
}.market-profile-people li {
  display: flex;
  align-items: center;
  gap: 9px;
}.market-profile-people strong {
  display: block;
  font-size: 12px;
  font-weight: var(--type-medium);
}.market-profile-people small {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  color: var(--market-quiet);
}.market-profile-people li > svg {
  width: 13px;
  height: 13px;
  margin-left: auto;
  color: var(--violet);
}.market-profile-people .buyer-avatar {
  width: 34px;
  height: 34px;
}@keyframes market-profile-reveal {
  from {
    opacity: 0.65;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}@media (max-width: 1100px) {
  .market-app-heading {
    padding: 15px 18px;
  }
  .market-totals {
    padding-inline: 18px;
  }
  .market-table th:first-child,
  .market-table td:first-child {
    padding-left: 16px;
  }
  .market-table :is(th, td) {
    padding-inline: 9px;
  }
  .market-table col:nth-child(1) {
    width: 29%;
  }
  .market-table col:nth-child(2) {
    width: 29%;
  }
  .market-table col:nth-child(3) {
    width: 27%;
  }
  .market-table col:nth-child(4) {
    width: 15%;
  }
  .market-table col:nth-child(5),
  .market-table th:nth-child(5),
  .market-table td:nth-child(5) {
    display: none;
  }
  .company-icon {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
  }
  .market-company {
    gap: 8px;
  }
  .market-buyer > .buyer-avatar {
    display: none;
  }
  .market-profile {
    right: -7px;
    width: 265px;
    bottom: 4px;
    padding: 20px;
  }
}@media (max-width: 800px) {
  .market-capability {
    padding: 76px 0 70px;
  }
  .market-company strong {
    font-size: 10px;
  }
  .market-company small {
    font-size: 8px;
  }
  .market-signal {
    font-size: 8px;
    padding: 4px;
  }
  .market-fit {
    gap: 4px;
  }
  .fit-meter {
    gap: 1px;
  }
  .fit-meter i {
    width: 2px;
  }
  .market-profile {
    right: 0;
    width: 245px;
    bottom: 0;
  }
}@media (max-width: 600px) {
  .market-capability {
    padding: 62px 0 55px;
  }
  .market-window {
    border-width: 1px;
    border-radius: 7px;
  }
  .market-app-heading {
    padding: 13px 11px;
  }
  .market-app-heading h3 {
    font-size: 12px;
  }
  .market-app-heading > span {
    font-size: 8px;
  }
  .market-totals {
    gap: 12px;
    padding: 9px 11px;
    font-size: 9px;
  }
  .market-table col:nth-child(1) {
    width: 50%;
  }
  .market-table col:nth-child(3) {
    width: 35%;
  }
  .market-table col:nth-child(4) {
    width: 15%;
  }
  .market-table col:nth-child(2),
  .market-table th:nth-child(2),
  .market-table td:nth-child(2) {
    display: none;
  }
  .market-table :is(th, td) {
    padding-inline: 5px;
  }
  .market-table th:first-child,
  .market-table td:first-child {
    padding-left: 10px;
  }
  .market-table th {
    font-size: 9px;
  }
  .market-table td {
    height: 53px;
  }
  .market-company {
    gap: 7px;
    min-height: 42px;
  }
  .company-icon {
    flex-basis: 26px;
    width: 26px;
    height: 26px;
  }
  .company-icon img {
    max-width: 22px;
    max-height: 22px;
  }
  .market-company strong {
    font-size: 10px;
  }
  .market-company small {
    font-size: 8px;
  }
  .market-signal {
    white-space: normal;
    line-height: 1.4;
    font-size: 8px;
    padding: 4px;
  }
  .market-signal svg {
    display: none;
  }
  .market-fit {
    font-size: 10px;
  }
  .fit-meter {
    display: none;
  }
  .market-profile {
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% - 24px);
    max-width: 310px;
    margin: 18px 0 0 auto;
    padding: 20px;
    pointer-events: auto;
  }
}@media (prefers-reduced-motion: reduce) {
  .market-capability *,
  .market-capability *::before,
  .market-capability *::after {
    animation: none !important;
    transition: none !important;
  }
}.market-profile.is-updating {
  animation: market-profile-reveal 180ms ease-out;
}/* outcome-study.css *//* One fixed heading and contact anchor the outcome sequence. *//* A real thread structure makes the message and its reply recognizable at a glance. */.email-icon {
  width: 17px;
  height: 17px;
  flex: none;
  stroke: var(--violet);
  stroke-width: 1.2;
}/* The reply plugs into GTMatiq, then into the chosen CRM. */@keyframes wire-transfer {
  0% {
    stroke-dashoffset: 100;
    opacity: 0;
  }
  12%,
  85% {
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}/* A compact report closes the loop. *//* Keep the complete composition inside generous viewport margins. *//* case-studies.css *//* Customer evidence follows the same type, whitespace and plotted surfaces as the process. */.customer-studies {
  padding: 45px 0 100px;
  font-family: var(--type-family);
}@media (max-width: 700px) {
  .customer-studies {
    padding: 10px 0 60px;
  }
}/* calm.css *//* October 12 direction: Telli reference proportions, expressed with GTMatiq's
   existing palette and local Pretendard. Last stylesheet by design, so this
   visual study can be adjusted independently of the process interactions. */body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--calm-font);
  font-size: 15px;
}button,
summary {
  font-family: var(--calm-font);
}/* A smaller, centered introduction over a softly faded static landscape. */.terrain-hero {
  height: auto;
  min-height: 560px;
  max-height: none;
  background: var(--paper);
  color: var(--ink);
}/* Original terrain, softly framed rather than used as a full-bleed background.
   The paper veil keeps dark text legible while the lower landscape stays visible. */.hero-atmosphere {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: min(1040px, 120%);
  height: 470px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  border-radius: 48px;
  mask-image:
    linear-gradient(90deg, transparent, black 15%, black 85%, transparent),
    linear-gradient(transparent, black 20%, black 78%, transparent),
    radial-gradient(ellipse at center, black 62%, transparent 100%);
  mask-composite: intersect;
}.hero-atmosphere img {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 70%;
  opacity: 0.9;
}.hero-atmosphere .terrain-glitch {
  z-index: 1;
  opacity: 0.9;
}.hero-atmosphere::after {
  z-index: 2;
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    var(--paper),
    color-mix(in srgb, var(--paper) 78%, transparent) 20%,
    color-mix(in srgb, var(--paper) 61%, transparent) 44%,
    color-mix(in srgb, var(--paper) 3.5%, transparent) 76%,
    transparent
  );
}.terrain-nav {
  padding-block: 20px;
  min-height: 80px;
}.terrain-wordmark {
  font: 600 23px/1 var(--calm-font);
  letter-spacing: -0.045em;
  gap: 9px;
}.terrain-wordmark svg {
  width: 23px;
  height: 23px;
}.book-call {
  min-height: 44px;
  gap: 14px;
  padding: 0 21px;
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  color: var(--ink);
  background: var(--white);
  font-size: 13px;
  font-weight: var(--type-medium);
  box-shadow: 0 2px 5px color-mix(in srgb, var(--navy) 3%, transparent);
  transition:
    background 180ms ease,
    border-color 180ms ease;
}.book-call::before,
.book-call::after {
  content: none;
}.book-call:hover,
.book-call:active {
  transform: none;
  background: var(--soft);
  border-color: color-mix(in srgb, var(--violet) 30%, var(--white));
}.book-call:focus-visible {
  outline-color: var(--violet);
}.terrain-nav .book-call {
  min-height: 40px;
  font-size: 12px;
  padding-inline: 17px;
}.terrain-nav .book-call svg {
  width: 15px;
  height: 15px;
}.hero-statement {
  flex: none;
  padding: 75px 24px 180px;
}.terrain-hero h1 {
  font: 400 clamp(38px, 4vw, 54px)/1.1 var(--calm-font);
  letter-spacing: -0.045em;
  max-width: 670px;
}.hero-lead {
  max-width: 450px;
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--navy);
}.hero-actions {
  margin-top: 30px;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 15px;
}.hero-actions .book-call {
  padding-inline: 25px;
  min-height: 46px;
}.hero-method {
  font-size: 12px;
  color: var(--ink);
  background: color-mix(in srgb, var(--paper) 88%, transparent);
  border-radius: var(--radius-pill);
  padding: 6px 12px;
  text-underline-offset: 4px;
}.hero-method:hover {
  text-decoration: underline;
}/* Quiet evidence: compact logos, fine rules, no registration marks. */.customer-grid {
  padding-block: 0 44px;
}.customer-grid-heading {
  border: 0;
  min-height: 60px;
  font-size: 12px;
  color: var(--muted);
}.customer-grid-logos li {
  height: 90px;
}.customer-grid-logos img {
  width: calc(var(--logo-width, 145px) * 0.8);
  max-height: 42px;
}.grid-corner,
.customer-grid-logos li::before {
  display: none;
}/* One type family throughout, retaining hierarchy without heavy display type. */body
  :is(
    h1,
    h2,
    h3,
    .fit-criteria dt,
    .testimonial-voice blockquote,
    .team-photo-placeholder > span,
    .mini-wordmark,
    .step-number
  ) {
  font-family: var(--calm-font);
  font-weight: var(--type-regular);
}body
  :is(
    .point-of-view,
    .chapter-heading,
    .market-heading,
    .study-copy,
    .support-heading,
    .testimonials-heading,
    .process-heading,
    .fit-intro,
    .team-heading,
    .faq-heading,
    .closing-invitation,
    .playbooks-heading
  )
  h2 {
  font-size: var(--calm-heading);
  line-height: 1.18;
  letter-spacing: -0.035em;
}body h3 {
  line-height: 1.3;
  letter-spacing: -0.02em;
}.market-capability {
  background: transparent;
}.market-window,
.market-profile {
  border-radius: 14px;
  box-shadow: var(--calm-shadow);
}.team-photo {
  border-radius: 14px;
}.team-person h3 {
  font-size: 18px;
}/* The closing invitation belongs to the same soft page, not a second hero. */.landscape-closing {
  min-height: 0;
  background: var(--soft);
  color: var(--ink);
}.landscape-closing::after {
  content: none;
}.closing-invitation {
  padding-block: 90px 75px;
}.closing-invitation > p {
  font-size: 15px;
  color: var(--muted);
  max-width: 470px;
}@media (max-width: 700px) {
  :root {
    --gutter: 24px;
    --calm-heading: clamp(28px, 7.4vw, 34px);
  }
  .terrain-hero {
    min-height: 520px;
  }
  .terrain-nav {
    padding-block: 18px;
    gap: 12px;
  }
  .terrain-wordmark {
    font-size: 21px;
  }
  .hero-statement {
    padding: 62px 24px 150px;
  }
  .terrain-hero h1 {
    font-size: clamp(33px, 8.5vw, 44px);
    line-height: 1.14;
  }
  .hero-lead {
    max-width: 360px;
    font-size: 15px;
  }
  .hero-atmosphere {
    height: 410px;
    width: 150%;
  }
  .customer-grid {
    padding-bottom: 20px;
  }
  .customer-grid-logos li {
    height: 80px;
  }
  .customer-grid-logos img {
    max-height: 36px;
  }
  .closing-invitation {
    padding-block: 65px 55px;
  }
}@media (prefers-reduced-motion: reduce) {
  .book-call {
    transition: none;
  }
}/* Early customer proof, directly beneath the unchanged customer logo field. */.proof-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 7vw, 96px);
  align-items: start;
  padding-block: 12px 24px;
}.proof-intro-copy h2 {
  font: 400 clamp(23px, 1.8vw, 26px)/1.35 var(--calm-font);
  letter-spacing: -0.035em;
  text-wrap: pretty;
}.proof-intro-copy h2 {
  max-width: 440px;
}.proof-intro-quote {
  width: 100%;
  max-width: 400px;
  justify-self: end;
}.proof-stories-link {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  min-height: 44px;
  margin-top: 17px;
  font-size: 13px;
}.proof-link-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--soft);
  font-size: 18px;
  transition: background 160ms ease;
}.proof-stories-link:hover .proof-link-icon {
  background: var(--lavender);
}.proof-intro-quote blockquote {
  font: 400 18px/1.55 var(--calm-font);
  letter-spacing: -0.015em;
  text-wrap: pretty;
}.proof-intro-quote figcaption {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  font-size: 12px;
  line-height: 1.5;
}.proof-person-photo {
  width: 36px;
  height: 36px;
  flex: none;
  border-radius: 50%;
  object-fit: cover;
  object-position: 80% center;
}.proof-intro-quote figcaption strong {
  display: block;
  color: var(--ink);
  font-weight: var(--type-medium);
}.proof-intro-quote figcaption span > span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
}@media (max-width: 700px) {
  .proof-intro {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-block: 20px 12px;
  }
  .proof-intro-copy h2 {
    font-size: 23px;
  }
  .proof-intro-quote {
    max-width: none;
    justify-self: start;
  }
  .proof-intro-quote blockquote {
    font-size: 18px;
  }
  .proof-stories-link {
    margin-top: 14px;
  }
}@media (prefers-reduced-motion: reduce) {
  .proof-link-icon {
    transition: none;
  }
}/* Typography hierarchy: medium sections, regular supporting titles. */@font-face {
  font-family: 'Pretendard Std';
  src: url('../art/fonts/PretendardStd-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}html body :is(h1, h2, h3, h4, .story-card-title, .fit-criteria dt) {
  font-weight: var(--type-regular);
}html body main :is(.story-shell, .proof-intro, .closing-invitation) h2 {
  font-weight: var(--type-medium);
}html body .terrain-hero h1 {
  font-weight: var(--type-semibold);
}/* capability-cards.css *//* Five quiet explanations. Native document flow, shared columns and insets.
   Illustration components are reused from the earlier process study. */.capability-cards {
  --capability-surface: color-mix(in srgb, var(--navy) 3%, var(--paper));
  padding: 76px 0 28px;
  background: transparent;
  scroll-margin-top: 40px;
}.capabilities-heading {
  max-width: 620px;
  margin: 0 auto 42px;
  text-align: center;
}.capabilities-heading h2 {
  font: 400 clamp(30px, 3vw, 38px)/1.2 var(--calm-font);
  letter-spacing: -0.035em;
}.capabilities-heading p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.65;
  margin-top: 16px;
}.capabilities-list {
  display: grid;
  gap: 24px;
}.capability-card {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.35fr);
  align-items: center;
  gap: 36px;
  padding: 28px;
  background: var(--capability-surface);
  border: 1px solid var(--line);
  border-radius: 20px;
  scroll-margin-top: 32px;
}.capability-copy {
  padding: 8px 8px 8px 10px;
}.capability-copy h3 {
  max-width: 330px;
  font: 400 clamp(26px, 2.4vw, 32px)/1.22 var(--calm-font);
  letter-spacing: -0.03em;
  text-wrap: pretty;
}.capability-copy p {
  max-width: 340px;
  margin-top: 20px;
  font-size: 15px;
  line-height: 1.75;
  color: var(--muted);
}.capability-art {
  --card-tint: color-mix(in srgb, var(--lavender) 22%, var(--white));
  position: relative;
  min-width: 0;
  min-height: 516px;
  margin: 0;
  padding: 24px;
  border-radius: 14px;
  background: var(--card-tint);
  display: flex;
  flex-direction: column;
  justify-content: center;
}.capability-campaign .capability-art {
  --card-tint: color-mix(in srgb, var(--peach) 30%, var(--white));
}.capability-handover .capability-art {
  --card-tint: color-mix(in srgb, var(--lavender) 15%, var(--paper));
}.capability-learning .capability-art {
  --card-tint: color-mix(in srgb, var(--peach) 18%, var(--paper));
}.capability-art :is(.market-window, .market-profile, .email-thread, .crm-board, .focus-message) {
  box-shadow: 0 5px 18px -10px color-mix(in srgb, var(--navy) 16%, transparent);
}/* Market: a readable table and its selected contact, not a full application. */.card-market-art .market-app-heading {
  padding: 12px 14px;
}.card-market-art .market-app-heading h3 {
  font-size: 12px;
}.card-market-art .market-app-heading > span {
  font-size: 9px;
}.card-market-art .market-totals {
  padding: 9px 14px;
  gap: 16px;
  font-size: 10px;
}.card-market-art .market-table :is(col, th, td):nth-child(2),
.card-market-art .market-table :is(col, th, td):nth-child(5) {
  display: none;
}.card-market-art .market-table col:nth-child(1) {
  width: 47%;
}.card-market-art .market-table col:nth-child(3) {
  width: 36%;
}.card-market-art .market-table col:nth-child(4) {
  width: 17%;
}.card-market-art .market-table th {
  height: 30px;
  font-size: 9px;
}.card-market-art .market-table td {
  height: 46px;
}.card-market-art .market-table :is(th, td) {
  padding: 4px 9px;
}.card-market-art .market-table :is(th, td):first-child {
  padding-left: 14px;
}.card-market-art .market-company {
  gap: 8px;
}.card-market-art .market-company strong {
  font-size: 11px;
}.card-market-art .market-company small {
  font-size: 9px;
}.card-market-art .market-signal {
  white-space: normal;
  font-size: 9px;
  line-height: 1.3;
}.card-market-art .market-fit {
  font-size: 10px;
  gap: 5px;
}.card-market-art .fit-meter {
  gap: 1px;
}.card-market-art .fit-meter i {
  width: 2px;
}.card-market-art .market-profile {
  position: relative;
  inset: auto;
  width: 90%;
  margin: -1px 0 0 auto;
  padding: 14px;
  border-radius: 0 0 12px 12px;
}.card-market-art .market-profile-heading {
  padding-bottom: 9px;
}.card-market-art .market-profile-heading h4 {
  font-size: 11px;
}.card-market-art .market-profile-heading p {
  font-size: 9px;
}.card-market-art .market-profile-label {
  margin-top: 10px;
  font-size: 9px;
}.card-market-art .market-profile-people {
  flex-direction: row;
  gap: 14px;
  margin-top: 10px;
}.card-market-art .market-profile-people li {
  min-width: 0;
  flex: 1;
  gap: 7px;
}.card-market-art .market-profile-people li > svg {
  display: none;
}.card-market-art .market-profile-people strong {
  font-size: 10px;
}.card-market-art .market-profile-people small {
  font-size: 9px;
}.card-market-art .market-profile-people .buyer-avatar {
  width: 26px;
  height: 26px;
}/* Campaign: knowledge sources above one hypothesis and one concrete message. *//* Handover: keep the reply, pipeline and integrations; remove the switchboard. *//* Learning: one report sheet, with its insight attached to the same surface. */@media (max-width: 1000px) {
  .capability-card {
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    padding: 20px;
    gap: 24px;
  }
  .capability-copy {
    padding: 4px;
  }
  .capability-copy h3 {
    font-size: 27px;
  }
  .capability-art {
    padding: 18px;
  }
  .card-market-art .market-profile {
    width: 100%;
  }
}@media (max-width: 800px) {
  .capability-cards {
    padding-top: 60px;
  }
  .capabilities-heading {
    margin-bottom: 30px;
  }
  .capability-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    padding: 24px;
  }
  .capability-copy {
    padding: 0;
  }
  .capability-copy h3,
  .capability-copy p {
    max-width: 560px;
  }
  .capability-copy p {
    margin-top: 14px;
  }
  .capability-art {
    min-height: 0;
    padding: 24px;
  }
}@media (max-width: 480px) {
  .capabilities-heading {
    text-align: left;
  }
  .capabilities-heading h2 {
    font-size: 29px;
  }
  .capabilities-heading p {
    font-size: 14px;
  }
  .capability-card {
    padding: 20px 14px 14px;
    gap: 22px;
    border-radius: 16px;
  }
  .capability-copy {
    padding-inline: 4px;
  }
  .capability-copy h3 {
    font-size: 26px;
  }
  .capability-copy p {
    font-size: 14px;
    line-height: 1.7;
  }
  .capability-art {
    padding: 14px 10px;
    border-radius: var(--radius-card);
  }
  .card-market-art .market-table :is(col, th, td):nth-child(4) {
    display: none;
  }
  .card-market-art .market-table col:nth-child(1) {
    width: 56%;
  }
  .card-market-art .market-table col:nth-child(3) {
    width: 44%;
  }
  .card-market-art .market-table :is(th, td):first-child {
    padding-left: 9px;
  }
  .card-market-art .market-app-heading {
    padding-inline: 10px;
  }
  .card-market-art .market-totals {
    padding-inline: 10px;
    gap: 10px;
    font-size: 9px;
    flex-wrap: wrap;
  }
  .card-market-art .market-company {
    gap: 6px;
  }
  .card-market-art .market-company small {
    font-size: 8px;
  }
  .card-market-art .market-profile {
    padding: 12px;
  }
  .card-market-art .market-profile-people {
    flex-direction: column;
  }
}/* Multichannel outreach: one contact, two equally weighted message surfaces. */.capability-outreach .capability-art {
  --card-tint: color-mix(in srgb, var(--lavender) 20%, var(--paper));
}.card-outreach-art {
  gap: 24px;
}.outreach-contact {
  display: flex;
  align-items: center;
  gap: 12px;
}.outreach-contact .buyer-avatar {
  width: 36px;
  height: 36px;
}.outreach-contact strong {
  display: block;
  font-size: 13px;
  font-weight: var(--type-medium);
}.outreach-contact div > span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-top: 4px;
}.outreach-messages {
  display: grid;
  gap: 16px;
}.outreach-message {
  background: var(--white);
  border: 1px solid var(--market-rule);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--calm-shadow);
}.outreach-channel {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 11px 16px;
  border-bottom: 1px solid var(--market-rule);
  font-size: 11px;
  color: var(--muted);
}.outreach-linkedin {
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 3px;
  background: var(--violet);
  color: var(--white);
  font: 600 12px/1 var(--calm-font);
}.outreach-message-copy {
  padding: 17px;
}.outreach-subject {
  display: block;
  font-size: 11px;
  color: var(--muted);
}.outreach-message-copy p {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.65;
}@media (max-width: 480px) {
  .card-outreach-art {
    gap: 20px;
  }
  .outreach-contact {
    gap: 9px;
  }
  .outreach-contact div > span {
    font-size: 10px;
  }
  .outreach-message-copy {
    padding: 14px;
  }
  .outreach-message-copy p {
    font-size: 13px;
  }
}/* Soft card surfaces; textured color stays behind the product illustrations. */.capability-card .capability-art {
  --card-tint: var(--capability-surface);
}.card-market-art,
.card-outreach-art {
  isolation: isolate;
}.card-market-art {
  background:
    radial-gradient(
      ellipse at 12% 12%,
      color-mix(in srgb, var(--peach) 85%, transparent),
      transparent 65%
    ),
    radial-gradient(
      ellipse at 88% 90%,
      color-mix(in srgb, var(--navy) 22%, var(--lavender)),
      transparent 78%
    ),
    var(--lavender);
}.card-outreach-art {
  background:
    radial-gradient(
      ellipse at 92% 8%,
      color-mix(in srgb, var(--peach) 90%, transparent),
      transparent 65%
    ),
    radial-gradient(
      ellipse at 10% 95%,
      color-mix(in srgb, var(--navy) 24%, var(--lavender)),
      transparent 78%
    ),
    var(--lavender);
}:is(.card-market-art, .card-outreach-art)::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0.32;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23888' filter='url(%23grain)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
}.card-outreach-art .outreach-contact {
  padding: 12px;
  border: 1px solid var(--market-rule);
  border-radius: 12px;
  background: var(--white);
}/* section-spacing.css *//* Page-level rhythm only. Each direct section is a single content group;
   card gaps, text spacing, illustration insets and the hero composition stay local. */main > section:not(.terrain-hero) {
  padding-block: calc(var(--section-before, 0px) * var(--section-spacing-scale))
    calc(var(--section-after, 0px) * var(--section-spacing-scale));
}.customer-grid {
  --section-before: 0px;
  --section-after: 44px;
}.proof-intro {
  --section-before: 12px;
  --section-after: 24px;
}.capability-cards {
  --section-before: 76px;
  --section-after: 28px;
}.customer-studies {
  --section-before: 45px;
  --section-after: 100px;
}.working-process {
  --section-before: 25px;
  --section-after: 100px;
}.team-section {
  --section-before: 100px;
  --section-after: 25px;
}.faq-section {
  --section-before: 110px;
  --section-after: 110px;
}@media (max-width: 800px) {
  .capability-cards {
    --section-before: 60px;
  }
}@media (max-width: 700px) {
  .customer-grid {
    --section-after: 20px;
  }
  .proof-intro {
    --section-before: 20px;
    --section-after: 12px;
  }
  .customer-studies {
    --section-before: 10px;
    --section-after: 60px;
  }
}@media (max-width: 600px) {
  .working-process {
    --section-before: 15px;
    --section-after: 60px;
  }
  .team-section {
    --section-before: 65px;
    --section-after: 0px;
  }
  .faq-section {
    --section-before: 65px;
    --section-after: 70px;
  }
}/* case-gallery.css *//* Two lead stories, then a browsable interview shelf. */.stories-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 32px;
}.stories-heading h2 {
  font: 400 var(--calm-heading)/1.2 var(--calm-font);
  letter-spacing: -0.035em;
  max-width: 590px;
}.stories-heading p {
  margin-top: 15px;
  font-size: 15px;
  color: var(--muted);
  line-height: 1.65;
}.stories-heading > a {
  flex-shrink: 0;
  font-size: 12px;
  padding-block: 10px;
  color: var(--muted);
}.stories-heading > a span {
  margin-left: 8px;
}.story-card {
  min-width: 0;
}.story-open {
  display: block;
  text-align: left;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ink);
  cursor: pointer;
}.story-thumbnail {
  display: block;
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 16px;
  background: var(--soft);
  isolation: isolate;
}.story-thumbnail::after {
  content: '';
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(transparent, rgb(0 0 0 / 0.48));
  z-index: 0;
}.story-thumbnail img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 80% center;
  transition: transform 250ms ease;
}.story-open:hover .story-thumbnail img {
  transform: scale(1.025);
}.story-play {
  position: absolute;
  z-index: 1;
  left: 20px;
  bottom: 20px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgb(255 255 255 / 0.7);
  border-radius: 50%;
  color: var(--color-white);
  background: var(--color-navy);
  font-size: 13px;
  padding-left: 2px;
}.story-video-label {
  position: absolute;
  z-index: 1;
  left: 74px;
  bottom: 27px;
  background: var(--color-navy);
  padding: 5px 9px;
  border-radius: var(--radius-pill);
  color: var(--color-white);
  font-size: 12px;
}.story-card-copy {
  display: block;
  padding: 19px 3px 0;
}.story-company {
  display: block;
  color: var(--muted);
  font-size: 12px;
}.story-card-title {
  display: block;
  margin-top: 9px;
  font-size: 23px;
  line-height: 1.3;
  letter-spacing: -0.025em;
  text-wrap: pretty;
}.story-person {
  display: block;
  margin-top: 12px;
  font-size: 11px;
  line-height: 1.6;
  color: var(--muted);
}.stories-more-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin: 48px 0 20px;
  scroll-margin-top: 36px;
}.stories-more-heading h3 {
  font-size: 17px;
}.stories-controls {
  display: flex;
  gap: 8px;
}.stories-controls button {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}.stories-controls button:disabled {
  opacity: 0.3;
  cursor: default;
}.stories-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 48px) / 3.2);
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 3px 3px 20px;
  scrollbar-width: thin;
  scrollbar-color: var(--line) transparent;
}.stories-track .story-card {
  scroll-snap-align: start;
}.stories-track .story-card-title {
  font-size: 18px;
}.stories-track .story-play {
  width: 34px;
  height: 34px;
  left: 14px;
  bottom: 14px;
  font-size: 11px;
}.stories-track .story-video-label {
  left: 58px;
  bottom: 25px;
  font-size: 10px;
}.stories-footnote {
  font-size: 11px;
  color: var(--muted);
  margin-top: 18px;
}:is(.story-open, .stories-controls button, .stories-track, .case-dialog button):focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 3px;
}@media (max-width: 700px) {
  .stories-heading {
    align-items: start;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 24px;
  }
  .story-card-title {
    font-size: 22px;
  }
  .stories-track {
    grid-auto-columns: 82%;
    gap: 16px;
  }
  .stories-more-heading {
    margin-top: 36px;
  }
}@media (prefers-reduced-motion: reduce) {
  .story-thumbnail img {
    transition: none;
  }
}/* Interview editorial: generous image, clear title, two concise reading columns. *//* Logo-led case selection, with a single shared stage. */.stories-heading h2 {
  font-size: clamp(27px, 2.6vw, 32px);
  letter-spacing: -0.018em;
  line-height: 1.25;
}.stories-heading {
  margin-bottom: 30px;
}.stories-heading p {
  font-size: 14px;
  margin-top: 12px;
}.stories-spotlight {
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
}.stories-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}.stories-tab {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 84px;
  padding: 20px;
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  cursor: pointer;
}.stories-tab:last-child {
  border-right: 0;
}.stories-tab img {
  display: block;
  max-width: 128px;
  width: 100%;
  height: 30px;
  object-fit: contain;
  filter: brightness(0);
  opacity: 0.45;
  transition: opacity 150ms ease;
}.stories-tab[aria-selected='true'] {
  background: var(--soft);
}.stories-tab[aria-selected='true']::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 28%;
  right: 28%;
  height: 2px;
  background: var(--violet);
}.stories-tab[aria-selected='true'] img,
.stories-tab:hover img {
  opacity: 1;
}.story-panel {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  align-items: center;
  background: color-mix(in srgb, var(--navy) 3%, var(--paper));
  min-height: 340px;
}.story-panel[hidden] {
  display: none;
}.story-spotlight-copy {
  padding: 36px;
}html body .customer-studies .story-spotlight-copy h3 {
  font-weight: var(--type-medium);
  font-size: clamp(25px, 2.4vw, 30px);
  line-height: 1.25;
  letter-spacing: -0.018em;
  text-wrap: pretty;
}.story-spotlight-summary {
  margin-top: 16px;
  max-width: 360px;
  font-size: 14px;
  line-height: 1.65;
  color: var(--muted);
}.story-spotlight-copy .story-person {
  margin-top: 20px;
  font-size: 11px;
}.story-watch {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 12px;
  font-weight: var(--type-medium);
  cursor: pointer;
  min-height: 30px;
}.story-watch span {
  font-size: 10px;
}.story-watch:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}.story-spotlight-media {
  display: block;
  position: relative;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}.story-spotlight-media img {
  display: block;
  width: 100%;
  height: auto;
}.story-spotlight-media .story-play {
  background: var(--color-navy);
}html body .customer-studies .story-card-title {
  font-weight: var(--type-medium);
  font-size: 17px;
  letter-spacing: -0.01em;
  line-height: 1.4;
}html body .customer-studies .stories-more-heading h3 {
  font-weight: var(--type-medium);
  font-size: 16px;
  letter-spacing: 0;
}:is(.stories-tab, .story-watch, .story-spotlight-media, .story-panel):focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: -4px;
}@media (max-width: 700px) {
  .stories-tab {
    min-height: 65px;
    padding: 13px 9px;
  }
  .stories-tab img {
    height: 23px;
  }
  .stories-tab[aria-selected='true']::after {
    left: 15%;
    right: 15%;
  }
  .story-panel {
    grid-template-columns: 1fr;
  }
  .story-spotlight-copy {
    padding: 26px 24px;
  }
  html body .customer-studies .story-spotlight-copy h3 {
    font-size: 26px;
  }
  .story-spotlight-summary {
    font-size: 14px;
  }
  .story-spotlight-copy .story-person {
    min-height: 36px;
  }
  .story-spotlight-media {
    align-self: end;
  }
}@media (prefers-reduced-motion: reduce) {
  .stories-tab img {
    transition: none;
  }
}/* The overview is a quiet navigation link; the section keeps one primary CTA. */.stories-heading > .stories-overview-link {
  align-self: flex-start;
  margin-top: 3px;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: 12px;
}.stories-heading > .stories-overview-link span {
  margin-left: 0;
  transition: transform 240ms cubic-bezier(0.22, 0.72, 0.18, 1);
}.stories-overview-link:hover span {
  transform: translate(2px, -2px);
}@media (max-width: 700px) {
  .stories-heading > .stories-overview-link {
    margin-top: 0;
  }
}/* sales-relief.css *//* A concrete before/after: team chatter becomes three useful workflows. */.sales-relief {
  --section-before: 30px;
  --section-after: 80px;
}.relief-problem {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 80px;
}.relief-problem-copy h2,
.relief-heading h2 {
  font-size: clamp(27px, 2.6vw, 32px);
  line-height: 1.25;
  letter-spacing: -0.018em;
  text-wrap: pretty;
}.relief-problem-copy > p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
  margin-top: 22px;
}.routine-chat {
  margin: 0;
  padding: 24px 0;
  display: grid;
  gap: 14px;
  position: relative;
}.routine-chat::before {
  content: '';
  position: absolute;
  inset: 5% -5%;
  z-index: -1;
  background: radial-gradient(ellipse, var(--soft), transparent 70%);
}.routine-chat figcaption {
  text-align: center;
  color: var(--muted);
  font-size: 10px;
  margin-top: 3px;
}.relief-bridge {
  width: 1px;
  height: 80px;
  background: linear-gradient(transparent, var(--lavender));
  margin: 32px auto;
}.relief-heading {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}.relief-heading p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
  margin-top: 16px;
}.relief-tabs {
  display: flex;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin: 30px auto 32px;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  padding: 4px;
  gap: 4px;
}.relief-tabs button {
  padding: 11px 20px;
  border: 0;
  border-radius: var(--radius-pill);
  color: var(--muted);
  background: transparent;
  font-size: 12px;
  white-space: nowrap;
  cursor: pointer;
}.relief-tabs button[aria-selected='true'] {
  background: var(--white);
  color: var(--ink);
  box-shadow: 0 2px 5px color-mix(in srgb, var(--navy) 8%, transparent);
}.relief-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}.relief-panel[hidden] {
  display: none;
}.relief-card {
  min-width: 0;
  border-radius: 16px;
  overflow: hidden;
  background: color-mix(in srgb, var(--navy) 3%, var(--paper));
  border: 1px solid var(--line);
}.relief-art {
  display: grid;
  place-items: center;
  height: 220px;
  padding: 24px;
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(ellipse at 10% 0%, var(--peach), transparent 75%),
    linear-gradient(140deg, var(--soft), var(--lavender));
}.relief-art::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.22;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
}.relief-card-copy {
  padding: 22px;
}html body .sales-relief .relief-card h3 {
  font-size: 18px;
  font-weight: var(--type-medium);
  line-height: 1.35;
  letter-spacing: -0.01em;
  min-height: 49px;
}.relief-card-copy p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
  margin-top: 12px;
}.relief-art > div {
  width: 100%;
  border-radius: var(--radius-card);
  background: var(--white);
  padding: 17px;
  box-shadow: var(--calm-shadow);
  font-size: 11px;
}.relief-sheet-label,
.relief-mini-mail > span,
.relief-calendar > span {
  display: block;
  font-size: 10px;
  color: var(--muted);
  margin-bottom: 14px;
}.relief-data-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}.relief-status {
  color: var(--violet);
  font-size: 9px;
}.relief-mini-mail > p {
  font-size: 13px;
  line-height: 1.5;
}.relief-mail-lines {
  margin-top: 14px;
  display: grid;
  gap: 5px;
}.relief-mail-lines i {
  height: 4px;
  background: var(--soft);
  border-radius: 2px;
}.relief-mail-lines i:last-child {
  width: 70%;
}.relief-reply {
  margin-top: 15px;
  padding: 10px;
  border-radius: 6px;
  background: var(--soft);
  line-height: 1.5;
  color: var(--violet);
  font-size: 10px;
}.relief-calendar > div {
  display: flex;
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}.relief-calendar time {
  color: var(--violet);
}.relief-calendar p {
  font-size: 11px;
}.relief-calendar small {
  display: block;
  color: var(--muted);
  font-size: 9px;
  margin-top: 5px;
}.relief-channel-flow {
  text-align: center;
}.relief-channel-flow > div {
  display: flex;
  gap: 10px;
  margin: 20px 0 15px;
}.relief-channel-flow > div span {
  flex: 1;
  padding: 10px 5px;
  background: var(--soft);
  border-radius: 6px;
  color: var(--violet);
}.relief-channel-flow p {
  color: var(--muted);
  line-height: 1.6;
  font-size: 10px;
}.relief-crm-map {
  text-align: center;
}.relief-crm-map > div {
  margin: 14px 0;
  color: var(--violet);
}.relief-crm-fields {
  display: flex;
  gap: 5px;
  justify-content: center;
}.relief-crm-fields span {
  padding: 7px;
  border-radius: 5px;
  background: var(--soft);
  font-size: 9px;
}.relief-crm-map strong {
  font-weight: var(--type-medium);
}:is(.relief-tabs button, .relief-panel):focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 3px;
}@media (max-width: 900px) {
  .relief-problem {
    gap: 36px;
  }
  .relief-panel {
    gap: 16px;
  }
  .relief-art {
    padding: 14px;
  }
  .relief-card-copy {
    padding: 18px;
  }
}@media (max-width: 700px) {
  .sales-relief {
    --section-before: 20px;
    --section-after: 56px;
  }
  .relief-problem {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .relief-problem-copy {
    grid-row: 1;
  }
  .routine-chat {
    padding: 12px 0;
  }
  .relief-bridge {
    height: 48px;
    margin: 24px auto;
  }
  .relief-panel {
    grid-template-columns: 1fr;
  }
  .relief-tabs {
    border-radius: 12px;
    width: 100%;
    gap: 2px;
  }
  .relief-tabs button {
    flex: 1;
    min-width: 0;
    padding: 10px 5px;
    white-space: normal;
    overflow-wrap: anywhere;
    font-size: 11px;
    border-radius: 9px;
  }
  .relief-art {
    height: 220px;
    padding: 24px 32px;
  }
  .relief-art > div {
    max-width: 300px;
  }
  html body .sales-relief .relief-card h3 {
    min-height: 0;
  }
  .relief-card-copy {
    padding: 22px;
  }
}/* App-specific message anatomy, inside two restrained illustrative windows.
   Reference: Slack quick-start guide and Microsoft Teams send/read-message guide. */.routine-chat {
  gap: 18px;
  padding: 0;
  min-width: 0;
}.routine-chat::before {
  content: none;
}.routine-window {
  overflow: hidden;
  border: 0;
  border-radius: var(--card-radius);
  box-shadow: var(--calm-shadow);
  color: var(--navy);
}.routine-slack {
  background: var(--white);
  margin-right: 24px;
  padding-bottom: 18px;
}.routine-window-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
}.routine-channel {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: var(--type-semibold);
}.routine-channel-hash {
  font-size: 20px;
  font-weight: var(--type-medium);
  color: var(--muted);
  line-height: 1;
}.routine-chevron {
  font-size: 14px;
  color: var(--muted);
}.routine-platform {
  font-size: 10px;
  color: var(--muted);
  white-space: nowrap;
}.routine-slack-message {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 17px 18px 0;
}.chat-avatar {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: none;
  border-radius: 5px;
  font-size: 10px;
  font-weight: var(--type-medium);
}.avatar-mara {
  background: var(--lavender);
  color: var(--navy);
}.avatar-lea {
  background: var(--peach);
  color: var(--navy);
}.chat-message-content {
  min-width: 0;
}.chat-message-meta {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 3px;
  font-size: 12px;
}.chat-message-meta strong {
  font-weight: var(--type-semibold);
}.chat-message-meta time {
  color: var(--muted);
  font-size: 10px;
}.chat-message-content p {
  font-size: 13px;
  line-height: 1.5;
}.chat-thread {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--violet);
  font-size: 10px;
  font-weight: var(--type-medium);
  margin-top: 9px;
}.chat-thread-avatar {
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 3px;
  background: var(--peach);
  color: var(--navy);
  font-size: 8px;
}.chat-thread-time {
  color: var(--muted);
  font-weight: var(--type-regular);
  margin-left: 3px;
}.chat-reaction {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--soft);
  border-radius: var(--radius-pill);
  padding: 2px 8px;
  font-size: 11px;
  margin-top: 8px;
}.chat-reaction > span {
  font-size: 10px;
}.routine-teams {
  margin-left: 24px;
  background: color-mix(in srgb, var(--lavender) 23%, var(--paper));
  padding-bottom: 18px;
}.routine-teams .routine-window-heading {
  padding-block: 12px;
  background: color-mix(in srgb, var(--white) 60%, var(--lavender));
}.teams-group-avatar {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--lavender);
  color: var(--violet);
}.teams-group-avatar svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.5;
}.routine-teams-message {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 14px 18px 0;
}.routine-teams .chat-avatar {
  border-radius: 50%;
  margin-top: 19px;
}.avatar-jonas {
  background: var(--lavender);
  color: var(--navy);
}.avatar-tom {
  background: var(--peach);
  color: var(--navy);
}.routine-teams .chat-message-meta {
  margin-bottom: 5px;
}.routine-teams .chat-message-meta strong {
  font-weight: var(--type-regular);
  font-size: 11px;
}.routine-teams .chat-message-content p {
  background: var(--white);
  border-radius: 4px 9px 9px;
  padding: 10px 12px;
}@media (max-width: 700px) {
  .routine-chat {
    padding: 0;
  }
  .routine-slack {
    margin-right: 12px;
  }
  .routine-teams {
    margin-left: 12px;
  }
  .routine-window-heading {
    padding-inline: 14px;
  }
  .routine-slack-message,
  .routine-teams-message {
    padding-inline: 14px;
  }
}/* lower-page.css *//* The last decisions: how we start, who does the work, and whether we fit. */.compact-process {
  --section-before: 30px;
  --section-after: 55px;
}.compact-heading {
  max-width: 640px;
  margin-bottom: 32px;
}.compact-heading h2,
.faq-section .faq-heading h2,
.closing-layout .closing-invitation h2 {
  font-size: clamp(27px, 2.6vw, 32px);
  line-height: 1.25;
  letter-spacing: -0.018em;
}.compact-heading > p {
  font-size: 14px;
  line-height: 1.65;
  color: var(--muted);
  margin-top: 16px;
}.start-steps {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  background: color-mix(in srgb, var(--navy) 3%, var(--paper));
}.start-steps > li {
  min-width: 0;
  padding: 24px;
}.start-steps > li + li {
  border-left: 1px solid var(--line);
}.start-visual {
  height: 160px;
  display: grid;
  place-items: center;
  padding: 12px;
}.start-visual > div {
  width: 100%;
  max-width: 225px;
  font-size: 11px;
}.start-brief {
  display: grid;
  gap: 7px;
}.start-brief > span {
  background: var(--white);
  border: 1px solid var(--line);
  padding: 9px 12px;
  border-radius: 6px;
}.start-brief i {
  font-size: 10px;
  color: var(--violet);
  font-style: normal;
  margin-top: 4px;
  text-align: right;
}.start-checks {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  padding: 10px 16px;
}.start-checks > span {
  display: flex;
  gap: 12px;
  padding: 10px 0;
}.start-checks i {
  color: var(--violet);
  font-style: normal;
}.start-loop {
  text-align: center;
}.start-loop > span {
  display: block;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 10px;
}.start-loop > div {
  padding: 7px;
  color: var(--violet);
  font-size: 10px;
}.start-step-copy {
  margin-top: 24px;
}.start-number {
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-bottom: 12px;
}html body .compact-process h3 {
  font-weight: var(--type-medium);
  font-size: 19px;
  line-height: 1.35;
  letter-spacing: -0.01em;
}.start-step-copy p {
  font-size: 13px;
  line-height: 1.75;
  color: var(--muted);
  margin-top: 13px;
}.start-continuity {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  padding-top: 24px;
}.start-continuity > div {
  display: flex;
  gap: 12px;
  align-items: center;
}.start-continuity img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}.start-continuity p {
  font-size: 12px;
  line-height: 1.65;
}.start-continuity span {
  display: block;
  color: var(--muted);
}.start-continuity strong {
  font-weight: var(--type-medium);
}.start-continuity > p {
  max-width: 260px;
  color: var(--muted);
}.team-section {
  --section-before: 45px;
  --section-after: 35px;
}.faq-section {
  --section-before: 55px;
  --section-after: 70px;
}.faq-section .faq-layout {
  grid-template-columns: 0.7fr 1.3fr;
  gap: 64px;
}.faq-section .faq-heading > p {
  font-size: 14px;
  margin-top: 16px;
  line-height: 1.65;
}.faq-section .faq-list summary {
  font-size: 15px;
  padding-block: 21px;
}.faq-section .faq-list details > div p {
  font-size: 14px;
  line-height: 1.75;
}.landscape-closing {
  --section-before: 0px;
  --section-after: 0px;
}.closing-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  padding-block: 80px;
  align-items: center;
}.closing-layout .closing-invitation {
  display: block;
  text-align: left;
  padding: 0;
  margin: 0;
}.closing-layout .closing-invitation h2 {
  max-width: 450px;
}.closing-layout .closing-invitation > p {
  margin: 22px 0 28px;
  font-size: 14px;
  line-height: 1.75;
  max-width: 410px;
}.closing-layout .book-call {
  background: var(--navy);
  color: var(--paper);
  border-color: var(--navy);
  min-height: 44px;
  font-size: 12px;
}.closing-layout .book-call:hover {
  background: var(--violet);
  border-color: var(--violet);
  color: var(--white);
}@media (max-width: 900px) {
  .start-steps > li {
    padding: 20px;
  }
  .start-visual {
    padding: 0;
  }
  .closing-layout {
    gap: 40px;
  }
}@media (max-width: 700px) {
  .compact-process {
    --section-before: 20px;
    --section-after: 35px;
  }
  .start-steps {
    grid-template-columns: 1fr;
  }
  .start-steps > li {
    display: grid;
    grid-template-columns: 1fr;
    padding: 26px;
  }
  .start-steps > li + li {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .start-step-copy {
    margin-top: 20px;
  }
  .start-continuity {
    align-items: start;
    flex-direction: column;
    gap: 16px;
  }
  .start-continuity > p {
    max-width: 100%;
  }
  .team-section {
    --section-before: 35px;
    --section-after: 25px;
  }
  .faq-section {
    --section-before: 35px;
    --section-after: 45px;
  }
  .faq-section .faq-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .closing-layout {
    grid-template-columns: 1fr;
    gap: 44px;
    padding-block: 56px;
  }
  .closing-fit {
    border-top: 1px solid var(--line);
    padding-top: 30px;
  }
}/* Replace the legacy mobile portrait/sidebar layout with simple profile tiles. *//* operations-foundation.css *//* Operational depth: two visual anchors, four quieter supporting capabilities. */.operations-foundation {
  --section-before: 30px;
  --section-after: 60px;
}.foundation-heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 80px;
  margin-bottom: 36px;
}.foundation-heading h2 {
  max-width: 430px;
  font-size: clamp(27px, 2.6vw, 32px);
  line-height: 1.25;
  letter-spacing: -0.018em;
}.foundation-heading > p {
  max-width: 420px;
  font-size: 14px;
  line-height: 1.75;
  color: var(--muted);
  padding-top: 4px;
}.foundation-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}.foundation-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--navy) 3%, var(--paper));
}.foundation-feature {
  grid-column: span 2;
}.foundation-art {
  height: 280px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}.foundation-crm-art {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(ellipse at 5% 5%, var(--peach), transparent 70%),
    linear-gradient(140deg, var(--soft), var(--lavender));
}.foundation-crm-art::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.24;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
}.foundation-contact {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--calm-shadow);
  border-radius: var(--radius-card);
  padding: 16px;
  width: 100%;
  max-width: 310px;
}.foundation-contact-avatar {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  background: var(--soft);
  color: var(--violet);
  border-radius: 50%;
  font-size: 11px;
}.foundation-contact strong {
  font-size: 12px;
  font-weight: var(--type-medium);
}.foundation-contact div > span {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  color: var(--muted);
}.foundation-tick {
  color: var(--violet);
  margin-left: auto;
}.foundation-transfer {
  display: flex;
  gap: 18px;
  margin-top: 15px;
  color: var(--muted);
  font-size: 10px;
}.foundation-connector {
  color: var(--violet);
  padding: 8px 0;
}.foundation-crm-target {
  width: 100%;
  max-width: 310px;
  padding: 14px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  text-align: center;
}.foundation-crm-target > span {
  font-size: 10px;
  color: var(--muted);
}.foundation-crm-target > div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 12px;
}.foundation-crm-target img {
  width: 66px;
  height: 24px;
  object-fit: contain;
}.foundation-infra-window {
  width: 100%;
  max-width: 350px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--calm-shadow);
  overflow: hidden;
}.foundation-window-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}.foundation-live {
  color: var(--violet);
  font-size: 9px;
}.foundation-infra-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-inline: 18px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  font-size: 11px;
}.foundation-infra-row > span:last-child {
  color: var(--muted);
  font-size: 10px;
}.foundation-window-footer {
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 9px;
}.foundation-pulse {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--violet);
}.foundation-copy {
  padding: 26px;
}html body .operations-foundation h3 {
  font-size: 19px;
  font-weight: var(--type-medium);
  line-height: 1.35;
  letter-spacing: -0.01em;
}.foundation-copy > p {
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
  margin-top: 12px;
}.foundation-small {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 260px;
}.foundation-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin: 24px 24px 28px;
  border-radius: var(--radius-card);
  border: 1px solid var(--line);
  color: var(--ink);
}.foundation-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}.foundation-small .foundation-copy {
  padding: 0 24px 24px;
}html body .operations-foundation .foundation-small h3 {
  font-size: 16px;
  min-height: 44px;
}.foundation-small p {
  font-size: 12px;
}@media (max-width: 900px) {
  .foundation-heading {
    gap: 36px;
  }
  .foundation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .foundation-feature {
    grid-column: span 1;
  }
  .foundation-art {
    padding: 18px;
  }
  .foundation-copy {
    padding: 22px;
  }
  .foundation-small {
    min-height: 240px;
  }
}@media (max-width: 600px) {
  .operations-foundation {
    --section-before: 20px;
    --section-after: 40px;
  }
  .foundation-heading {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 26px;
  }
  .foundation-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .foundation-art {
    height: 260px;
    padding: 22px;
  }
  .foundation-small {
    min-height: 0;
    flex-direction: row;
    gap: 16px;
    padding: 22px;
    align-items: start;
  }
  .foundation-icon {
    flex: none;
    margin: 0;
  }
  .foundation-small .foundation-copy {
    padding: 0;
  }
  html body .operations-foundation .foundation-small h3 {
    min-height: 0;
  }
  .foundation-window-heading {
    padding: 14px;
    font-size: 11px;
  }
  .foundation-crm-target > div {
    gap: 12px;
  }
  .foundation-crm-target img {
    width: 54px;
  }
}/* positioning-pass.css *//* Make the craft and the reasons to choose GTMatiq visible within the calm system. */.outbound-experience {
  --section-before: 60px;
  --section-after: 50px;
}.experience-heading {
  margin-bottom: 32px;
  max-width: 620px;
}.experience-heading h2 {
  font-size: clamp(27px, 2.6vw, 32px);
  line-height: 1.25;
  letter-spacing: -0.018em;
}.experience-heading > p {
  margin-top: 16px;
  font-size: 14px;
  color: var(--muted);
}.experience-layout {
  display: grid;
  grid-template-columns: 0.8fr 1.5fr;
  gap: 48px;
  align-items: start;
}.experience-tabs {
  display: grid;
  gap: 10px;
}.experience-tabs button {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  text-align: left;
  padding: 22px;
  background: transparent;
  color: var(--muted);
  border: 1px solid var(--line);
  border-radius: 12px;
  cursor: pointer;
  font-size: 14px;
}.experience-tabs button[aria-selected='true'] {
  color: var(--ink);
  background: var(--soft);
  border-color: color-mix(in srgb, var(--violet) 35%, var(--paper));
}.experience-tabs button > span {
  color: var(--violet);
}.experience-panel {
  padding: 32px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--navy) 3%, var(--paper));
  min-height: 420px;
}.experience-panel[hidden] {
  display: none;
}html body .experience-panel h3 {
  font-size: 25px;
  line-height: 1.3;
  letter-spacing: -0.015em;
  font-weight: var(--type-medium);
}.experience-panel > p,
.experience-approach p {
  font-size: 14px;
  line-height: 1.75;
  color: var(--muted);
  margin-top: 16px;
}.experience-approach {
  margin-top: 24px;
}html body .experience-approach h4 {
  font-size: 12px;
  font-weight: var(--type-medium);
}.experience-approach p {
  margin-top: 8px;
}.experience-panel figure {
  border: 0;
  margin: 26px 0 0;
  padding: 22px;
  background: var(--surface-inset);
  border-radius: var(--card-radius);
}.experience-panel blockquote {
  font-size: 16px;
  line-height: 1.6;
}.experience-panel figcaption {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  font-size: 11px;
  color: var(--muted);
}.experience-panel figcaption img {
  width: 32px;
  height: 32px;
  object-fit: cover;
  object-position: 80% center;
  border-radius: 50%;
}:is(.experience-tabs button, .experience-panel):focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 3px;
}.setup-ownership {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  font-size: 12px;
  line-height: 1.7;
  color: var(--muted);
}@media (max-width: 700px) {
  .outbound-experience {
    --section-before: 40px;
    --section-after: 35px;
  }
  .experience-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .experience-tabs {
    gap: 8px;
  }
  .experience-tabs button {
    padding: 15px 18px;
    font-size: 13px;
  }
  .experience-panel {
    padding: 24px;
    min-height: 0;
  }
  html body .experience-panel h3 {
    font-size: 23px;
  }
}/* grain-direction.css *//* Separate organic grain motifs for the hero, product stages and dark chapter. */.hero-atmosphere img {
  object-position: center;
}.hero-atmosphere::after {
  background: linear-gradient(
    var(--paper),
    color-mix(in srgb, var(--paper) 35%, transparent) 22%,
    color-mix(in srgb, var(--paper) 10%, transparent) 45%,
    transparent 68%
  );
}.card-market-art,
.card-outreach-art,
.foundation-crm-art {
  background-image: url('../art/grain-calm-v1.png');
  background-size: cover;
  background-position: center;
}.card-market-art {
  background-position: 20% center;
}.card-outreach-art {
  background-size: auto 130%;
  background-position: 95% 15%;
}.foundation-crm-art {
  background-size: auto 150%;
  background-position: 70% 85%;
}:is(.card-market-art, .card-outreach-art, .foundation-crm-art)::before {
  content: none;
}/* A dark chapter reserved for the collaboration process. */.compact-process {
  color-scheme: dark;
  --paper: var(--color-night-background);
  --white: var(--color-night-surface);
  --navy: var(--color-night-text);
  --ink: var(--color-night-text);
  --muted: var(--color-night-muted);
  --violet: var(--color-night-accent);
  --soft: var(--color-night-soft);
  --line: var(--color-night-line);
  background: var(--paper);
  color: var(--ink);
}.compact-process {
  --section-before: 55px;
}.compact-process :is(h2, h3, summary) {
  color: var(--ink);
}@media (max-width: 700px) {
  .compact-process {
    --section-before: 40px;
  }
}.compact-process {
  background-image:
    linear-gradient(var(--paper), transparent 25%, transparent 70%, var(--paper)),
    linear-gradient(
      color-mix(in srgb, var(--paper) 82%, transparent),
      color-mix(in srgb, var(--paper) 82%, transparent)
    ),
    url('../art/grain-night-v1.png');
  background-size: cover;
  background-position: center;
}@media (max-width: 700px) {
  .hero-atmosphere::after {
    background: linear-gradient(
      var(--paper),
      color-mix(in srgb, var(--paper) 48%, transparent) 24%,
      color-mix(in srgb, var(--paper) 18%, transparent) 48%,
      transparent 78%
    );
  }
}/* Anchor the artwork to the heading instead of the bottom of the hero. */.hero-atmosphere {
  top: 85px;
  bottom: auto;
  width: min(1240px, 120%);
  height: 590px;
}.hero-statement {
  padding-top: 95px;
  padding-bottom: 150px;
}.hero-atmosphere::after {
  background: linear-gradient(
    color-mix(in srgb, var(--paper) 58%, transparent),
    color-mix(in srgb, var(--paper) 22%, transparent) 25%,
    color-mix(in srgb, var(--paper) 12%, transparent) 55%,
    transparent 80%
  );
}@media (max-width: 700px) {
  .hero-atmosphere {
    top: 105px;
    width: 160%;
    height: calc(100% - 115px);
  }
  .hero-statement {
    padding-top: 72px;
    padding-bottom: 135px;
  }
  .hero-atmosphere::after {
    background: linear-gradient(
      color-mix(in srgb, var(--paper) 65%, transparent),
      color-mix(in srgb, var(--paper) 32%, transparent) 30%,
      color-mix(in srgb, var(--paper) 18%, transparent) 60%,
      transparent 85%
    );
  }
}/* Consistent textured stages across all three workflow tabs. */.relief-art {
  background-image: url('../art/grain-calm-v1.png');
  background-size: cover;
  background-position: center;
}.relief-art::before {
  content: none;
}.relief-card:nth-child(2) .relief-art {
  background-position: right center;
  background-size: 130% auto;
}.relief-card:nth-child(3) .relief-art {
  background-position: left bottom;
  background-size: 120% auto;
}/* footer-reveal.css *//* The opaque page slides over a sticky footer; scrolling remains native. */main {
  position: relative;
  z-index: 1;
  background: var(--paper);
}.reveal-footer {
  position: sticky;
  bottom: 0;
  z-index: 0;
  background: color-mix(in srgb, var(--navy) 92%, var(--lavender));
  color: var(--lavender);
}.footer-inner {
  width: calc(100% - 48px);
  margin: auto;
  min-height: 0;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 96px 0 0;
}.footer-top {
  display: grid;
  grid-template-columns: 1.6fr 1fr 0.7fr;
  gap: 40px;
}.footer-top > p {
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.45;
  letter-spacing: -0.02em;
}.footer-top nav,
.footer-legal {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  font-size: 13px;
}.reveal-footer a {
  color: inherit;
  text-decoration: none;
}.reveal-footer a {
  transition: color 180ms ease;
}.reveal-footer a:hover {
  color: var(--white);
}.footer-legal small {
  font-size: 10px;
  opacity: 0.55;
  margin-left: 5px;
}.footer-meta {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 12px;
  padding-top: 40px;
}.footer-signature {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2%;
  width: 100%;
  color: var(--navy);
  padding-top: 28px;
  line-height: 0.95;
}.footer-signature svg {
  width: 14%;
  flex: none;
}.reveal-footer .footer-signature:hover {
  text-decoration: none;
}.reveal-footer a:focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 6px;
}@media (max-width: 700px) {
  .footer-inner {
    width: calc(100% - 48px);
    min-height: 0;
    height: auto;
    padding: 72px 0 0;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 28px 20px;
  }
  .footer-top > p {
    grid-column: 1/-1;
    font-size: 20px;
  }
  .footer-top nav,
  .footer-legal {
    font-size: 12px;
    gap: 12px;
  }
  .footer-signature {
    width: calc(100% + 24px);
    margin-left: -12px;
  }
  .footer-meta {
    font-size: 11px;
  }
}@media (max-height: 650px), (prefers-reduced-motion: reduce) {
  .reveal-footer {
    position: relative;
  }
}.reveal-footer {
  overflow: clip;
}.footer-top,
.footer-meta {
  width: min(1040px, 100%);
  margin-inline: auto;
}/* Selected outline direction: quiet navy, one contour, baseline at the floor. */.reveal-footer {
  position: relative;
  bottom: auto;
  background: var(--navy);
  color: var(--white);
}.footer-inner {
  position: relative;
  transform: none;
  padding-top: 80px;
}.footer-top > p {
  color: var(--white);
}.footer-top :is(nav, .footer-legal),
.footer-meta {
  color: color-mix(in srgb, var(--white) 62%, var(--navy));
}.reveal-footer a:hover {
  color: var(--white);
}.reveal-footer a:focus-visible {
  outline-color: var(--lavender);
}.footer-meta {
  padding-top: 48px;
}.footer-signature {
  width: min(1040px, 80%);
  margin: 0 auto;
  padding-top: 80px;
}.footer-signature svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
}.footer-signature use {
  fill: none;
  stroke: color-mix(in srgb, var(--lavender) 34%, var(--navy));
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}@media (max-width: 700px) {
  .footer-inner {
    padding-top: 56px;
  }
  .footer-meta {
    padding-top: 36px;
  }
  .footer-signature {
    width: 100%;
    margin: 0 auto;
    padding-top: 56px;
  }
}/* floating-nav.css *//* Fixed outside the hero so its mask and stacking context cannot clip the pill. */.terrain-nav {
  position: fixed;
  z-index: 20;
  top: 20px;
  left: 50%;
  width: min(1040px, calc(100% - 48px));
  min-height: 64px;
  padding: 12px 18px 12px 24px;
  border-radius: var(--radius-pill);
  background: var(--white);
  color: var(--ink);
  border: 1px solid var(--line);
  box-shadow: 0 6px 24px color-mix(in srgb, var(--navy) 7%, transparent);
  transform: translateX(-50%);
  opacity: 1;
  transition:
    transform 280ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 180ms ease,
    background-color 220ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease;
}.terrain-nav.is-hidden {
  transform: translate(-50%, calc(-100% - 28px));
  opacity: 0;
  pointer-events: none;
}.terrain-nav:focus-within {
  transform: translateX(-50%);
  opacity: 1;
  pointer-events: auto;
}.terrain-hero {
  padding-top: 80px;
}html {
  scroll-padding-top: 104px;
}@media (max-width: 700px) {
  .terrain-nav {
    top: 12px;
    width: calc(100% - 24px);
    min-height: 58px;
    padding: 9px 12px 9px 18px;
    gap: 12px;
  }
  .terrain-nav .terrain-wordmark {
    font-size: 19px;
    gap: 7px;
  }
  .terrain-nav .terrain-wordmark svg {
    width: 20px;
    height: 20px;
  }
  .terrain-nav .book-call {
    min-height: 38px;
    padding-inline: 14px;
  }
  .terrain-hero {
    padding-top: 76px;
  }
  html {
    scroll-padding-top: 88px;
  }
}@media (prefers-reduced-motion: reduce) {
  .terrain-nav {
    transition: none;
  }
}.terrain-nav.is-at-top {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}/* Shared navigation for the homepage, customer stories and team page. */.terrain-nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-left: auto;
  margin-right: 20px;
}.terrain-nav-links a {
  padding: 10px 0;
  font-size: 13px;
  color: var(--muted);
  transition: color 180ms ease;
}.terrain-nav-links a:hover,
.terrain-nav-links a[aria-current] {
  color: var(--ink);
}.terrain-nav-links a[aria-current] {
  font-weight: var(--type-medium);
}.nav-toggle {
  display: none;
}@media (max-width: 600px) {
  .terrain-nav {
    flex-wrap: nowrap;
    gap: 10px;
    padding: 8px 12px;
    min-height: 60px;
  }
  html body .terrain-nav .book-call {
    margin-left: auto;
    padding: 8px 12px;
    min-height: 40px;
    font-size: 12px;
  }
  .terrain-nav .book-call svg {
    display: none;
  }
  .nav-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border: 0;
    border-radius: 50%;
    background: var(--soft);
    color: var(--ink);
    cursor: pointer;
  }
  .nav-toggle span {
    display: block;
    width: 16px;
    height: 1.5px;
    background: currentColor;
    margin-inline: auto;
    transition: transform 250ms ease;
  }
  .nav-toggle[aria-expanded='true'] span:first-child {
    transform: translateY(3.25px) rotate(45deg);
  }
  .nav-toggle[aria-expanded='true'] span:last-child {
    transform: translateY(-3.25px) rotate(-45deg);
  }
  .terrain-nav-links {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    padding: 12px;
    margin: 0;
    background: var(--white);
    border-radius: var(--radius-card);
    box-shadow: 0 12px 32px color-mix(in srgb, var(--navy) 10%, transparent);
  }
  .terrain-nav.is-menu-open .terrain-nav-links {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
  }
  .terrain-nav-links a {
    padding: 14px 16px;
    font-size: 14px;
  }
  .terrain-nav.is-menu-open {
    background: var(--white);
  }
  .terrain-hero {
    padding-top: 76px;
  }
  html {
    scroll-padding-top: 88px;
  }
}.floating-analysis {
  position: fixed;
  z-index: 19;
  left: 50%;
  bottom: calc(22px + env(safe-area-inset-bottom, 0px));
  width: max-content;
  max-width: calc(100% - 32px);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 18px);
  transition:
    opacity 420ms ease,
    transform 650ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 420ms;
}.floating-analysis.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}.floating-analysis-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 20px 10px 10px;
  border-radius: var(--radius-pill);
  background: var(--violet);
  color: var(--white);
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 8px 28px -8px color-mix(in srgb, var(--navy) 30%, transparent);
  animation: analysis-float 5s ease-in-out infinite;
  animation-play-state: paused;
}.floating-analysis-link::before {
  content: '';
  position: absolute;
  width: 420px;
  height: 420px;
  left: calc(50% - 210px);
  top: calc(50% - 210px);
  background: conic-gradient(
    from 0deg,
    transparent 50%,
    var(--lavender) 72%,
    var(--peach) 82%,
    transparent 94%
  );
  animation: analysis-orbit 9s linear infinite;
  animation-play-state: paused;
  z-index: -2;
}.floating-analysis-link::after {
  content: '';
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: var(--navy);
  z-index: -1;
}.floating-analysis.is-visible .floating-analysis-link,
.floating-analysis.is-visible .floating-analysis-link::before {
  animation-play-state: running;
}.floating-analysis-link img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 25%;
}.floating-analysis-copy {
  display: grid;
  gap: 2px;
}.floating-analysis-copy strong {
  font-size: 14px;
  font-weight: var(--type-medium);
  line-height: 1.4;
}.floating-analysis-copy > span {
  font-size: 12px;
  color: var(--lavender);
  line-height: 1.4;
}.floating-analysis-link > svg {
  margin-left: 10px;
  color: var(--lavender);
}.floating-analysis-link:hover,
.floating-analysis-link:focus-visible {
  animation-play-state: paused;
}@keyframes analysis-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}@keyframes analysis-orbit {
  to {
    transform: rotate(360deg);
  }
}@media (prefers-reduced-motion: reduce) {
  .floating-analysis {
    transition: none;
  }
  .floating-analysis-link,
  .floating-analysis-link::before {
    animation: none;
  }
}/* supporting-art.css *//* Product fragments support the adjacent explanation, with one focal point per stage. */.capability-card .supporting-art {
  background: url('../art/grain-calm-v1.png') center/cover;
  align-items: center;
  gap: 20px;
  padding: 32px;
}.capability-card .crm-studio {
  background-position: 20% center;
}.capability-card .feedback-studio {
  background-position: 80% center;
}.mini-editor,
.mini-crm {
  width: 100%;
  max-width: 410px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 18px 40px -24px color-mix(in srgb, var(--navy) 35%, transparent);
  overflow: hidden;
  font-size: 11px;
}.mini-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  height: 48px;
  padding: 0 18px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}.variant-switch {
  display: flex;
  gap: 2px;
  padding: 3px;
  border-radius: 6px;
  background: var(--paper);
}.variant-switch > * {
  padding: 3px 10px;
  font-size: 10px;
  font-weight: var(--type-regular);
}.variant-switch b {
  background: var(--white);
  border-radius: 4px;
  box-shadow: 0 1px 3px var(--line);
}.mini-editor-body {
  padding: 20px;
}.mini-recipient {
  display: flex;
  gap: 8px;
  align-items: center;
}.mini-recipient {
  color: var(--muted);
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}.supporting-art em {
  font-style: normal;
  background: var(--soft);
  color: var(--violet);
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 10px;
  white-space: nowrap;
}.skeleton-line {
  display: block;
  background: color-mix(in srgb, var(--navy) 9%, var(--white));
  height: 6px;
  border-radius: 5px;
  width: 100%;
}.mini-recipient > i {
  width: 28%;
}.supporting-art .w65 {
  width: 65%;
}.mini-writing {
  display: grid;
  gap: 15px;
  padding: 24px 0;
}.mini-editor-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  color: var(--muted);
  padding-top: 14px;
  border-top: 1px solid var(--line);
}.editor-check {
  color: var(--violet);
}.support-chip {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 10px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  padding: 9px 13px;
}.support-dot {
  width: 5px;
  height: 5px;
  background: var(--violet);
  border-radius: 50%;
}.mini-crm .mini-toolbar {
  justify-content: flex-start;
  font-size: 10px;
}.mini-toolbar img {
  width: 40px;
  height: 20px;
  object-fit: contain;
  margin-right: 8px;
}.mini-chevron {
  padding: 0 7px;
  color: var(--muted);
}.mini-crm-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.4fr;
}.mini-crm-sidebar {
  padding: 20px 16px;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}.mini-avatar {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  background: var(--soft);
  border-radius: 50%;
  font-size: 10px;
  color: var(--violet);
}.mini-crm strong {
  font-size: 11px;
  font-weight: var(--type-medium);
}.mini-muted {
  display: block;
  color: var(--muted);
  font-size: 9px;
}.mini-status {
  padding: 4px 7px;
  background: var(--soft);
  color: var(--violet);
  border-radius: 4px;
  font-size: 9px;
  margin-top: 5px;
}.mini-fields {
  width: 100%;
  display: grid;
  gap: 9px;
  margin-top: 16px;
  font-size: 9px;
  color: var(--muted);
}.mini-fields i {
  margin-bottom: 8px;
}.mini-crm-activity {
  padding: 20px 14px;
}.mini-activity-tabs {
  display: flex;
  gap: 15px;
  font-size: 10px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
}.mini-activity-tabs > :last-child {
  color: var(--muted);
}.mini-event {
  display: flex;
  gap: 8px;
  padding-top: 22px;
}.mini-event > div {
  flex: 1;
  min-width: 0;
}.mini-event .mini-muted {
  margin-top: 6px;
}.mini-event-icon {
  color: var(--violet);
}.mini-event-lines {
  display: grid;
  gap: 7px;
  margin-top: 14px;
}.mini-event-quiet {
  padding-top: 30px;
}.feedback-system {
  width: 100%;
  max-width: 410px;
}.feedback-sources,
.feedback-destinations {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}.feedback-bubble {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  padding: 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}.feedback-bubble svg,
.feedback-hub svg {
  width: 22px;
  height: 22px;
  stroke: var(--violet);
  fill: none;
  stroke-width: 1.3;
}.feedback-bubble .skeleton-line {
  width: 70%;
  height: 4px;
}.feedback-wires {
  display: block;
  width: 100%;
  height: 60px;
  fill: none;
  stroke: color-mix(in srgb, var(--violet) 45%, transparent);
  stroke-width: 1;
}.feedback-hub {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: fit-content;
  margin: auto;
  padding: 18px 24px;
  border-radius: 12px;
  background: var(--white);
  border: 1px solid var(--line);
  font-size: 13px;
  box-shadow: var(--calm-shadow);
}.feedback-destinations span {
  padding: 12px 4px;
  text-align: center;
  font-size: 10px;
  border-radius: 7px;
  background: var(--white);
  border: 1px solid var(--line);
}@media (max-width: 700px) {
  .capability-card .supporting-art {
    padding: 22px 16px;
    min-height: 390px;
  }
  .mini-crm-sidebar {
    padding: 16px 10px;
  }
  .mini-crm-activity {
    padding: 16px 10px;
  }
  .mini-crm strong {
    font-size: 10px;
  }
  .mini-activity-tabs {
    gap: 10px;
    font-size: 9px;
  }
  .mini-event {
    gap: 5px;
  }
  .mini-toolbar {
    padding-inline: 12px;
  }
  .feedback-sources,
  .feedback-destinations {
    gap: 8px;
  }
  .feedback-bubble {
    padding: 12px 8px;
  }
  .feedback-hub {
    font-size: 12px;
    padding: 15px 20px;
  }
  .feedback-destinations span {
    font-size: 9px;
  }
}/* card-system.css *//* A common surface treatment for cards, separate from buttons and avatars. */html
  body
  :is(
    .capability-card,
    .relief-card,
    .foundation-card,
    .experience-panel,
    .stories-spotlight,
    .story-thumbnail,
    .start-steps,
    .case-dialog,
    .case-dialog-media,
    .routine-message,
    .mini-editor,
    .mini-crm,
    .feedback-bubble,
    .feedback-hub,
    .foundation-contact,
    .foundation-crm-target,
    .foundation-infra-window,
    .outreach-message,
    .market-window,
    .market-profile,
    .start-checks
  ) {
  border: 0;
  border-radius: var(--card-radius);
}html body :is(.capability-art, .team-photo, .relief-art > div, .feedback-destinations > span) {
  border: 0;
  border-radius: var(--card-radius);
}html body .card-outreach-art .outreach-contact {
  border: 0;
  border-radius: var(--card-radius);
}html body .card-market-art .market-profile {
  border-radius: var(--card-radius);
}html
  body
  main
  :is(
    .capability-card,
    .relief-card,
    .foundation-card,
    .experience-panel,
    .stories-spotlight,
    .start-steps
  )
  h3 {
  font-weight: var(--type-medium);
}.mini-writing.real-copy {
  gap: 15px;
  padding: 22px 0;
}.mini-writing.real-copy p {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
}.mini-writing.real-copy em {
  font-size: 12px;
}@media (max-width: 700px) {
  .mini-writing.real-copy p {
    font-size: 13px;
  }
}/* Carry the same surface language through the lower sections and their inset boxes. */html
  body
  :is(
    .experience-tabs button,
    .foundation-icon,
    .start-brief > span,
    .start-loop > span,
    .relief-reply,
    .relief-handoff,
    .relief-channel-flow > div span,
    .relief-crm-fields span,
    .copy-variant,
    .insight-observation,
    .insight-destinations > div,
    .faq-placeholder
  ) {
  border: 0;
  border-radius: var(--card-radius);
}html body .experience-tabs button {
  background: color-mix(in srgb, var(--navy) 3%, var(--paper));
}html body .experience-tabs button[aria-selected='true'] {
  background: var(--soft);
}html body .foundation-icon {
  background: var(--soft);
}html body .relief-tabs {
  border: 0;
}html body main :is(.team-person, .closing-fit, .story-card, .case-dialog-copy) :is(h3, h4),
html body .faq-list summary {
  font-weight: var(--type-medium);
}/* Dark grain counterparts to the light workflow cards. */html body .compact-process .start-steps {
  gap: 14px;
  padding: 0;
  background: transparent;
  overflow: visible;
}html body .compact-process .start-steps > li {
  border: 0;
  border-radius: var(--card-radius);
  overflow: hidden;
  background-color: var(--soft);
  background-image:
    linear-gradient(
      180deg,
      transparent 0%,
      color-mix(in srgb, var(--paper) 35%, transparent) 38%,
      var(--soft) 76%
    ),
    url('../art/grain-night-v1.png');
  background-size:
    100% 100%,
    auto 140%;
  background-position:
    center,
    85% 10%;
}html body .compact-process .start-steps > li:nth-child(2) {
  background-position:
    center,
    5% 95%;
}html body .compact-process .start-steps > li:nth-child(3) {
  background-position:
    center,
    65% 30%;
  background-size:
    100% 100%,
    auto 115%;
}.compact-process :is(.start-brief > span, .start-checks, .start-loop > span) {
  background: color-mix(in srgb, var(--white) 94%, transparent);
  box-shadow: 0 5px 18px rgb(0 0 0 / 0.12);
}/* cta-proof.css *//* A personal invitation supported by existing customer voices. */.landscape-closing {
  --section-after: 70px;
}.closing-layout.closing-proof-layout {
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 52px 72px;
  align-items: start;
  padding: 0;
}.closing-proof-eyebrow {
  display: block;
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
  margin-bottom: 20px;
}.closing-proof-layout .closing-invitation > p {
  margin: 24px 0 28px;
}.closing-proof-layout .closing-invitation h2 {
  max-width: 440px;
}.closing-host {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  margin: 32px 0 0;
}.closing-host img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 50%;
}.closing-host figcaption {
  display: grid;
  gap: 5px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--muted);
}.closing-host strong {
  color: var(--ink);
  font-size: 14px;
  font-weight: var(--type-medium);
}.closing-partner {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  margin-top: 24px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--muted);
}.closing-partner img {
  width: 72px;
  height: auto;
  mix-blend-mode: multiply;
}.closing-proof-layout .closing-fit {
  padding: 0;
  border: 0;
}.closing-proof-layout .closing-fit p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
  max-width: 660px;
}@media (max-width: 800px) {
  .closing-layout.closing-proof-layout {
    gap: 40px;
  }
}@media (max-width: 700px) {
  .landscape-closing {
    --section-after: 40px;
  }
  .closing-layout.closing-proof-layout {
    grid-template-columns: 1fr;
    padding: 0;
    gap: 36px;
  }
}.closing-proof-layout .book-call {
  margin-top: 0;
}/* Text-led customer voices; the invitation leads the reading order. */.closing-layout.closing-proof-layout {
  grid-template-columns: 1fr 1.15fr;
  gap: 80px;
  align-items: start;
}.closing-testimonial-wall {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
  padding-bottom: 24px;
}.wall-testimonial {
  margin: 0;
  padding: 22px;
  border: 0;
  border-radius: var(--card-radius);
  background: color-mix(in srgb, var(--navy) 3%, var(--paper));
}.wall-testimonial:nth-child(even) {
  position: relative;
  top: 0;
  background: var(--surface-card);
}.wall-testimonial-topic {
  display: block;
  font-size: 11px;
  line-height: 1.5;
  color: var(--muted);
  margin-bottom: 15px;
}.wall-testimonial blockquote {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: -0.012em;
}.wall-testimonial figcaption {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 0;
  font-size: 11px;
  line-height: 1.5;
  color: var(--muted);
}.wall-testimonial figcaption > span {
  display: grid;
  gap: 2px;
}.wall-testimonial strong {
  font-weight: var(--type-medium);
  color: var(--ink);
}.wall-testimonial img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  object-position: 85% center;
  flex: none;
}.wall-testimonial small {
  display: block;
  margin-top: 12px;
  font-size: 10px;
  line-height: 1.5;
  color: var(--muted);
}.closing-proof-layout .closing-fit {
  margin-top: 32px;
}.closing-proof-layout .closing-fit p {
  font-size: 13px;
}@media (max-width: 1000px) and (min-width: 701px) {
  .closing-layout.closing-proof-layout {
    gap: 64px;
    grid-template-columns: 1fr 1fr;
  }
  .closing-testimonial-wall {
    grid-template-columns: 1fr;
  }
  .wall-testimonial:nth-child(even) {
    top: 0;
  }
}@media (max-width: 700px) {
  .closing-layout.closing-proof-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .closing-testimonial-wall {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 14px;
  }
  .wall-testimonial {
    flex: 0 0 86%;
    scroll-snap-align: start;
    padding: 24px;
  }
  .wall-testimonial:nth-child(even) {
    top: 0;
  }
}/* Two conversion points after the method and customer evidence. */.section-action {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}.section-action .book-call {
  background: var(--navy);
  color: var(--paper);
  border: 0;
  box-shadow: none;
  font-size: 12px;
  min-height: 44px;
}.section-action .book-call:hover {
  background: var(--violet);
  color: var(--white);
}@media (max-width: 700px) {
  .section-action {
    margin-top: 32px;
  }
}/* team-refresh.css *//* A personal glimpse on the homepage; room for the full team on its own page. */.team-intro-layout {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 72px;
  align-items: center;
}.team-intro-photo {
  margin: 0;
}.team-intro-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: var(--card-radius, 10px);
}.team-intro-photo figcaption {
  margin-top: 12px;
  color: var(--muted);
  font-size: 11px;
}html body .team-intro-copy h2 {
  font-size: 32px;
  line-height: 1.25;
  letter-spacing: -0.018em;
  font-weight: var(--type-medium);
}.team-intro-copy p {
  font-size: 14px;
  line-height: 1.75;
  margin-top: 20px;
  color: var(--muted);
}.team-about-link {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  margin-top: 26px;
  font-size: 13px;
  font-weight: var(--type-medium);
  padding: 8px 0;
}.team-about-link span {
  transition: transform 220ms ease;
}.team-about-link:hover span {
  transform: translate(2px, -2px);
}.about-main {
  width: min(1040px, calc(100% - 64px));
  margin: auto;
}.about-heading {
  padding: 72px 0 48px;
}.about-back {
  font-size: 12px;
  color: var(--muted);
}.about-heading h1 {
  font: 600 clamp(36px, 4.5vw, 56px)/1.12 var(--calm-font);
  letter-spacing: -0.035em;
  margin: 28px 0 24px;
}.about-heading > p {
  max-width: 500px;
  font-size: 16px;
  line-height: 1.7;
  color: var(--muted);
}.about-scene {
  margin: 0;
}.about-scene img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border-radius: var(--radius-card);
}.about-scene figcaption {
  font-size: 12px;
  color: var(--muted);
  margin-top: 12px;
}.about-team {
  padding: 104px 0;
}.about-section-heading {
  margin-bottom: 40px;
}.about-page h2 {
  font-size: 30px;
  font-weight: var(--type-medium);
  line-height: 1.3;
  letter-spacing: -0.02em;
}.about-section-heading > p {
  font-size: 14px;
  color: var(--muted);
  margin-top: 14px;
}.about-people {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 44px 32px;
}.about-people .team-photo {
  overflow: hidden;
  border-radius: var(--radius-card);
  aspect-ratio: 1;
}.about-people .team-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}.about-people h3 {
  font-size: 18px;
  font-weight: var(--type-medium);
  margin: 18px 0 6px;
}.about-people .team-role {
  color: var(--muted);
  font-size: 12px;
}.about-people .team-expertise {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  margin-top: 14px;
}.about-principle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  padding: 48px;
  background: color-mix(in srgb, var(--lavender) 20%, var(--paper));
  border-radius: var(--radius-card);
}.about-principle p {
  font-size: 14px;
  line-height: 1.75;
  color: var(--muted);
  margin-bottom: 18px;
}.about-clay {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 12px;
  color: var(--muted);
}.about-clay img {
  width: 90px;
  height: auto;
  mix-blend-mode: multiply;
}.about-contact {
  padding: 100px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}.about-contact h2 {
  max-width: 440px;
}.about-contact .book-call {
  background: var(--navy);
  color: var(--white);
  flex: none;
}@media (max-width: 800px) {
  .team-intro-layout {
    gap: 40px;
  }
  .about-people {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .about-principle {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 32px;
  }
}@media (max-width: 700px) {
  .team-intro-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  html body .team-intro-copy h2 {
    font-size: 28px;
  }
  .about-main {
    width: calc(100% - 48px);
  }
  .about-heading {
    padding: 40px 0 32px;
  }
  .about-team {
    padding: 64px 0;
  }
  .about-page h2 {
    font-size: 26px;
  }
  .about-people {
    gap: 32px 18px;
  }
  .about-people h3 {
    font-size: 16px;
  }
  .about-people .team-expertise {
    font-size: 12px;
  }
  .about-contact {
    flex-direction: column;
    align-items: flex-start;
    padding: 64px 0;
  }
}/* Preserve both people in the original landscape photograph. */.team-intro-photo img {
  height: auto;
  aspect-ratio: auto;
}.about-scene img {
  height: auto;
}.closing-partner > span,
.about-clay > span {
  line-height: 1.65;
}/* motion.css *//* A shared cadence: gentle arrival and soft settling, no overshoot. */@media (prefers-reduced-motion: no-preference) {
  .motion-waiting {
    opacity: 0;
  }
  .experience-tabs button,
  .relief-tabs button,
  .stories-tab {
    transition:
      background-color 260ms var(--motion-touch),
      color 220ms ease,
      border-color 260ms ease,
      box-shadow 260ms ease;
  }
  .book-call {
    transition:
      background-color 220ms ease,
      border-color 220ms ease,
      box-shadow 280ms var(--motion-settle);
  }
  .book-call:hover {
    box-shadow: 0 5px 16px color-mix(in srgb, var(--navy) 9%, transparent);
  }
  .proof-link-icon {
    transition:
      translate 300ms var(--motion-settle),
      background-color 220ms ease;
  }
  .proof-stories-link:hover .proof-link-icon {
    translate: 3px 0;
  }
  .faq-list summary > span {
    transition: transform 400ms var(--motion-settle);
  }
  .faq-list details[open] > div {
    animation: answer-arrive 430ms var(--motion-settle) both;
  }
  @keyframes answer-arrive {
    from {
      opacity: 0;
      transform: translateY(7px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}/* customer-pages.css *//* Page composition only. Typography, surfaces, controls and motion share the homepage cascade. */.customer-heading {
  padding-block: 160px 56px;
}.customer-eyebrow,
.customer-breadcrumb {
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
}.customer-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}.customer-breadcrumb a:hover {
  color: var(--ink);
}html body .customer-heading h1 {
  max-width: 820px;
  font: 600 clamp(36px, 4vw, 54px)/1.12 var(--calm-font);
  letter-spacing: -0.035em;
  margin: 24px 0;
}.customer-heading > p {
  max-width: 590px;
  font-size: 16px;
  line-height: 1.75;
  color: var(--muted);
}.customer-grid-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}.customer-card {
  display: flex;
  flex-direction: column;
  border: 0;
  border-radius: var(--card-radius);
  overflow: hidden;
  background: var(--soft);
  color: var(--ink);
  text-decoration: none;
}.customer-card-image {
  overflow: hidden;
  aspect-ratio: 16/9;
}.customer-card-image img,
.customer-interview-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}.customer-card-copy {
  padding: 28px;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
}html body .customer-card h3 {
  font-size: 23px;
  font-weight: var(--type-medium);
  line-height: 1.28;
  margin: 14px 0;
  letter-spacing: -0.018em;
}.customer-card-copy p {
  font-size: 14px;
  line-height: 1.75;
  color: var(--muted);
  margin-bottom: 24px;
}.customer-read {
  margin-top: auto;
  font-size: 13px;
  display: flex;
  gap: 16px;
  align-items: center;
}.customer-read > span {
  transition: transform 300ms cubic-bezier(0.22, 0.72, 0.18, 1);
}.customer-card:hover .customer-read > span {
  transform: translate(2px, -2px);
}.customer-card:focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 4px;
}.customer-interview {
  margin-block: 0;
}.customer-interview-image {
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: var(--card-radius);
}.customer-interview figcaption {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  font-size: 12px;
  line-height: 1.7;
  color: var(--muted);
  padding-top: 16px;
}.customer-video-status {
  flex-shrink: 0;
}.customer-story-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 80px;
  padding-block: 104px;
  align-items: start;
}.customer-facts strong {
  display: block;
  font-size: 38px;
  font-weight: var(--type-medium);
  letter-spacing: -0.025em;
  line-height: 1.2;
  margin: 24px 0 12px;
}.customer-facts p {
  font-size: 15px;
  line-height: 1.6;
}.customer-facts small {
  display: block;
  font-size: 11px;
  line-height: 1.6;
  color: var(--muted);
  margin-top: 18px;
}.customer-article-section + .customer-article-section {
  margin-top: 48px;
}.customer-article h2,
.customer-related h2 {
  font-size: var(--calm-heading);
  line-height: 1.25;
  letter-spacing: -0.025em;
}.customer-article-section p {
  font-size: 16px;
  line-height: 1.85;
  margin-top: 20px;
  color: var(--muted);
}.customer-quote {
  margin: 48px 0 24px;
  padding: 32px;
  background: var(--soft);
  border-radius: var(--card-radius);
}.customer-quote blockquote {
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: -0.015em;
}.customer-quote figcaption {
  margin-top: 24px;
  font-size: 13px;
}.customer-quote figcaption span {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
}.customer-context {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
}.customer-related > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
}.customer-related .team-about-link {
  margin: 0;
  flex-shrink: 0;
}.customer-page .landscape-closing {
  margin-top: 144px;
}/* Remove the earlier stand-alone navigation overrides on the about page. */.about-page .about-heading {
  padding-top: 160px;
}@media (max-width: 800px) {
  .customer-story-layout {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-block: 72px;
  }
  .customer-facts {
    max-width: 440px;
  }
  .customer-grid-list {
    gap: 20px;
  }
  .customer-card-copy {
    padding: 22px;
  }
}@media (max-width: 600px) {
  .customer-heading {
    padding-block: 120px 36px;
  }
  .customer-grid-list {
    grid-template-columns: 1fr;
  }
  .customer-interview figcaption {
    align-items: flex-start;
    gap: 16px;
  }
  .customer-related > header {
    align-items: flex-start;
    flex-direction: column;
  }
  .customer-quote {
    padding: 24px;
  }
  .customer-quote blockquote {
    font-size: 20px;
  }
  .customer-page .landscape-closing {
    margin-top: 96px;
  }
  .about-page .about-heading {
    padding-top: 120px;
  }
}.about-people .team-person {
  display: block;
}.about-people .team-person :is(h3, p) {
  overflow-wrap: anywhere;
}.about-page .about-team {
  padding-block: 104px;
}.about-page .about-principle {
  padding: 48px;
}.about-page .about-contact {
  padding-block: 100px;
}@media (max-width: 700px) {
  .about-page .about-team {
    padding-block: 64px;
  }
  .about-page .about-principle {
    padding: 24px;
  }
  .about-page .about-contact {
    padding-block: 64px;
  }
}/* type-rhythm.css *//* Shared hierarchy. Page-specific composition must not redefine these roles. */html body main :is(.terrain-hero, .customer-heading, .about-heading) h1 {
  font-family: var(--calm-font);
  font-size: var(--title-size);
  font-weight: var(--type-semibold);
  line-height: var(--title-leading);
  letter-spacing: -0.045em;
}html
  body
  main
  :is(
    .about-section-heading,
    .about-principle,
    .about-contact,
    .customer-article-section,
    .customer-related
  )
  h2 {
  font-family: var(--calm-font);
  font-size: var(--section-title-size);
  font-weight: var(--type-medium);
  line-height: 1.25;
  letter-spacing: -0.018em;
}html body main :is(.customer-heading, .about-heading) {
  padding-top: 175px;
  padding-bottom: var(--heading-content-gap);
}html body main :is(.customer-heading, .about-heading) h1 {
  margin: 24px 0;
}html body main :is(.customer-heading, .about-heading) > p {
  font-size: 16px;
  line-height: 1.65;
  margin-top: 24px;
}html body main :is(.customer-card h3, .customer-studies .story-card-title) {
  font-size: 17px;
  font-weight: var(--type-medium);
  line-height: 1.4;
  letter-spacing: -0.01em;
}html body main .customer-story-layout {
  padding-block: var(--page-section-gap);
}html body main .customer-related > header,
.about-section-heading {
  margin-bottom: var(--heading-content-gap);
}html body.about-page .about-team {
  padding-block: var(--page-section-gap);
}html body.about-page .about-contact {
  padding-block: var(--page-section-gap);
}html body.customer-page .landscape-closing {
  margin-top: var(--page-section-gap);
}@media (max-width: 700px) {
  :root {
    --title-size: clamp(33px, 8.5vw, 44px);
    --title-leading: 1.14;
    --heading-content-gap: var(--space-heading-mobile);
    --page-section-gap: var(--space-section-mobile);
  }
  html body main :is(.customer-heading, .about-heading) {
    padding-top: 150px;
  }
}@media (max-width: 600px) {
  :root {
    --section-title-size: 27px;
  }
}html body main .about-section-heading > p {
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.65;
}html body main .customer-article-section p {
  margin-top: 16px;
  line-height: 1.65;
}/* art-details.css */.footer-wordmark-type {
  font-family: var(--type-family);
  font-size: 310px;
  font-weight: var(--type-semibold);
  letter-spacing: -20px;
}.logo-width-126 {
  --logo-width: 126px;
}.logo-width-156 {
  --logo-width: 156px;
}.logo-width-140 {
  --logo-width: 140px;
}.logo-width-145 {
  --logo-width: 145px;
}.logo-width-150 {
  --logo-width: 150px;
}.logo-width-154 {
  --logo-width: 154px;
}.logo-width-135 {
  --logo-width: 135px;
}.portrait-cell-0 {
  --avatar-x: 0%;
  --avatar-y: 0%;
}.signal-bar-0 {
  --bar: 0;
}.signal-bar-1 {
  --bar: 1;
}.signal-bar-2 {
  --bar: 2;
}.signal-bar-3 {
  --bar: 3;
}.signal-bar-4 {
  --bar: 4;
}.portrait-cell-2 {
  --avatar-x: 66.6667%;
  --avatar-y: 0%;
}.portrait-cell-4 {
  --avatar-x: 0%;
  --avatar-y: 33.3333%;
}.portrait-cell-6 {
  --avatar-x: 66.6667%;
  --avatar-y: 33.3333%;
}.portrait-cell-1 {
  --avatar-x: 33.3333%;
  --avatar-y: 0%;
}.portrait-cell-0 {
  --avatar-x: 0%;
  --avatar-y: 0%;
}.buyer-avatar[data-portrait='0'] {
  --avatar-x: 0%;
  --avatar-y: 0%;
}.buyer-avatar[data-portrait='1'] {
  --avatar-x: 33.33333333333333%;
  --avatar-y: 0%;
}.buyer-avatar[data-portrait='2'] {
  --avatar-x: 66.66666666666666%;
  --avatar-y: 0%;
}.buyer-avatar[data-portrait='3'] {
  --avatar-x: 100%;
  --avatar-y: 0%;
}.buyer-avatar[data-portrait='4'] {
  --avatar-x: 0%;
  --avatar-y: 33.33333333333333%;
}.buyer-avatar[data-portrait='5'] {
  --avatar-x: 33.33333333333333%;
  --avatar-y: 33.33333333333333%;
}.buyer-avatar[data-portrait='6'] {
  --avatar-x: 66.66666666666666%;
  --avatar-y: 33.33333333333333%;
}.buyer-avatar[data-portrait='7'] {
  --avatar-x: 100%;
  --avatar-y: 33.33333333333333%;
}.buyer-avatar[data-portrait='8'] {
  --avatar-x: 0%;
  --avatar-y: 66.66666666666666%;
}.buyer-avatar[data-portrait='9'] {
  --avatar-x: 33.33333333333333%;
  --avatar-y: 66.66666666666666%;
}.buyer-avatar[data-portrait='10'] {
  --avatar-x: 66.66666666666666%;
  --avatar-y: 66.66666666666666%;
}.buyer-avatar[data-portrait='11'] {
  --avatar-x: 100%;
  --avatar-y: 66.66666666666666%;
}.buyer-avatar[data-portrait='12'] {
  --avatar-x: 0%;
  --avatar-y: 100%;
}.buyer-avatar[data-portrait='13'] {
  --avatar-x: 33.33333333333333%;
  --avatar-y: 100%;
}.buyer-avatar[data-portrait='14'] {
  --avatar-x: 66.66666666666666%;
  --avatar-y: 100%;
}.buyer-avatar[data-portrait='15'] {
  --avatar-x: 100%;
  --avatar-y: 100%;
}.customer-grid-logos img[data-logo-width='126'] {
  --logo-width: 126px;
}.customer-grid-logos img[data-logo-width='156'] {
  --logo-width: 156px;
}.customer-grid-logos img[data-logo-width='140'] {
  --logo-width: 140px;
}.customer-grid-logos img[data-logo-width='145'] {
  --logo-width: 145px;
}.customer-grid-logos img[data-logo-width='150'] {
  --logo-width: 150px;
}.customer-grid-logos img[data-logo-width='154'] {
  --logo-width: 154px;
}.customer-grid-logos img[data-logo-width='135'] {
  --logo-width: 135px;
}.customer-grid-logos img[data-logo-width='90'] {
  --logo-width: 90px;
}.customer-grid-logos img[data-logo-width='148'] {
  --logo-width: 148px;
}.customer-grid-logos img[data-logo-width='144'] {
  --logo-width: 144px;
}.customer-grid-logos img[data-logo-width='92'] {
  --logo-width: 92px;
}.customer-grid-logos img[data-logo-width='155'] {
  --logo-width: 155px;
}.customer-grid-logos img[data-logo-width='130'] {
  --logo-width: 130px;
}.customer-grid-logos img[data-logo-width='95'] {
  --logo-width: 95px;
}.customer-grid-logos img[data-logo-width='98'] {
  --logo-width: 98px;
}.customer-grid-logos img[data-logo-width='163'] {
  --logo-width: 163px;
}.customer-grid-logos img[data-logo-width='52'] {
  --logo-width: 52px;
}.customer-grid-logos img[data-logo-width='138'] {
  --logo-width: 138px;
}/* system-polish.css *//* Shared roles, applied after component geometry. */html
  body
  main
  :is(
    .capabilities-heading,
    .experience-heading,
    .stories-heading,
    .relief-problem-copy,
    .relief-heading,
    .foundation-heading,
    .compact-heading,
    .team-heading,
    .faq-heading,
    .closing-invitation
  )
  h2 {
  font-size: var(--section-title-size);
  font-weight: var(--type-medium);
  line-height: 1.25;
  letter-spacing: -0.018em;
}html
  body
  main
  :is(
    .capabilities-heading,
    .experience-heading,
    .stories-heading,
    .foundation-heading,
    .compact-heading,
    .team-heading,
    .faq-heading,
    .about-section-heading
  ) {
  margin-bottom: var(--heading-content-gap);
}html
  body
  main
  :is(
    .capabilities-heading,
    .experience-heading,
    .stories-heading,
    .relief-heading,
    .foundation-heading,
    .compact-heading,
    .team-heading,
    .faq-heading
  )
  > p {
  font-size: 14px;
  line-height: 1.65;
  margin-top: 16px;
}html
  body
  main
  > :is(
    .capability-cards,
    .outbound-experience,
    .customer-studies,
    .sales-relief,
    .operations-foundation,
    .compact-process,
    .team-section,
    .faq-section,
    .landscape-closing
  ) {
  padding-block: var(--section-inset);
}html body main > .landscape-closing {
  padding-bottom: calc(var(--section-inset) * 1.75);
  background: var(--paper);
}html
  body
  :is(.capability-card, .relief-card, .foundation-card, .experience-panel, .wall-testimonial) {
  background-color: var(--surface-card);
}html body :is(main, .terrain-nav) :is(.book-call, .hero-method) {
  min-height: var(--button-height);
  padding: 12px 24px;
  font-size: var(--button-font-size);
  line-height: 1.4;
  font-weight: var(--type-medium);
  border-radius: var(--radius-pill);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-decoration: none;
}html body main .book-call {
  background: var(--navy);
  color: var(--paper);
  border: 0;
  box-shadow: none;
}html body main .book-call:hover {
  background: var(--violet);
  color: var(--color-white);
}html body .terrain-nav .book-call {
  min-height: 40px;
  padding: 9px 18px;
  font-size: 13px;
}html body :is(a, button, summary):focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 4px;
}html body .hero-method {
  background: var(--surface-inset);
  color: var(--ink);
}html body .wall-testimonial {
  top: 0;
  padding: 24px;
}.closing-testimonial-wall {
  align-items: stretch;
  padding-bottom: 0;
}.wall-testimonial {
  display: flex;
  flex-direction: column;
}.wall-testimonial figcaption {
  margin-top: auto;
  padding-top: 24px;
}.wall-testimonial-topic {
  font-size: 12px;
  color: var(--ink);
  font-weight: var(--type-medium);
}.closing-proof-eyebrow {
  font-size: 13px;
}.closing-proof-layout .closing-fit p {
  font-size: 13px;
  line-height: 1.65;
}html body .experience-tabs button {
  min-height: 56px;
  padding: 18px 22px;
  background: var(--surface-card);
}html body .experience-tabs button[aria-selected='true'] {
  background: var(--lavender);
  color: var(--navy);
}.experience-tabs button:not([aria-selected='true']) > span {
  visibility: hidden;
}/* Less dashboard chrome, stronger hierarchy in the supporting market illustration. */.card-market-art .market-window {
  background: var(--surface-inset);
}.card-market-art .market-profile {
  margin-top: 16px;
  border-radius: var(--card-radius);
}.card-market-art .market-totals {
  display: none;
}.card-market-art .market-profile small,
.card-market-art .market-table small {
  color: var(--muted);
}.card-market-art .market-table tbody tr {
  background: var(--surface-inset);
}.card-market-art .market-table tbody tr.is-selected {
  background: var(--soft);
}/* Opaque inset surfaces keep the dark process graphics legible over grain. */.compact-process :is(.start-brief > span, .start-checks, .start-loop > span) {
  background: var(--color-night-surface);
  color: var(--color-night-text);
}.compact-process .start-visual {
  color: var(--color-night-muted);
}@media (min-width: 1000px) and (min-height: 860px) and (prefers-reduced-motion: no-preference) {
  .capability-cards {
    --stack-top: max(188px, calc((100svh - 604px) / 2));
  }
  .capabilities-stack {
    display: grid;
  }
  .capabilities-heading-track {
    grid-area: 1 / 1;
    z-index: 2;
    /* End the heading's sticky track above the last card, not below it. */
    padding-bottom: calc(572px + 24px + var(--heading-content-gap));
    pointer-events: none;
  }
  html body main .capabilities-heading {
    position: sticky;
    top: calc(var(--stack-top) - 132px);
    margin-bottom: 0;
    background: transparent;
  }
  .capabilities-list {
    grid-area: 1 / 1;
    isolation: isolate;
    display: flow-root;
    padding-top: calc(80px + var(--heading-content-gap));
  }
  .capability-card {
    position: sticky;
    margin-bottom: 24px;
    top: var(--stack-top);
    /* Tight contact shadow, without a halo around the stack. */
    box-shadow: 0 -3px 10px -5px color-mix(in srgb, var(--navy) 12%, transparent);
  }
}@media (max-width: 700px) {
  :root {
    --section-inset: 72px;
  }
  html body .stories-tab {
    min-width: 0;
    min-height: 60px;
    padding: 14px 8px;
  }
  html body .stories-tab img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 18px;
    object-fit: contain;
  }
  .relief-panel:not([hidden]) {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 16px;
    padding: 0 0 16px;
    overscroll-behavior-x: contain;
  }
  .relief-panel > .relief-card {
    flex: 0 0 88%;
    min-width: 0;
    scroll-snap-align: start;
  }
  .relief-tabs {
    max-width: 100%;
    overflow-x: auto;
    justify-content: flex-start;
  }
  .relief-tabs button {
    white-space: nowrap;
    flex: none;
    min-height: 44px;
  }
  .relief-card-copy {
    padding: 22px;
  }
  .closing-testimonial-wall {
    align-items: stretch;
  }
  html body .closing-invitation > .book-call {
    width: 100%;
  }
}@media (max-width: 700px) {
  .relief-tabs button {
    font-size: 13px;
    padding-inline: 14px;
  }
}.market-capability {
  --market-quiet: var(--muted);
}.market-app-symbol {
  color: var(--navy);
}.foundation-transfer {
  background: var(--surface-inset);
  padding: 8px 14px;
  border-radius: var(--radius-pill);
  color: var(--ink);
}/* A spacious pause after the individual customer stories. */html body main > .results-strip {
  --results-color: color-mix(in srgb, var(--violet) 42%, var(--paper));
  padding-block: var(--section-inset);
}.results-strip-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 0.85fr;
  gap: 32px;
  margin: 0;
}.results-strip-grid > div {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  text-align: center;
}.results-strip-grid dd {
  margin: 0;
  font-size: clamp(52px, 6.4vw, 88px);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.055em;
  color: var(--results-color);
  -webkit-text-fill-color: currentColor;
}.results-strip-grid dt {
  margin-top: -4px;
  position: relative;
  color: var(--results-color);
  font-size: 17px;
  line-height: 1.5;
}.results-strip-heading {
  margin: 0 0 56px;
  text-align: center;
  color: var(--navy);
  font-size: var(--section-title-size);
  font-weight: var(--type-medium);
  line-height: 1.25;
  letter-spacing: -0.018em;
}@media (max-width: 700px) {
  .results-strip-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .results-strip-grid dd {
    font-size: clamp(64px, 16vw, 88px);
  }
  .results-strip-grid dt {
    font-size: 15px;
  }
}@media (forced-colors: active) {
  .results-strip-grid dd {
    background: none;
    -webkit-text-fill-color: currentColor;
  }
}.results-strip-grid dd {
  font-variant-numeric: tabular-nums;
}/* Fixed-width digit windows keep the counter still while its digits roll. */.results-strip-grid [data-count] {
  display: inline-flex;
  white-space: nowrap;
}.counter-digit {
  display: inline-block;
  position: relative;
  overflow: hidden;
  clip-path: inset(0);
  mask-image: linear-gradient(to bottom, transparent, black 14%, black 86%, transparent);
  flex: 0 0 0.61em;
  width: 0.61em;
  height: 1.1em;
  letter-spacing: 0;
  vertical-align: top;
}.counter-glyph {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
}.counter-glyph-incoming {
  position: absolute;
  inset: 0;
}.counter-glyph,
.counter-separator {
  color: inherit;
  -webkit-text-fill-color: currentColor;
}@media (forced-colors: active) {
  .counter-glyph,
  .counter-separator {
    background: none;
    -webkit-text-fill-color: currentColor;
  }
}.ui-typed-word {
  white-space: nowrap;
}/* Reserved layout, coordinated paint-only hero entrance. */.hero-atmosphere img {
  animation: hero-art-enter 1200ms cubic-bezier(0.22, 1, 0.36, 1) both paused;
}.hero-art-ready .hero-atmosphere img {
  animation-play-state: running;
}.hero-statement > h1,
.hero-statement > .hero-lead,
.hero-actions > a {
  animation: hero-content-enter 800ms cubic-bezier(0.22, 1, 0.36, 1) both paused;
}.hero-statement > .hero-lead {
  animation-delay: 110ms;
}.hero-actions > a:first-child {
  animation-delay: 220ms;
}.hero-actions > a:last-child {
  animation-delay: 310ms;
}.hero-text-ready .hero-statement > h1,
.hero-text-ready .hero-statement > .hero-lead,
.hero-text-ready .hero-actions > a {
  animation-play-state: running;
}@keyframes hero-content-enter {
  from {
    opacity: 0;
    transform: translate3d(0, 10px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}@keyframes hero-art-enter {
  from {
    opacity: 0;
    transform: scale(1.025);
  }
  to {
    opacity: 0.9;
    transform: scale(1);
  }
}@media (prefers-reduced-motion: reduce) {
  .hero-atmosphere img,
  .hero-statement > h1,
  .hero-statement > .hero-lead,
  .hero-actions > a {
    animation: none;
  }
}/* Deliberate line breaks keep fallback and loaded font geometry identical. */html body .terrain-hero h1 {
  white-space: nowrap;
  text-wrap: nowrap;
}.hero-mobile-break,
.hero-mobile-space {
  display: none;
}@media (max-width: 700px) {
  html body .terrain-hero h1 {
    font-size: clamp(32px, 9.5vw, 38px);
  }
  .hero-mobile-break,
  .hero-mobile-space {
    display: inline;
  }
  .hero-desktop-break,
  .hero-desktop-space {
    display: none;
  }
}/* Match the home hero's entrance on customer and team pages. */.customer-heading > *,
.about-heading > * {
  animation: hero-content-enter 800ms cubic-bezier(0.22, 1, 0.36, 1) both paused;
}:is(.customer-heading, .about-heading) > :nth-child(2) {
  animation-delay: 100ms;
}:is(.customer-heading, .about-heading) > :nth-child(3) {
  animation-delay: 210ms;
}.page-heading-ready > * {
  animation-play-state: running;
}@media (prefers-reduced-motion: reduce) {
  .customer-heading > *,
  .about-heading > * {
    animation: none;
  }
}/* Independent scale keeps hover separate from entrance and floating transforms. */html body main .book-call,
.floating-analysis-link {
  scale: 1;
  transition:
    scale 360ms cubic-bezier(0.22, 1, 0.36, 1),
    background-color 200ms ease,
    color 200ms ease;
}html body .hero-method {
  transition: background-color 200ms ease;
}@media (hover: hover) and (pointer: fine) {
  html body main .book-call:hover,
  .floating-analysis-link:hover {
    scale: 1.025;
  }
  html body .hero-method:hover {
    background: var(--lavender);
    text-decoration: none;
  }
}@media (prefers-reduced-motion: reduce) {
  html body main .book-call,
  .floating-analysis-link {
    transition:
      background-color 200ms ease,
      color 200ms ease;
  }
  html body main .book-call:hover,
  .floating-analysis-link:hover {
    scale: 1;
  }
}/* Interaction finish: feedback without competing with the illustrations. */html body main .book-call:active,
.floating-analysis-link:active {
  scale: 0.985;
  transition-duration: 100ms;
}html body :is(button, a, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 4px;
}html body .skip-link:focus {
  z-index: 40;
}html body :is(.relief-panel, .stories-track):focus-visible {
  outline-offset: 5px;
}html body :is(.book-call, .hero-method) > svg {
  flex-shrink: 0;
}html body :is(.stories-controls button, .nav-toggle) {
  min-width: 44px;
  min-height: 44px;
}html body :is(button, a)[aria-disabled='true'],
html body button:disabled {
  cursor: default;
}html body .hero-method:hover {
  background-color: var(--soft);
}html body .has-tab-highlight {
  position: relative;
  isolation: isolate;
}html body .has-tab-highlight > [role='tab'] {
  position: relative;
  z-index: 1;
}html body .has-tab-highlight > [role='tab'][aria-selected='true'] {
  background: transparent;
  box-shadow: none;
}.tab-highlight {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: var(--radius-card);
  background: var(--lavender);
}.relief-tabs .tab-highlight {
  border-radius: var(--radius-pill);
  background: var(--white);
  box-shadow: 0 2px 5px color-mix(in srgb, var(--navy) 6%, transparent);
}.stories-tabs .tab-highlight {
  border-radius: 0;
  background: var(--soft);
}html body .faq-list details[open] > div {
  animation: none;
}html body .faq-list details.is-closing summary > span {
  transform: rotate(0);
}html body .faq-list summary {
  cursor: pointer;
  transition: color 180ms ease;
}@media (hover: hover) and (pointer: fine) {
  html body .faq-list summary:hover {
    color: var(--violet);
  }
  html body .has-tab-highlight > [role='tab']:not([aria-selected='true']):hover {
    background: var(--soft);
  }
}html body .about-people .team-photo img {
  object-position: center 28%;
}html body :is(.wall-person img, .experience-panel figcaption img) {
  object-fit: cover;
  object-position: center 30%;
}html
  body
  :is(
    .story-spotlight-copy h3,
    .closing-invitation h2,
    .about-heading h1,
    .customer-heading h1,
    .team-heading h2
  ) {
  text-wrap: balance;
}html body :is(.team-role, .story-card-title) {
  text-wrap: pretty;
}.stories-track {
  scroll-padding-inline: 6px;
  padding-inline: 6px;
  overscroll-behavior-x: contain;
}@media (max-width: 700px) {
  html body .relief-panel:not([hidden]) {
    padding-inline: 6px;
    scroll-padding-inline: 6px;
  }
  html body .stories-track {
    grid-auto-columns: 86%;
    gap: 16px;
  }
}@media (min-width: 1000px) and (min-height: 860px) and (prefers-reduced-motion: no-preference) {
  html body .capability-card {
    box-shadow: none;
    transition: box-shadow 350ms ease;
  }
  html body .capability-card.is-overlapping {
    box-shadow: 0 -5px 16px -9px color-mix(in srgb, var(--navy) 24%, transparent);
  }
}/* Back navigation restores the page immediately, without replaying entry sequences. */html.is-history-return
  :is(
    .hero-atmosphere img,
    .hero-statement h1,
    .hero-statement > p,
    .hero-actions > a,
    .customer-heading > *,
    .about-heading > *
  ) {
  animation: none;
}@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  html body main .book-call:active,
  .floating-analysis-link:active {
    scale: 1;
  }
  html body .faq-list summary > span {
    transition: none;
  }
}/* Match portrait eye lines despite different source framing. */html body .team-person--rafael .team-photo img {
  object-position: center top;
}html body .team-person--marcel .team-photo img {
  transform: translateY(9%) scale(1.2);
}html body .team-person--lucas .team-photo img {
  transform: translateY(-3%) scale(1.06);
}html body .floating-analysis-link:focus-visible {
  outline-color: var(--lavender);
}/* Shared even by booking pages that deliberately omit the main footer. */#c15t-preferences {
  padding: 16px var(--gutter);
  color: var(--muted);
  background: var(--paper);
  font-size: 13px;
}#c15t-preferences a {
  color: inherit;
  text-underline-offset: 3px;
}#c15t-preferences a:focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 4px;
}/* design-system.css */.design-system {
  padding-block: 160px;
}.design-system > section {
  margin-top: 80px;
}html body .design-system h1 {
  font-size: var(--title-size);
  font-weight: var(--type-semibold);
}html body .design-system h2 {
  font-size: var(--section-title-size);
  font-weight: var(--type-medium);
}.design-system p {
  color: var(--muted);
  max-width: 640px;
}.token-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 20px;
  padding: 0;
  list-style: none;
}.token-grid li {
  border-radius: var(--radius-card);
  background: var(--soft);
  overflow: hidden;
}.token-chip {
  display: block;
  height: 100px;
}.token-grid code,
.token-grid small {
  display: block;
  padding: 8px 16px;
  overflow-wrap: anywhere;
}.token-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}.token-table td,
.token-table th {
  text-align: left;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  overflow-wrap: anywhere;
}.token-table td {
  max-width: 200px;
}@media (max-width: 600px) {
  .design-system {
    padding-block: 140px 80px;
  }
}.design-system > p {
  margin-top: 24px;
  line-height: 1.65;
}.chip-navy { background:var(--color-navy); }.chip-lavender { background:var(--color-lavender); }.chip-peach { background:var(--color-peach); }.chip-white { background:var(--color-white); }.chip-muted { background:var(--color-muted); }.chip-violet { background:var(--color-violet); }.chip-brand-hainbuch { background:var(--color-brand-hainbuch); }.chip-brand-boellhoff { background:var(--color-brand-boellhoff); }.chip-brand-schmalz { background:var(--color-brand-schmalz); }.chip-brand-pilz { background:var(--color-brand-pilz); }.chip-night-background { background:var(--color-night-background); }.chip-night-surface { background:var(--color-night-surface); }.chip-night-text { background:var(--color-night-text); }.chip-night-soft { background:var(--color-night-soft); }.chip-night-accent { background:var(--color-night-accent); }.chip-night-muted { background:var(--color-night-muted); }.chip-night-line { background:var(--color-night-line); }.chip-sky { background:var(--color-sky); }.chip-frost { background:var(--color-frost); }/* just-sans.css */@font-face {
  font-family: 'JUST Sans';
  src: url('../art/fonts/just-sans/just-sans-exlight.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}@font-face {
  font-family: 'JUST Sans';
  src: url('../art/fonts/just-sans/just-sans-light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}@font-face {
  font-family: 'JUST Sans';
  src: url('../art/fonts/just-sans/just-sans-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}@font-face {
  font-family: 'JUST Sans';
  src: url('../art/fonts/just-sans/just-sans-medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}@font-face {
  font-family: 'JUST Sans';
  src: url('../art/fonts/just-sans/just-sans-semibold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}@font-face {
  font-family: 'JUST Sans';
  src: url('../art/fonts/just-sans/just-sans-bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}@font-face {
  font-family: 'JUST Sans';
  src: url('../art/fonts/just-sans/just-sans-exbold.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}html body {
  font-family: var(--type-family);
}/* design-refresh.css *//* Isolated design study. All hues derive from the existing palette. *//* Keep the original feathered artwork, enlarged within a bounded canvas. */html body .hero-atmosphere {
  top: 45px;
  width: min(1400px, 96vw);
  height: 650px;
}@media (max-width: 700px) {
  html body .hero-atmosphere {
    top: 80px;
    width: 110%;
    height: calc(100% - 90px);
  }
}html body .capability-card,
html body .capability-card.is-overlapping {
  box-shadow: none;
}html body .terrain-nav.is-at-top {
  padding-inline: 0;
}html body .outbound-experience {
  background: color-mix(in srgb, var(--lavender) 24%, var(--paper));
}.experience-overview,
.about-values-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}.experience-overview article {
  padding: 0;
}.experience-overview h3,
.about-direction h3,
.about-values h3 {
  font-size: var(--card-title-size);
  font-weight: var(--type-medium);
  line-height: 1.35;
  margin: 0 0 18px;
  text-wrap: balance;
}.experience-overview p,
.about-direction p,
.about-values p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--muted);
  margin: 0;
}html body .experience-label {
  color: var(--violet);
  font-size: 13px;
  font-weight: var(--type-medium);
  margin-bottom: 24px;
}html body .proof-person-photo {
  width: 64px;
  height: 64px;
}html body .wall-testimonial img {
  width: 52px;
  height: 52px;
}html body .closing-host {
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 20px;
}html body .closing-host img {
  width: 80px;
  height: 80px;
}html body .closing-partner {
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 20px;
}html body .team-intro {
  background: color-mix(in srgb, var(--peach) 28%, var(--paper));
}.about-direction,
.about-values {
  margin-top: var(--space-section);
}.about-direction-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  padding: 48px;
  background: color-mix(in srgb, var(--peach) 28%, var(--paper));
  border-radius: var(--radius-card);
}.about-values-grid article {
  padding-top: 24px;
  border-top: 1px solid var(--line);
}@media (max-width: 700px) {
  .experience-overview,
  .about-values-grid,
  .about-direction-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .about-direction-grid {
    padding: 28px;
  }
  .about-direction,
  .about-values {
    margin-top: var(--space-section-mobile);
  }
  html body .experience-label {
    margin-bottom: 12px;
  }
  html body .closing-host,
  html body .closing-partner {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 16px;
  }
  html body .closing-host img {
    width: 72px;
    height: 72px;
  }
}/* Return to the original interactive story, with a quiet night palette. */html body .outbound-experience {
  --ink: var(--color-night-text);
  --muted: var(--color-night-muted);
  --violet: var(--color-night-accent);
  --surface-card: var(--color-night-surface);
  --surface-inset: var(--color-night-soft);
  --line: var(--color-night-line);
  --soft: color-mix(in srgb, var(--color-night-accent) 9%, var(--color-night-surface));
  color: var(--ink);
  background-color: var(--color-night-background);
  background-image:
    linear-gradient(
      color-mix(in srgb, var(--color-night-background) 89%, transparent),
      color-mix(in srgb, var(--color-night-background) 93.4%, transparent)
    ),
    url('../art/grain-night-v1.png');
  background-size: cover;
  background-position: center;
}html body .outbound-experience :is(h2, h3, h4, blockquote) {
  color: var(--ink);
}html body .outbound-experience .experience-panel {
  background: var(--surface-card);
}html body .outbound-experience .experience-panel figure {
  background: var(--surface-inset);
}html body .outbound-experience .experience-tabs button {
  background: color-mix(in srgb, var(--color-night-surface) 70%, transparent);
  color: var(--muted);
}html body .outbound-experience .experience-tabs button[aria-selected='true'] {
  background: var(--color-night-surface);
  color: var(--ink);
}html body .outbound-experience .experience-tabs .tab-highlight {
  background: color-mix(in srgb, var(--color-night-accent) 16%, var(--color-night-surface));
}html body .outbound-experience .experience-tabs button {
  transition:
    background-color 220ms var(--motion-touch),
    color 220ms var(--motion-touch);
}html body .outbound-experience .experience-tabs.has-tab-highlight button[aria-selected='true'] {
  background: transparent;
}@media (hover: hover) and (pointer: fine) {
  html
    body
    .outbound-experience
    .experience-tabs.has-tab-highlight
    > [role='tab']:not([aria-selected='true']):hover {
    background: var(--soft);
    color: var(--ink);
  }
}html body .outbound-experience .experience-tabs button:active {
  color: var(--color-night-text);
}html body .outbound-experience :focus-visible {
  outline-color: var(--color-night-accent);
}html body .outbound-experience .experience-panel figcaption img {
  width: 48px;
  height: 48px;
}/* A violet opening using the same night texture as the process illustrations. */html body:has(.terrain-hero) {
  --hero-ground: color-mix(in srgb, var(--violet) 32%, var(--color-night-background));
}html body .terrain-hero {
  background: var(--hero-ground);
  color: var(--color-night-text);
}html body .terrain-hero .hero-statement {
  padding-bottom: 110px;
}html body .terrain-hero h1 {
  color: var(--color-night-text);
}html body .terrain-hero .hero-lead {
  color: var(--color-night-text);
}html body .terrain-hero .hero-atmosphere {
  top: 35px;
  height: 660px;
  mask-image:
    linear-gradient(90deg, transparent, black 18%, black 82%, transparent),
    linear-gradient(transparent, black 24%, black 55%, transparent 100%);
  mask-composite: intersect;
}html body .terrain-hero .hero-atmosphere::after {
  background: linear-gradient(
    color-mix(in srgb, var(--hero-ground) 22%, transparent),
    color-mix(in srgb, var(--hero-ground) 10%, transparent) 60%,
    var(--hero-ground)
  );
}html body .terrain-hero .book-call {
  background: var(--lavender);
  color: var(--navy);
}html body .terrain-hero .book-call:hover {
  background: var(--color-night-text);
  color: var(--navy);
}html body .terrain-hero .hero-method {
  background: color-mix(in srgb, var(--color-night-text) 10%, transparent);
  color: var(--color-night-text);
}html body .terrain-hero .hero-method:hover {
  background: color-mix(in srgb, var(--color-night-text) 18%, transparent);
}html body .terrain-hero :focus-visible {
  outline-color: var(--color-night-accent);
}html body:has(.terrain-hero) .terrain-nav.is-at-top {
  color: var(--color-night-text);
}html body:has(.terrain-hero) .terrain-nav.is-at-top .terrain-wordmark {
  color: var(--color-night-text);
}html body:has(.terrain-hero) .terrain-nav.is-at-top .terrain-nav-links a {
  color: var(--color-night-muted);
}html body:has(.terrain-hero) .terrain-nav.is-at-top .terrain-nav-links a:hover {
  color: var(--color-night-text);
}html body:has(.terrain-hero) .terrain-nav.is-at-top .nav-toggle {
  background: var(--color-night-surface);
  color: var(--color-night-text);
}@media (max-width: 700px) {
  html body .terrain-hero .hero-statement {
    padding-bottom: 90px;
  }
  html body .terrain-hero .hero-atmosphere {
    top: 80px;
    height: calc(100% - 70px);
  }
}@media (max-width: 600px) {
  html body:has(.terrain-hero) .terrain-nav.is-at-top.is-menu-open .terrain-nav-links {
    background: var(--color-night-surface);
  }
}html body .customer-grid {
  --line: color-mix(in srgb, var(--lavender) 14%, transparent);
  background: var(--hero-ground);
  position: relative;
  padding-bottom: 80px;
  margin-bottom: 190px;
}html body .customer-grid::after {
  content: '';
  position: absolute;
  inset: auto 0 -190px;
  height: 190px;
  background: linear-gradient(
    var(--hero-ground),
    color-mix(in srgb, var(--violet) 67%, var(--lavender)) 38%,
    color-mix(in srgb, var(--lavender) 55%, var(--paper)) 72%,
    var(--paper)
  );
  pointer-events: none;
}html body .customer-grid-heading {
  color: var(--color-night-muted);
}html body .customer-grid-logos img {
  filter: grayscale(1) brightness(0) invert(1);
  opacity: 0.82;
  mix-blend-mode: normal;
}html body .customer-grid .logo-pause {
  color: var(--color-night-muted);
}html body .customer-grid .logo-pause:hover {
  color: var(--color-night-text);
  background: color-mix(in srgb, var(--lavender) 12%, transparent);
}@media (max-width: 700px) {
  html body .customer-grid {
    padding-bottom: 48px;
  }
}/* storyline-hybrid.css *//* Narrative test; inherits the lavender/Pretendard design-refresh study. */html body .terrain-hero h1 {
  max-width: 800px;
}.hybrid-hero-positioning {
  margin: 0 0 24px;
  color: var(--color-night-muted);
  font-size: 14px;
  line-height: 1.5;
  max-width: 450px;
  text-wrap: balance;
  animation: hero-content-enter 800ms cubic-bezier(0.22, 1, 0.36, 1) both paused;
}.hero-text-ready .hybrid-hero-positioning {
  animation-play-state: running;
}html body .terrain-hero .hero-lead {
  max-width: 560px;
  text-wrap: pretty;
}.hero-actions {
  flex-direction: row;
  gap: 12px;
}/* Twelve visible customers, with the established single-cell rotation. */html body .customer-grid-logos {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}html body .customer-grid-logos li:nth-child(n) {
  height: 90px;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}html body .customer-grid-logos li:nth-child(6n) {
  border-right: 0;
}html body .customer-grid-logos li:nth-last-child(-n + 6) {
  border-bottom: 0;
}html body .customer-grid-logos img {
  max-width: calc(100% - 44px);
  max-height: 34px;
}/* The inherited fade already provides space before the customer section. */html body main > .customer-studies {
  padding-top: var(--heading-content-gap);
}html body .stories-tab {
  gap: 14px;
  align-content: center;
  padding: 24px 12px;
  min-height: 112px;
}.story-tab-outcome {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
  transition: color 220ms var(--motion-touch);
}.stories-tab[aria-selected='true'] .story-tab-outcome,
.stories-tab:hover .story-tab-outcome {
  color: var(--ink);
}.story-transformation {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}.story-transformation p {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.65;
  text-wrap: pretty;
}.story-transformation p > span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 12px;
}@media (max-width: 700px) {
  html body .terrain-hero h1 {
    font-size: clamp(28px, 7.5vw, 38px);
  }
  .hybrid-hero-positioning {
    max-width: 280px;
    font-size: 13px;
    margin-bottom: 20px;
  }
  html body .terrain-hero .hero-lead {
    max-width: 420px;
  }
  .hero-actions {
    flex-direction: column;
  }
  html body .customer-grid-logos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  html body .customer-grid-logos li:nth-child(n) {
    height: 72px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  html body .customer-grid-logos li:nth-child(3n) {
    border-right: 0;
  }
  html body .customer-grid-logos li:nth-last-child(-n + 3) {
    border-bottom: 0;
  }
  html body .customer-grid-logos img {
    max-width: calc(100% - 24px);
    max-height: 26px;
  }
  .stories-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  html body .stories-tab {
    padding: 20px 8px;
    gap: 10px;
    min-height: 94px;
    border: 0;
  }
  html body .stories-tab img {
    max-width: 104px;
    max-height: 22px;
  }
  .story-tab-outcome {
    font-size: 11px;
  }
  .story-panel .story-spotlight-media {
    grid-row: 1;
  }
}@media (prefers-reduced-motion: reduce) {
  .hybrid-hero-positioning {
    animation: none;
  }
}html.is-history-return .hybrid-hero-positioning {
  animation: none;
}/* Recognition stays visible rather than hiding the visitor's situation in tabs. */.hybrid-recognition .experience-heading {
  max-width: 660px;
  margin-bottom: 64px;
}.hybrid-recognition .experience-heading > p {
  max-width: 540px;
}.recognition-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px;
}.recognition-item .recognition-label {
  margin: 0 0 26px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--color-night-accent);
}.recognition-item h3 {
  font-size: 22px;
  font-weight: var(--type-medium);
  line-height: 1.35;
  letter-spacing: -0.018em;
  margin: 0 0 18px;
}.recognition-item > p:last-child {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
  margin: 0;
  text-wrap: pretty;
}/* Four explicit failure points retain Rafael's comparison, without extra diagrams. */.hybrid-failures .foundation-heading {
  align-items: end;
}.failure-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}.failure-card {
  padding: 26px 22px;
  border-radius: var(--radius-card);
  background: var(--surface-card);
}.failure-category {
  font-size: 12px;
  color: var(--violet);
}.failure-card h3 {
  margin: 16px 0 26px;
  font-size: 19px;
  font-weight: var(--type-medium);
  line-height: 1.35;
  letter-spacing: -0.015em;
  min-height: 2.7em;
}.failure-detail > span,
.failure-solution > span {
  display: block;
  font-size: 11px;
  margin-bottom: 8px;
  color: var(--muted);
}.failure-detail p,
.failure-solution p {
  font-size: 13px;
  line-height: 1.7;
  text-wrap: pretty;
  margin: 0;
}.failure-detail {
  color: var(--muted);
  margin-bottom: 24px;
  min-height: 128px;
}.failure-solution {
  color: var(--ink);
}.failure-solution > span {
  color: var(--violet);
}/* Modal-inspired reading order: navigation, explanation, then one precise diagram. */html body main > .hybrid-method {
  padding-block: var(--section-inset);
  background: var(--soft);
}.hybrid-method-heading {
  margin-bottom: 52px;
}.hybrid-method-heading h2 {
  font-size: var(--section-title-size);
  font-weight: var(--type-medium);
  line-height: 1.25;
  letter-spacing: -0.018em;
}.hybrid-method-layout {
  display: grid;
  grid-template-columns: 156px minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}.method-tabs {
  position: relative;
  display: grid;
  gap: 8px;
  isolation: isolate;
}.method-tabs button {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 12px;
  background: transparent;
  border: 0;
  border-radius: var(--radius-pill);
  color: var(--muted);
  text-align: left;
  font-size: 13px;
  line-height: 1.5;
  font-weight: var(--type-regular);
  cursor: pointer;
  transition:
    color 220ms var(--motion-touch),
    background 220ms var(--motion-touch);
}.method-tabs button > span {
  color: var(--violet);
  font-size: 11px;
}.method-tabs button[aria-selected='true'] {
  color: var(--ink);
  background: var(--lavender);
}.method-tabs.has-tab-highlight button[aria-selected='true'] {
  background: transparent;
}.method-tabs .tab-highlight {
  position: absolute;
  inset: 0 auto auto 0;
  z-index: -1;
  pointer-events: none;
  border-radius: var(--radius-pill);
  background: var(--lavender);
}@media (hover: hover) {
  .method-tabs button:not([aria-selected='true']):hover {
    background: var(--surface-card);
    color: var(--ink);
  }
}.method-tabs button:focus-visible,
.hybrid-method-panel:focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 5px;
}.hybrid-method-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 32px;
  align-items: start;
  min-height: 480px;
}.hybrid-method-panel[hidden] {
  display: none;
}.method-explanation {
  padding-top: 10px;
}.method-explanation h3 {
  margin: 0;
  font-size: 24px;
  line-height: 1.3;
  font-weight: var(--type-medium);
  letter-spacing: -0.018em;
  text-wrap: pretty;
}.method-lead {
  margin-top: 18px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}.method-details {
  display: grid;
  gap: 26px;
  margin-top: 36px;
}.method-details h4 {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: var(--type-medium);
}.method-details p {
  color: var(--muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
}.method-diagram {
  margin: 0;
  min-width: 0;
  width: 100%;
  min-height: 440px;
  display: flex;
  align-items: center;
  border-radius: var(--radius-card);
  background: var(--surface-card) url('../art/grain-calm-v1.png') center/cover;
  overflow: hidden;
}.method-diagram-tests {
  background-position: 80% 10%;
}.method-diagram-cycle {
  background-position: 20% 90%;
}.method-diagram svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}.method-diagram text {
  font-family: var(--type-family);
  font-size: 14px;
  fill: var(--ink);
}.method-diagram .diagram-caption {
  font-size: 12px;
}.method-diagram .diagram-emphasis {
  font-size: 16px;
  font-weight: var(--type-medium);
}.method-source rect,
.diagram-surface {
  fill: var(--white);
}.method-source text {
  font-size: 13px;
}.diagram-wire {
  fill: none;
  stroke: var(--violet);
  stroke-width: 1.2;
  opacity: 0.6;
}.diagram-people {
  fill: var(--violet);
}.method-diagram-tests,
.method-diagram-cycle {
  position: relative;
}.method-diagram-tests::before,
.method-diagram-cycle::before {
  content: '';
  position: absolute;
  inset: 20px;
  background: color-mix(in srgb, var(--white) 88%, transparent);
  border-radius: var(--radius-card);
}.method-diagram-tests svg,
.method-diagram-cycle svg {
  position: relative;
}.diagram-branch,
.diagram-cycle,
.diagram-arrow {
  fill: none;
  stroke: var(--violet);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}.diagram-branch.is-rejected {
  stroke: var(--muted);
  opacity: 0.45;
}.diagram-stop {
  stroke: var(--muted);
  stroke-width: 1.5;
  opacity: 0.6;
}.diagram-node {
  fill: var(--white);
  stroke: var(--violet);
  stroke-width: 1.8;
}.diagram-node.is-open {
  fill: var(--lavender);
}.diagram-winner {
  fill: var(--violet);
}.diagram-cycle {
  stroke-width: 2;
}@media (max-width: 1100px) {
  .hybrid-method-layout {
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 24px;
  }
  .hybrid-method-panel {
    gap: 24px;
  }
  .method-diagram {
    min-height: 410px;
  }
  .method-explanation h3 {
    font-size: 22px;
  }
  .failure-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .failure-card h3 {
    min-height: 0;
  }
  .failure-detail {
    min-height: 100px;
  }
}@media (max-width: 900px) {
  .recognition-grid {
    gap: 28px;
  }
  .recognition-item h3 {
    font-size: 20px;
  }
  .hybrid-method-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .method-tabs {
    display: flex;
    gap: 8px;
    width: max-content;
    max-width: 100%;
  }
  .method-tabs button {
    white-space: nowrap;
    padding: 12px 16px;
  }
  .hybrid-method-panel {
    min-height: 440px;
    grid-template-columns: 0.85fr 1.15fr;
  }
  .method-diagram {
    min-height: 400px;
  }
}@media (max-width: 700px) {
  .hybrid-recognition .experience-heading {
    margin-bottom: 40px;
  }
  .recognition-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .recognition-item .recognition-label {
    margin-bottom: 12px;
  }
  .recognition-item h3 {
    margin-bottom: 12px;
  }
  .recognition-item h3 br {
    display: none;
  }
  .failure-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .failure-card {
    padding: 26px;
  }
  .failure-card h3 {
    margin-bottom: 24px;
  }
  .failure-detail {
    min-height: 0;
  }
  .hybrid-method-heading {
    margin-bottom: 30px;
  }
  .method-tabs {
    width: 100%;
    overflow-x: auto;
    padding: 4px 0;
    scrollbar-width: thin;
  }
  .method-tabs button {
    flex: 0 0 auto;
    font-size: 12px;
    gap: 7px;
    padding: 12px;
  }
  .hybrid-method-panel {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 26px;
  }
  .method-explanation {
    display: contents;
  }
  .method-explanation h3 {
    grid-row: 1;
    font-size: 23px;
  }
  .method-lead {
    grid-row: 2;
    margin: 0;
  }
  .method-diagram {
    grid-row: 3;
    min-height: 270px;
  }
  .method-details {
    grid-row: 4;
    margin: 0;
    gap: 24px;
  }
  .method-diagram-tests::before,
  .method-diagram-cycle::before {
    inset: 12px;
  }
}@media (max-width: 700px) {
  .method-diagram text,
  .method-diagram .diagram-caption,
  .method-source text {
    font-size: 16px;
  }
  .method-diagram .diagram-emphasis {
    font-size: 18px;
  }
}@media (max-width: 700px) {
  .method-diagram .diagram-caption {
    font-size: 18px;
  }
  .method-diagram-tests text {
    font-size: 20px;
  }
}/* Chapters are read vertically; the controller is a persistent scroll index. */.method-controller {
  position: sticky;
  top: max(120px, calc(50svh - 100px));
  align-self: start;
}.method-controller a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 12px;
  border-radius: var(--radius-pill);
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
  transition:
    background 220ms var(--motion-touch),
    color 220ms var(--motion-touch);
}.method-controller a > span {
  color: var(--violet);
  font-size: 11px;
}.method-controller a[aria-current] {
  background: var(--lavender);
  color: var(--navy);
}.method-controller a:hover {
  background: var(--surface-card);
  color: var(--ink);
}.method-controller a:focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 3px;
}.method-panels {
  min-width: 0;
}.hybrid-method-panel {
  scroll-margin-top: 140px;
}.hybrid-method-panel + .hybrid-method-panel {
  margin-top: 160px;
}@media (min-width: 901px) {
  .hybrid-method-panel {
    align-items: center;
    min-height: 65svh;
  }
}@media (max-width: 900px) {
  .method-controller {
    top: 88px;
    z-index: 5;
    width: 100%;
    padding-block: 10px;
    background: var(--soft);
  }
  .method-controller a {
    white-space: nowrap;
    flex-shrink: 0;
  }
  .hybrid-method-panel {
    scroll-margin-top: 170px;
  }
  .hybrid-method-panel + .hybrid-method-panel {
    margin-top: 96px;
  }
}/* review-upper.css *//* The promise stays intact; human video evidence leads each result. *//* The shared dusk artwork spans the opening. The white veil reaches full opacity
   before the section boundary, so neither the image edge nor a colour band shows. */html body.review-page .review-opening {
  --hero-fade-height: clamp(220px, 20vw, 300px);
  --hero-text: var(--white);
  --hero-muted: color-mix(in srgb, var(--white) 80%, transparent);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--white);
}html body.review-page .terrain-hero {
  isolation: auto;
  min-height: 0;
  background: transparent;
}html body.review-page .terrain-hero h1 { color: var(--hero-text); }html body.review-page .terrain-hero .hero-lead { color: color-mix(in srgb, var(--white) 92%, transparent); }html body.review-page .terrain-hero .hybrid-hero-positioning { color: var(--hero-muted); }html body.review-page .terrain-hero .hero-statement {
  padding-bottom: 64px;
}html body.review-page .review-opening .hero-atmosphere {
  inset: 0;
  width: 100%;
  height: 100%;
  transform: none;
  border-radius: 0;
  mask-image: none;
  background: var(--navy);
}html body.review-page .review-opening .hero-atmosphere img {
  object-position: center;
  opacity: 1;
  animation: none;
  transform: none;
}html body.review-page .review-opening .hero-atmosphere::after {
  background: linear-gradient(
    color-mix(in srgb, var(--navy) 58%, transparent),
    color-mix(in srgb, var(--navy) 54%, transparent) 75%,
    transparent 90%
  );
}html body.review-page .terrain-hero .hero-method {
  background: color-mix(in srgb, var(--navy) 62%, transparent);
  color: var(--hero-text);
}html body.review-page .terrain-hero .hero-method:hover {
  background: color-mix(in srgb, var(--navy) 78%, transparent);
}html body.review-page .review-opening::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: auto 0 0;
  height: var(--hero-fade-height);
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    transparent,
    color-mix(in srgb, var(--white) 3%, transparent) 14%,
    color-mix(in srgb, var(--white) 12%, transparent) 28%,
    color-mix(in srgb, var(--white) 28%, transparent) 42%,
    color-mix(in srgb, var(--white) 50%, transparent) 56%,
    color-mix(in srgb, var(--white) 72%, transparent) 70%,
    color-mix(in srgb, var(--white) 88%, transparent) 82%,
    color-mix(in srgb, var(--white) 97%, transparent) 92%,
    var(--white) 99%
  );
}html body.review-page .review-opening > .proof-logos {
  padding: 0 max(24px, calc((100% - 1160px) / 2)) calc(var(--hero-fade-height) + 64px);
  margin-bottom: 0;
  background: transparent;
}html body.review-page .proof-logos::after { content: none; }html body.review-page .proof-logos-heading p { color: var(--hero-muted); }html body.review-page .proof-logo-art {
  filter: grayscale(1) brightness(0) invert(1);
  opacity: .78;
}html body.review-page .proof-logo-art--passion-io {
  background: var(--navy);
  mask: url('../brand/logos/kunden/passion-io-mask.svg') center / contain no-repeat;
  mask-mode: luminance;
}html body.review-page .proof-logo-art--passion-io img { opacity: 0; }html body.review-page .proof-logos-set a:hover {
  background: color-mix(in srgb, var(--white) 8%, transparent);
}html body.review-page .results-section { background: var(--white); }/* The header uses the same compact text/button roles and media-frame alignment. */html body .terrain-nav.review-nav {
  width: min(calc(var(--review-media-width, 72rem) + 3rem), calc(100% - 3rem));
  min-height: 4rem;
  padding: .625rem 1.5rem;
  gap: 1.5rem;
  background-color: color-mix(in srgb, var(--white) 52%, transparent);
  background-image: linear-gradient(135deg,
    color-mix(in srgb, var(--white) 18%, transparent),
    color-mix(in srgb, var(--white) 3%, transparent) 45%,
    transparent 72%);
  border: 0;
  -webkit-backdrop-filter: blur(32px) saturate(145%);
  backdrop-filter: blur(32px) saturate(145%);
  box-shadow: 0 8px 32px -12px color-mix(in srgb, var(--navy) 20%, transparent);
}html body .review-nav .terrain-wordmark {
  font-size: 1.375rem;
  font-weight: var(--type-semibold);
  gap: .5rem;
}html body .review-nav .terrain-wordmark svg { width: 1.375rem; height: 1.375rem; }html body .review-nav .terrain-nav-links { gap: 1.75rem; margin-right: .5rem; }html body .review-nav .terrain-nav-links a {
  font-size: var(--review-compact-size, .875rem);
  font-weight: var(--type-medium);
}html body .review-nav .book-call {
  min-height: 2.75rem;
  padding: .75rem 1.25rem;
  font-size: var(--review-compact-size, .875rem);
  font-weight: var(--type-medium);
  line-height: 1.25;
  background: var(--lavender);
  color: var(--navy);
  border: 0;
  box-shadow: none;
}html body .review-nav .book-call:hover {
  background: color-mix(in srgb, var(--lavender) 70%, var(--white));
}html body:has(.review-opening) .review-nav.is-at-top,
html body:has(.review-opening) .review-nav.is-at-top .terrain-wordmark {
  color: var(--white);
}html body:has(.review-opening) .review-nav.is-at-top {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
}html body:has(.review-opening) .review-nav.is-at-top .terrain-nav-links a {
  color: color-mix(in srgb, var(--white) 80%, transparent);
}html body:has(.review-opening) .review-nav.is-at-top .terrain-nav-links a:hover {
  color: var(--white);
}@media (max-width: 700px) {
  html body .terrain-nav.review-nav {
    width: calc(100% - 1.5rem);
    min-height: 3.75rem;
    padding: .5625rem .75rem;
    gap: .625rem;
  }
  html body .review-nav .terrain-wordmark { font-size: 1.25rem; }
  html body .review-nav .terrain-wordmark svg { width: 1.25rem; height: 1.25rem; }
  html body .review-nav .book-call { min-height: 2.5rem; padding: .625rem 1rem; }
}@media (max-width: 600px) {
  html body:has(.review-opening) .review-nav.is-at-top.is-menu-open,
  html body:has(.review-opening) .review-nav.is-at-top.is-menu-open .terrain-nav-links {
    background: var(--navy);
  }
  html body:has(.review-opening) .review-nav.is-at-top .nav-toggle {
    color: var(--white);
    background: color-mix(in srgb, var(--white) 10%, var(--navy));
  }
}html body .terrain-hero h1 {
  max-width: 55rem;
  width: 100%;
  white-space: normal;
}html body .terrain-hero .hybrid-hero-positioning {
  max-width: 580px;
}html body .terrain-hero .hero-lead {
  max-width: 38rem;
}.terrain-hero .hero-lead strong {
  font-weight: var(--type-semibold);
}/* Wider within the page, with half-slot horizontal offset and contrary travel. */html body main > .proof-logos {
  padding: 0 max(24px, calc((100% - 1160px) / 2)) 80px;
}.proof-logos-shell {
  max-width: 1160px;
  margin-inline: auto;
}.proof-logos-heading {
  text-align: center;
  padding-bottom: 24px;
}.proof-logos-heading p {
  margin: 0;
  color: var(--color-night-muted);
  font-size: var(--review-meta-size);
}.proof-logos-window {
  --rail-cell: 184px;
  --rail-stagger: 92px;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
}.proof-logos-track {
  display: flex;
  width: max-content;
}.proof-logos-track:nth-child(2) {
  transform: translateX(calc(-1 * var(--rail-stagger)));
}.proof-logos-set {
  list-style: none;
  display: flex;
  padding: 0;
  margin: 0;
  flex-shrink: 0;
}.proof-logos-set li {
  width: var(--rail-cell);
  height: 88px;
  display: grid;
  place-items: center;
}.proof-logos-set a,
.proof-logo-unlinked {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}.proof-logos-set a {
  border-radius: var(--radius-card);
  transition: background var(--review-duration) var(--review-ease);
}.proof-logos-set a:hover {
  background: color-mix(in srgb, var(--lavender) 8%, transparent);
}.proof-logo-art {
  display: block;
  position: relative;
  overflow: hidden;
  opacity: 0.82;
  filter: grayscale(1) brightness(0) invert(1);
  transition: opacity var(--review-duration) var(--review-ease);
}.proof-logos-set a:hover .proof-logo-art {
  opacity: 1;
}.proof-logo-art img {
  display: block;
  position: absolute;
  max-width: none;
  object-fit: fill;
}.proof-logos.is-ready .proof-logos-track {
  animation: proof-logo-left 64s linear infinite;
}.proof-logos.is-ready .proof-logos-track:nth-child(2) {
  animation-name: proof-logo-right;
}.proof-logos.is-ready:has(:focus-visible) .proof-logos-track {
  animation-play-state: paused;
}@keyframes proof-logo-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}@keyframes proof-logo-right {
  from {
    transform: translateX(calc(-50% - var(--rail-stagger)));
  }
  to {
    transform: translateX(calc(-1 * var(--rail-stagger)));
  }
}html body main > .results-section {
  padding-top: var(--heading-content-gap);
  padding-bottom: var(--section-inset);
}.results-section > .story-shell {
  width: min(var(--review-media-width, 1280px), calc(100% - 2 * var(--review-page-gutter, 24px)));
}.results-heading {
  margin-bottom: var(--heading-content-gap);
}.results-heading h2 {
  max-width: 720px;
  font-family: var(--type-family);
  font-size: var(--section-title-size);
  font-weight: var(--type-medium);
  line-height: 1.25;
  letter-spacing: -0.018em;
}/* The accepted two-card composition: fixed identity rows, then comparable outcomes. */.results-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.5rem;
}.result-card {
  --result-media-size:11.25rem;
  min-width:0;
  display:grid;
  grid-template-columns:var(--result-media-size) minmax(0,1fr);
  grid-row:span 4;
  grid-template-rows:subgrid;
  row-gap:0;
  column-gap:1.5rem;
  padding:1.5rem;
  overflow:hidden;
  background:var(--white);
  border-radius:var(--radius-card);
  box-shadow:inset 0 0 0 1px var(--line);
}.result-video {
  grid-column:1;
  grid-row:1/3;
  display:block;
  position:relative;
  overflow:hidden;
  width:var(--result-media-size);
  height:var(--result-media-size);
  align-self:start;
  padding:0;
  border:0;
  border-radius:var(--radius-card);
  background:var(--navy);
  cursor:pointer;
}/* Source posters carry the logo on the left; centre the person in the right-hand image. */.result-video > img {
  position:absolute;
  height:100%;
  width:auto;
  min-width:100%;
  max-width:none;
  top:0;
  left:50%;
  transform:translateX(-72%);
  display:block;
}.result-video::after {
  content:'';
  position:absolute;
  inset:50% 0 0;
  background:linear-gradient(transparent,color-mix(in srgb,var(--navy) 45%,transparent));
  pointer-events:none;
}.result-play {
  position:absolute;
  z-index:1;
  bottom:.875rem;
  left:.875rem;
  width:2.75rem;
  height:2.75rem;
  border-radius:var(--radius-pill);
  display:grid;
  place-items:center;
  background:var(--white);
  color:var(--navy);
  box-shadow:var(--review-ui-shadow);
  transition:background var(--review-duration) var(--review-ease),transform var(--review-duration) var(--review-ease);
}.result-video:hover .result-play {background:var(--lavender);transform:scale(1.06)}.result-video:active .result-play {transform:scale(.97)}.result-video-pending {
  position:absolute;
  z-index:2;
  inset:auto .5rem .5rem;
  padding:.75rem;
  border-radius:var(--radius-card);
  background:var(--white);
  color:var(--ink);
  font-size:var(--review-meta-size);
  line-height:1.4;
}.result-video-pending[hidden] {display:none}.result-body {display:contents}.result-identity {
  grid-column:2;
  grid-row:1;
  display:grid;
  grid-template-rows:2.25rem auto;
  align-content:start;
  gap:.5rem;
  min-height:6.75rem;
  min-width:0;
}/* Uniform slot, optical artwork dimensions, one exact colour; file padding never sets text position. */.result-logo-slot {height:2.25rem;display:flex;align-items:center;justify-content:flex-start}.result-brand {
  display:block;
  flex:none;
  width:var(--result-logo-width);
  height:var(--result-logo-height);
  background:var(--navy);
  mask:var(--result-logo-source) left center / contain no-repeat;
}.result-brand--hivebuy {--result-logo-source:url('../brand/logos/kunden/hivebuy.svg');--result-logo-width:7rem;--result-logo-height:2.3rem}.result-brand--starqstrom {--result-logo-source:url('../brand/logos/kunden/starqstrom.svg');--result-logo-width:5.625rem;--result-logo-height:1.75rem}.result-brand--nanuq {--result-logo-source:url('../brand/logos/kunden/nanuq.png');--result-logo-width:2.125rem;--result-logo-height:1.5rem}.result-brand--helio-connect {--result-logo-source:url('../brand/logos/kunden/helio-connect.png');--result-logo-width:3.5625rem;--result-logo-height:2.375rem}.result-brand--conclimate {--result-logo-source:url('../brand/logos/kunden/conclimate.svg');--result-logo-width:7.5rem;--result-logo-height:1.875rem}.result-brand--opinstar {--result-logo-source:url('../brand/logos/kunden/opinstar.png');--result-logo-width:7.25rem;--result-logo-height:1.1rem}.result-brand--bitgrip {--result-logo-source:url('../brand/logos/kunden/bitgrip.svg');--result-logo-width:7.25rem;--result-logo-height:1.16rem}.result-brand--passion-io {mask-mode:luminance;--result-logo-source:url('../brand/logos/kunden/passion-io-mask.svg');--result-logo-width:7.5rem;--result-logo-height:1.575rem}.result-brand--text {width:auto;height:auto;background:none;mask:none;color:var(--navy);font:var(--type-semibold) 1.25rem/1.2 var(--type-family);letter-spacing:-.035em}.result-person {margin:0;display:grid;gap:.125rem;line-height:1.4;text-align:left}.result-person strong {color:var(--ink);font-size:var(--review-compact-size);font-weight:var(--type-medium)}.result-person span {color:var(--muted);font-size:var(--review-meta-size);font-weight:var(--type-regular)}.result-outcome {grid-column:2;grid-row:2;display:flex;flex-direction:column;padding-top:.5rem;min-height:6rem;min-width:0}.result-outcome strong {font-size:2rem;font-weight:var(--type-medium);line-height:1.1;letter-spacing:-.035em;color:var(--navy)}.result-outcome > span {font-size:var(--review-compact-size);font-weight:var(--type-medium);margin-top:.5rem;line-height:1.5}.result-outcome small {margin-top:.25rem;color:var(--muted);font-size:var(--review-meta-size);line-height:1.5}.result-change {grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}.result-change > div > span {display:block;font-size:var(--review-meta-size);line-height:1.5;font-weight:var(--type-medium)}.result-change p {font-size:var(--review-body-size);line-height:1.6;margin:.5rem 0 0;text-wrap:pretty}.result-before {color:var(--muted)}.result-after {padding:.75rem;margin:-.75rem -.75rem -.75rem 0;border-radius:var(--radius-card);background:var(--soft);color:var(--ink)}.result-detail {grid-column:1/-1;grid-row:4;display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.75rem;padding-top:.75rem;border-top:1px solid var(--line);color:var(--ink);font-size:var(--review-compact-size);line-height:1.5;transition:color var(--review-duration) var(--review-ease)}.result-detail svg {width:1.125rem;height:1.125rem}.result-detail:hover {color:var(--violet)}.result-invitation { background: var(--soft); }.result-invitation-body {
  grid-column: 1 / -1;
  grid-row: 1 / 4;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  justify-content: center;
  padding-block: 1.5rem;
}.result-invitation-portrait {
  width: 3.25rem;
  height: 3.25rem;
  object-fit: cover;
  border-radius: var(--radius-pill);
  flex: none;
}html body.review-page .result-invitation-copy h3 {
  margin: 0;
  font-size: var(--review-chapter-size);
  line-height: 1.25;
  letter-spacing: -.018em;
  text-wrap: balance;
}.result-invitation-copy p {
  margin: 1rem 0 0;
  color: var(--muted);
  font-size: var(--review-body-size);
  line-height: 1.6;
  max-width: 29rem;
}.result-invitation-host {display:flex;gap:.875rem;align-items:center}.result-invitation-host p {display:grid;gap:.25rem;margin:0;line-height:1.5}.result-invitation-host strong {font-size:var(--review-compact-size);font-weight:var(--type-medium)}.result-invitation-host span {font-size:var(--review-meta-size);color:var(--muted)}html body .result-invitation .result-invitation-link {
  grid-column: 1 / -1;
  grid-row: 4;
  align-self: end;
  justify-content: space-between;
  margin-top: 1.75rem;
  min-height: 3rem;
  background: var(--navy);
  color: var(--white);
  font-size: var(--review-compact-size);
}html body .result-invitation .result-invitation-link:hover { background: var(--violet); }@media (max-width:1150px) and (min-width:1001px) {.result-card {--result-media-size:9rem;column-gap:1.25rem;padding:1.25rem}}@media (max-width:1000px) {.results-grid {grid-template-columns:1fr}.result-card {--result-media-size:12.5rem}}@media (max-width:600px) {
  .result-card {--result-media-size:6.5rem;grid-template-rows:auto auto 1fr auto;grid-row:auto;column-gap:1rem;padding:1.25rem}
  .result-video {height:10rem}
  .result-play {width:2.5rem;height:2.5rem;left:.625rem;bottom:.625rem}
  .result-outcome {padding-top:.75rem}
  .result-outcome strong {font-size:1.875rem}
  .result-change {grid-template-columns:1fr;gap:1.25rem}
  .result-after {margin:0;padding:.875rem}
  .result-brand--text {font-size:1.125rem}
  .result-invitation {grid-template-rows:auto auto}
  .result-invitation-body {grid-row:1;padding-block:.5rem}
  html body .result-invitation .result-invitation-link {grid-row:2}
}@media (max-width: 600px) {
  html body .terrain-hero h1 br,
  .results-heading h2 br {
    display: none;
  }
  html body .terrain-hero .hero-lead {
    font-size: var(--review-compact-size);
    line-height: 1.7;
  }
  html body main > .proof-logos {
    padding-bottom: 48px;
  }
  .proof-logos-window {
    --rail-cell: 160px;
    --rail-stagger: 80px;
    mask-image: linear-gradient(90deg, transparent, black 5%, black 95%, transparent);
  }
  .proof-logos-heading {
    padding-bottom: 16px;
  }
  .proof-logos-set li {
    height: 76px;
  }
  .results-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}/* Optical bounds measured from the visible artwork, retaining the source logos. */.proof-logo-art--hivebuy {
  width: 100.35px;
  height: 33px;
}.proof-logo-art--hivebuy img {
  width: 101.02px;
  height: 33.34px;
  left: 0px;
  top: 0px;
}.proof-logo-art--conclimate {
  width: 132px;
  height: 33px;
}.proof-logo-art--conclimate img {
  width: 132px;
  height: 33px;
  left: 0px;
  top: 0px;
}.proof-logo-art--etracker {
  width: 132px;
  height: 26.4px;
}.proof-logo-art--etracker img {
  width: 134.24px;
  height: 45.64px;
  left: 0px;
  top: -7.16px;
}.proof-logo-art--hivr {
  width: 132px;
  height: 26.84px;
}.proof-logo-art--hivr img {
  width: 132px;
  height: 26.84px;
  left: 0px;
  top: 0px;
}.proof-logo-art--bitgrip {
  width: 132px;
  height: 20.24px;
}.proof-logo-art--bitgrip img {
  width: 132px;
  height: 21.12px;
  left: 0px;
  top: 0px;
}.proof-logo-art--passion-io {
  width: 132px;
  height: 27.72px;
}.proof-logo-art--passion-io img {
  width: 132px;
  height: 27.72px;
  left: 0px;
  top: 0px;
}.proof-logo-art--orgavision {
  width: 117.46px;
  height: 33px;
}.proof-logo-art--orgavision img {
  width: 117.86px;
  height: 33px;
  left: 0px;
  top: 0px;
}.proof-logo-art--starqstrom {
  width: 106.1px;
  height: 33px;
}.proof-logo-art--starqstrom img {
  width: 106.45px;
  height: 33px;
  left: 0px;
  top: 0px;
}.proof-logo-art--helio-connect {
  width: 49.38px;
  height: 33px;
}.proof-logo-art--helio-connect img {
  width: 49.38px;
  height: 33px;
  left: 0px;
  top: 0px;
}.proof-logo-art--dah-digital {
  width: 59.58px;
  height: 33px;
}.proof-logo-art--dah-digital img {
  width: 61.26px;
  height: 35.9px;
  left: -0.61px;
  top: -1.22px;
}.proof-logo-art--nanuq {
  width: 45.96px;
  height: 33px;
}.proof-logo-art--nanuq img {
  width: 45.96px;
  height: 33px;
  left: 0px;
  top: 0px;
}.proof-logo-art--digidor {
  width: 118.13px;
  height: 33px;
}.proof-logo-art--digidor img {
  width: 119.09px;
  height: 71.74px;
  left: -0.48px;
  top: -20.57px;
}.proof-logo-art--iso-gruppe {
  width: 74.4px;
  height: 45px;
}.proof-logo-art--iso-gruppe img {
  width: 74.4px;
  height: 45px;
  left: 0px;
  top: 0px;
}.proof-logo-art--opinstar {
  width: 132px;
  height: 18.92px;
}.proof-logo-art--opinstar img {
  width: 132px;
  height: 18.92px;
  left: 0px;
  top: 0px;
}.proof-logo-art--roboplanet {
  width: 124.35px;
  height: 33px;
}.proof-logo-art--roboplanet img {
  width: 143.48px;
  height: 51.65px;
  left: -9.09px;
  top: -9.09px;
}.proof-logo-art--it-security-schweiz {
  width: 132px;
  height: 29.13px;
}.proof-logo-art--it-security-schweiz img {
  width: 132.09px;
  height: 29.13px;
  left: 0px;
  top: 0px;
}.proof-logo-art--readyplace {
  width: 98.37px;
  height: 33px;
}.proof-logo-art--readyplace img {
  width: 98.37px;
  height: 33px;
  left: 0px;
  top: 0px;
}.proof-logo-art--produktmanagementor {
  width: 83.9px;
  height: 33px;
}.proof-logo-art--produktmanagementor img {
  width: 83.9px;
  height: 33.28px;
  left: 0px;
  top: 0px;
}.proof-logo-art--data-unplugged {
  width: 61.57px;
  height: 33px;
}.proof-logo-art--data-unplugged img {
  width: 61.79px;
  height: 33.22px;
  left: 0px;
  top: 0px;
}.proof-logo-art--zelara {
  width: 94.47px;
  height: 33px;
}.proof-logo-art--zelara img {
  width: 97.06px;
  height: 33px;
  left: 0px;
  top: 0px;
}/* Keep the dark P inside Passion.io's light icon rather than flattening it. */.proof-logo-art--passion-io {
  filter: grayscale(1) brightness(1.4);
}@media (prefers-reduced-motion: reduce) {
  .proof-logos.is-ready .proof-logos-track {
    animation: none;
  }
  .proof-logos-window {
    overflow-x: auto;
  }
  .proof-logos-set[aria-hidden='true'] {
    display: none;
  }
}/* Official full mark from smartengineers.com; retain its proportions and crop outer padding. */.proof-logo-art--smartengineers {
  width: 86.4px;
  height: 64px;
}.proof-logo-art--smartengineers img {
  width: 93px;
  height: 93px;
  left: -6px;
  top: -12px;
}.result-play svg {
  width: 24px;
  height: 24px;
}.review-fit-list > li > span svg {
  width: 20px;
  height: 20px;
}/* review-explanation.css *//* Shared roles from review.css; foundation and methodology work as complete reading views. */.foundation-section,.explanation-method {color:var(--ink);background:var(--white);padding-block:80px;overflow-anchor:none}/* One output per pillar; the detailed comparison carries the explanation. */.foundation-stage {padding-block:0 12px}.foundation-intro {margin-bottom:32px}.responsibility-map {display:grid;grid-template-columns:minmax(0,1fr) 24px 240px;gap:16px;align-items:stretch;margin-bottom:32px}.foundation-agency-group {padding:20px;background:color-mix(in srgb,var(--lavender) 35%,var(--white));border-radius:var(--radius-card)}.responsibility-owner {font-size:var(--review-compact-size);line-height:1.5;color:var(--ink);margin-bottom:20px}.foundation-stops {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.foundation-stop {min-width:0;border:1px solid transparent;border-radius:8px;padding:16px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;text-align:left;cursor:pointer;background:transparent;color:var(--ink);font:inherit;transition:background var(--review-duration) var(--review-ease),box-shadow var(--review-duration) var(--review-ease)}.foundation-stop>strong {display:flex;gap:8px;align-items:baseline;font-size:var(--review-compact-size);line-height:1.5;font-weight:var(--type-medium)}.foundation-step-number {font-size:var(--review-meta-size);color:var(--muted);font-variant-numeric:tabular-nums}.foundation-step-icon {display:flex;align-items:center;height:28px;color:var(--muted)}.foundation-step-icon .ui-icon {width:28px;height:28px;stroke-width:1.5}.foundation-step-result {font-size:var(--review-compact-size);line-height:1.5}.foundation-stop.is-active {background:var(--white);border-color:color-mix(in srgb,var(--navy) 10%,transparent);box-shadow:0 3px 8px color-mix(in srgb,var(--navy) 6%,transparent)}.foundation-stop.is-active .foundation-step-icon {color:var(--navy)}@media(hover:hover){.foundation-stop:not(.is-active):hover{background:color-mix(in srgb,var(--white) 60%,transparent)}}.foundation-stop:focus-visible {outline:2px solid var(--violet);outline-offset:3px}.foundation-progress {display:none;height:2px;margin-top:20px;background:color-mix(in srgb,var(--navy) 10%,transparent);border-radius:2px;overflow:hidden}.is-sequenced .foundation-progress {display:block}.foundation-progress>i {display:block;height:100%;width:calc(var(--foundation-progress,0) * 100%);background:var(--violet)}.foundation-handoff {display:grid;place-items:center;color:var(--muted)}.foundation-handoff .ui-icon {width:24px;height:24px}.foundation-sales-group {padding:20px 24px;background:color-mix(in srgb,var(--lavender) 22%,var(--white));border-radius:var(--radius-card);display:flex;flex-direction:column}.foundation-sales-copy {display:flex;flex:1;flex-direction:column;justify-content:center;padding-bottom:12px}.foundation-sales-copy h3 {margin:0;font-size:var(--review-card-size);line-height:1.4;letter-spacing:-.012em;color:var(--navy)}.foundation-sales-copy p {margin:14px 0 0;font-size:var(--review-compact-size);line-height:1.5;color:var(--muted)}.foundation-panel {display:grid;grid-template-columns:.8fr 1.2fr;gap:32px}.foundation-purpose {padding-top:16px}.foundation-purpose h3 {font-size:var(--review-chapter-size);line-height:1.25;max-width:330px}.foundation-comparison {display:grid;grid-template-columns:1fr 1fr;gap:20px}.foundation-comparison>div {padding:20px;border-radius:8px}.foundation-mistake {background:var(--soft);color:var(--muted)}.foundation-approach {background:var(--review-deep);color:var(--review-on-dark)}.foundation-comparison h4 {margin:0 0 10px;font-size:var(--review-compact-size);color:var(--ink)}.foundation-approach h4 {color:var(--white)}.foundation-comparison p {margin:0;font-size:var(--review-compact-size);line-height:1.6}.foundation-sequence.is-sequenced {height:calc(var(--foundation-stage-height) + var(--foundation-travel))}.is-sequenced .foundation-stage {position:sticky;top:var(--foundation-top,88px)}.is-sequenced .foundation-panels {display:grid}.is-sequenced .foundation-panel {grid-area:1/1;visibility:hidden;opacity:0;transition:opacity var(--review-duration) var(--review-ease)}.is-sequenced .foundation-panel.is-active {visibility:visible;opacity:1}.mini-envelope {display:inline-flex;position:relative;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;color:var(--muted)}.explanation-method {position:relative;isolation:isolate;background:var(--soft);overflow:clip}.explanation-method-heading {margin-bottom:42px;position:relative;z-index:5}html body.review-page .explanation-method-heading h2 {color:var(--ink)}.explanation-chapter {display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:0;align-items:stretch;padding:16px;background:var(--review-dark-surface);border:1px solid var(--review-dark-line);border-radius:var(--radius-card);margin-bottom:32px;scroll-margin-top:150px;box-shadow:var(--review-ui-shadow)}.explanation-chapter:last-child{margin-bottom:0}.explanation-copy {display:flex;flex-direction:column;justify-content:center;padding:24px 32px 24px 16px}.explanation-copy h3 {margin:0;color:var(--white);font-size:var(--review-chapter-size,26px);line-height:1.25;text-wrap:pretty}.explanation-lead {margin:20px 0 0;color:var(--review-dark-muted);font-size:var(--review-body-size,17px);line-height:1.6}.explanation-lead strong {color:inherit;font-weight:inherit}.explanation-benefit {margin-top:32px;padding:20px;border:1px solid color-mix(in srgb,var(--white) 12%,transparent);border-radius:8px;background:color-mix(in srgb,var(--lavender) 10%,transparent)}.explanation-benefit>span{display:block;margin-bottom:8px;font-size:var(--review-meta-size,13px);color:var(--review-dark-label)}.explanation-benefit p{margin:0;font-size:var(--review-body-size,17px);line-height:1.6;color:var(--white)}/* Heading and stack share one sticky boundary, including release at the section end. */.method-sequence,.method-scene {position:relative}.has-method-stack .method-sequence {height:calc(var(--method-scene-height) + var(--method-travel))}.has-method-stack .method-scene {position:sticky;top:var(--method-scene-top)}.has-method-stack .explanation-method-heading {position:static;margin-bottom:28px;padding:0;background:none}.has-method-stack .explanation-chapters {position:relative;height:var(--method-card-height);overflow:visible;isolation:isolate}.has-method-stack .explanation-chapter {position:absolute;inset:0;height:var(--method-card-height);margin:0;overflow:hidden;transform:translate3d(0,var(--method-offset,0px),0);will-change:transform}.has-method-stack .explanation-chapter.is-covered {visibility:hidden}.has-method-stack .explanation-chapter:nth-child(1) {z-index:1}.has-method-stack .explanation-chapter:nth-child(2) {z-index:2}.has-method-stack .explanation-chapter:nth-child(3) {z-index:3}.explanation-method .method-diagram {margin:0;min-width:0;width:100%;min-height:23rem;display:flex;align-items:center;padding:20px;box-sizing:border-box;position:relative;isolation:isolate;border-radius:var(--radius-card);background:var(--soft);overflow:hidden}.market-composition,.testing-composition,.cycle-composition {position:relative;width:100%;min-width:0}.working-paper {position:relative;background:color-mix(in srgb,var(--white) 95%,transparent);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--ink) 11%,transparent);border-radius:9px;box-shadow:var(--review-ui-shadow)}.paper-toolbar {display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid var(--line);font-size:var(--review-meta-size,13px)}.paper-toolbar>strong {font-weight:var(--type-medium)}.paper-dots {display:inline-flex;align-items:center;width:18px;height:18px;color:var(--muted);margin-right:2px}.paper-status {font-size:var(--review-meta-size,13px);margin-left:auto;color:var(--ink);white-space:nowrap}.market-sources {position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:12px;border:1px solid color-mix(in srgb,var(--navy) 12%,transparent);border-radius:8px;background:color-mix(in srgb,var(--white) 40%,transparent);align-items:stretch}.market-sources>span {font-size:var(--review-meta-size,13px);padding:9px 6px;text-align:center;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:5px;background:color-mix(in srgb,var(--white) 94%,transparent);box-shadow:0 4px 8px -6px color-mix(in srgb,var(--ink) 20%,transparent)}.market-sources>span:nth-child(4) {grid-column:1/3}.market-sources>span:last-child {background:color-mix(in srgb,var(--white) 60%,transparent);color:var(--ink)}.source-convergence {height:46px}.market-database {margin:0 4px;transform:none}.data-columns,.database-record {display:grid;grid-template-columns:1.25fr 1fr .9fr;gap:16px;align-items:center;padding:12px 16px;font-size:var(--review-meta-size,13px)}.data-columns {padding-top:16px;color:var(--ink)}.database-record {height:39px;padding-block:7px;border-top:1px solid color-mix(in srgb,var(--ink) 5%,transparent)}.database-record.is-selected {background:color-mix(in srgb,var(--lavender) 35%,var(--white))}.database-record>span {display:flex;align-items:center;gap:8px;min-width:0}.company-avatar {display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;color:var(--muted)}.data-stroke {height:4px;display:block;width:75%;border-radius:4px;background:color-mix(in srgb,var(--ink) 17%,transparent)}.database-record:nth-of-type(4) .data-stroke {width:55%}.verified-contact {font-size:var(--review-meta-size,13px);color:var(--ink);white-space:nowrap;display:flex;align-items:center;gap:4px}.database-record.is-selected .verified-contact {color:var(--ink)}.database-record.is-peripheral {opacity:.3}.database-signals {display:flex;gap:6px;padding:10px 16px 14px;border-top:1px solid color-mix(in srgb,var(--ink) 7%,transparent);font-size:var(--review-meta-size,13px);color:var(--ink)}.database-signals span {padding:5px 8px;border-radius:4px;background:var(--soft)}/* Competing messages become a selected direction; only its refinement proceeds. */.message-contenders {display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:12px;align-items:center;padding:8px 3px 0}.test-draft {padding:16px 12px 12px;background:var(--white);border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;gap:9px;box-shadow:0 14px 20px -18px color-mix(in srgb,var(--navy) 35%,transparent);transform:none}.test-draft:last-child {transform:none}.test-draft>span {font-size:var(--review-meta-size,13px);font-weight:var(--type-medium);margin-bottom:7px}.test-draft>i {height:3px;display:block;width:100%;border-radius:3px;background:color-mix(in srgb,var(--ink) 15%,transparent)}.test-draft>i:nth-of-type(2) {width:85%}.test-draft>i:last-of-type{width:65%}.test-draft>small {font-size:var(--review-meta-size,13px);margin-top:12px;color:var(--ink)}.test-draft.is-rejected {opacity:.7}.test-draft.is-winner {transform:none;border-color:color-mix(in srgb,var(--violet) 28%,var(--white));box-shadow:0 6px 10px color-mix(in srgb,var(--navy) 4%,transparent),0 20px 25px -20px color-mix(in srgb,var(--navy) 30%,transparent)}.test-draft.is-winner>small {color:var(--ink)}.test-selection-line {height:44px}.test-refinement {margin-inline:14px}.variant-row {display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:18px 14px 10px}.variant-row>span {padding:8px 4px;text-align:center;font-size:var(--review-meta-size,13px);border:1px solid var(--line);border-radius:4px}.refinement-lines {display:flex;justify-content:space-around;padding:0 18px 18px;gap:20px}.refinement-lines i {height:3px;width:24%;background:color-mix(in srgb,var(--ink) 12%,transparent);border-radius:2px}.test-learning {display:flex;gap:12px;align-items:center;justify-content:center;margin-top:24px}.test-learning>span {font-size:28px;color:var(--ink)}.test-learning p {font-size:var(--review-meta-size,13px);line-height:1.7;margin:0;color:var(--ink)}.test-learning strong {font-weight:var(--type-medium);color:var(--ink)}/* The return path is part of the composition; positive replies visibly leave it. */.cycle-composition {padding:0 0 0 24px}.cycle-outreach {margin:4px 0 0}.cycle-outreach .paper-toolbar {justify-content:space-between}.outreach-message {display:flex;align-items:center;gap:14px;padding:23px 18px}.outreach-message>.mini-envelope {width:28px;height:28px;color:var(--navy)}.outreach-message>div {display:grid;gap:7px}.outreach-message strong {font-size:14px;font-weight:var(--type-medium)}.outreach-message span {font-size:var(--review-meta-size,13px);color:var(--ink)}.cycle-fork {height:64px}.cycle-outcomes {display:grid;grid-template-columns:1fr 1.15fr;gap:20px;align-items:stretch}.cycle-return {position:relative;padding:18px 12px;text-align:center;background:color-mix(in srgb,var(--white) 65%,transparent);border:1px solid color-mix(in srgb,var(--navy) 12%,transparent);border-radius:8px}.cycle-return>span:first-child {font-size:var(--review-meta-size,13px);display:block;color:var(--ink)}.cycle-return>strong {font-size:27px;font-weight:var(--type-medium);letter-spacing:-.04em;display:block;margin-top:10px}.cycle-return>p {font-size:var(--review-meta-size,13px);line-height:1.5;margin:7px 0;color:var(--ink)}.cycle-pipeline {transform:none;align-self:stretch}.positive-signal {line-height:1.5;font-size:var(--review-meta-size,13px);display:block;padding:13px 14px;border-bottom:1px solid var(--line);color:var(--ink)}.pipeline-record {display:flex;align-items:center;gap:9px;padding:20px 13px}.contact-avatar {display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:25px;height:25px;color:var(--muted)}.pipeline-record>div {display:grid;gap:6px}.pipeline-record strong {font-size:var(--review-meta-size,13px);font-weight:var(--type-medium)}.pipeline-record span:not(.contact-avatar){font-size:var(--review-meta-size,13px);color:var(--ink)}.pipeline-owner {font-size:var(--review-meta-size,13px);color:var(--ink);padding:10px 13px;background:var(--soft);border-radius:0 0 9px 9px}@media(max-width:1100px){.responsibility-map{grid-template-columns:minmax(0,1fr) 20px 208px;gap:12px}.foundation-agency-group{padding:16px}.foundation-stop{padding:14px 8px}.foundation-sales-group{padding:16px}.foundation-panel{gap:24px}.foundation-comparison{gap:12px}.explanation-chapter{gap:0;padding:16px}.explanation-copy{padding:16px 24px 16px 8px}.explanation-method .method-diagram{padding:24px 16px}}@media(max-width:900px){.explanation-chapter{grid-template-columns:1fr;padding:16px;gap:28px}.explanation-copy{padding:16px 16px 0}.explanation-method .method-diagram{max-width:640px;min-height:400px}.responsibility-map{grid-template-columns:1fr;gap:16px}.foundation-handoff .ui-icon{transform:rotate(90deg)}.foundation-sales-group{padding:24px;display:grid;grid-template-columns:1fr 2fr;gap:24px}.foundation-sales-group .responsibility-owner{margin:0}.foundation-sales-copy{padding:0}.foundation-panel{grid-template-columns:1fr;margin-bottom:28px}.foundation-purpose{padding:0}.foundation-purpose h3{max-width:none}}@media(max-width:760px){
.foundation-section,.explanation-method{padding-block:64px}.foundation-intro{margin-bottom:28px}.foundation-stops{grid-template-columns:1fr 1fr;gap:8px}.foundation-stop{padding:16px;gap:12px}.foundation-sales-group{display:block;padding:20px}.foundation-sales-group .responsibility-owner{margin-bottom:16px}.foundation-sales-copy p{max-width:26ch}.foundation-panel{padding-block:24px;border-bottom:1px solid var(--line);gap:20px}.foundation-comparison{grid-template-columns:1fr;gap:12px}.foundation-comparison>div{padding:16px}.explanation-method-heading{margin-bottom:32px}.explanation-chapter{padding:12px;gap:28px;margin-bottom:24px}.explanation-copy{padding:12px 8px 0}.explanation-benefit{margin-top:24px;padding:16px}.explanation-lead{font-size:var(--review-compact-size,15px)}.explanation-benefit p{font-size:var(--review-body-size,17px)}.explanation-method .method-diagram{min-height:390px;padding:22px 12px;margin-inline:0;width:100%}
.paper-toolbar{padding:12px 10px;font-size:13px}.paper-dots{display:none}.market-sources>span{font-size:var(--review-meta-size,13px);padding:8px}.source-convergence{padding-inline:14px}.data-columns,.database-record{gap:5px;padding-inline:10px;grid-template-columns:1fr .8fr .85fr}.data-columns,.verified-contact{font-size:var(--review-meta-size,13px)}.company-avatar{display:none}.database-signals{font-size:var(--review-meta-size,13px);padding:10px;gap:5px}.database-signals>span{padding:5px}.message-contenders{gap:7px}.test-draft{padding:12px 8px}.test-draft>span,.test-draft>small{font-size:var(--review-meta-size,13px)}.test-refinement{margin:0}.variant-row{padding:15px 8px 10px;gap:5px}.variant-row>span{font-size:var(--review-meta-size,13px);padding:7px 2px}.test-learning{gap:8px}.test-learning p{font-size:var(--review-meta-size,13px)}.cycle-composition{padding-left:22px}.cycle-outreach{margin-inline:0}.outreach-message{padding:18px 10px;gap:9px}.outreach-message strong{font-size:13px}.outreach-message span{font-size:var(--review-meta-size,13px)}.cycle-outcomes{grid-template-columns:1fr 1fr;gap:12px;margin-left:0}.cycle-return{padding:15px 8px;display:block}.cycle-return>strong{font-size:24px;margin:12px 0 0}.cycle-return>p{grid-column:1/-1;font-size:var(--review-meta-size,13px);margin-top:6px}.cycle-pipeline{margin-left:0}.pipeline-record{padding:15px 10px;display:block}.pipeline-record .contact-avatar{display:none}.pipeline-owner,.pipeline-record span:not(.contact-avatar){font-size:var(--review-meta-size,13px)}.cycle-fork{height:40px}
}.foundation-section>.story-shell,.explanation-method>.story-shell {width:min(var(--review-media-width,1280px),calc(100% - 2 * var(--review-page-gutter,48px)))}.explanation-copy {max-width:520px}.explanation-method :is(.company-avatar,.contact-avatar,.mini-envelope,.paper-dots) svg {width:100%;height:100%;display:block}.verified-contact>svg {width:14px;height:14px;flex-shrink:0}.test-learning>span {display:inline-flex;width:21px;height:21px;flex-shrink:0}.test-learning>span svg {width:100%;height:100%}.explanation-method .mechanism-routes {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2;padding:0}.mechanism-routes :is(.route-lines path,marker path) {fill:none;stroke:var(--muted);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.mechanism-routes .route-pulses path {fill:none;stroke:var(--navy);stroke-width:1.7;stroke-linecap:round;stroke-dasharray:14 500;stroke-dashoffset:15;opacity:0}.method-diagram.is-demonstrating .route-pulses path {animation:mechanism-travel 850ms var(--route-delay,200ms) var(--review-ease,ease) both}.method-diagram.is-demonstrating .database-record .data-stroke {transform-origin:left;animation:record-populate 650ms var(--record-delay,700ms) var(--review-ease,ease) both}.method-diagram.is-demonstrating .database-record:nth-of-type(4) {--record-delay:900ms}.method-diagram.is-demonstrating .database-record:nth-of-type(5) {--record-delay:1100ms}.method-diagram.is-demonstrating .test-draft.is-winner>i {animation:message-select 600ms 200ms var(--review-ease,ease) both}.method-diagram.is-demonstrating .variant-row>span {animation:variant-ready 650ms 900ms var(--review-ease,ease) both}.method-diagram.is-demonstrating .variant-row>span:nth-child(2) {animation-delay:1100ms}.method-diagram.is-demonstrating .variant-row>span:nth-child(3) {animation-delay:1300ms}.method-diagram.is-demonstrating .positive-signal {animation:variant-ready 650ms 900ms var(--review-ease,ease) both}.method-diagram.is-demonstrating .pipeline-record .contact-avatar {animation:contact-ready 650ms 1200ms var(--review-ease,ease) both}@keyframes mechanism-travel {0%{opacity:0;stroke-dashoffset:15}15%{opacity:1}85%{opacity:1}100%{opacity:0;stroke-dashoffset:calc(-1 * var(--route-length,200))}}@keyframes record-populate {from{scale:.35 1;background:var(--violet)}to{scale:1 1}}@keyframes message-select {from{background:var(--violet)}to{background:color-mix(in srgb,var(--navy) 17%,transparent)}}@keyframes variant-ready {from{background:var(--lavender)}to{background:var(--white)}}@keyframes contact-ready {from{opacity:.25;scale:.8}to{opacity:1;scale:1}}@media(max-width:760px){
 .foundation-section>.story-shell,.explanation-method>.story-shell {width:calc(100% - 2 * var(--review-page-gutter,48px))}
 .cycle-outcomes .pipeline-record strong,.cycle-outcomes .positive-signal,.cycle-outcomes .pipeline-owner {font-size:13px}
 .cycle-outcomes .pipeline-record>div {gap:8px}
 .cycle-outcomes .positive-signal {padding:12px 10px}
 .cycle-outcomes .pipeline-owner {padding:10px}
 .cycle-outcomes .cycle-return>p {font-size:13px;line-height:1.6}
 .cycle-outreach .outreach-message {padding:18px 10px}
}/* review-human.css *//* Human proof and collaboration: consume the shared review contract. */.human-team,.human-process,.human-testimonials{padding-block:var(--section-inset)}.human-team > .story-shell,.human-process > .story-shell{width:min(var(--review-media-width,1280px),calc(100% - 2 * var(--review-page-gutter,48px)))}.human-team-intro{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:48px;margin-bottom:42px}.human-team-intro p{font-size:var(--review-body-size);line-height:1.6;color:var(--muted);margin:0;max-width:480px}.human-people{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}.human-person{min-width:0}/* Transparent portraits share a calm surface; optical crops align the eye line.
   Scale/crop the supplied image in CSS only, preserving the original PNG. */.human-portrait{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1/1.08;border-radius:var(--radius-card);background:linear-gradient(155deg,color-mix(in srgb,var(--lavender) 48%,var(--white)),color-mix(in srgb,var(--lavender) 78%,var(--white)))}.human-portrait img{position:absolute;max-width:none;width:var(--portrait-width,116%);height:auto;left:50%;top:var(--portrait-top,3%);transform:translateX(var(--portrait-x,-50%));display:block}.human-portrait-rafael{--portrait-width:146%;--portrait-top:1%;--portrait-x:-54%}.human-portrait-neo{--portrait-width:142%;--portrait-top:3%}.human-portrait-philipp{--portrait-width:112%;--portrait-top:1%}.human-portrait-marcel{--portrait-width:148%;--portrait-top:3%;--portrait-x:-52%}.human-portrait-lucas{--portrait-width:114%;--portrait-top:1%}.human-person h3{font-family:inherit;font-size:var(--review-card-size);line-height:1.25;font-weight:500;letter-spacing:-.02em;margin:20px 0 8px}.human-role{display:block;color:var(--muted);font-size:var(--review-meta-size);line-height:1.5;min-height:38px}.human-person p{font-size:var(--review-compact-size);line-height:1.6;color:var(--ink);margin:12px 0 0;hyphens:none;overflow-wrap:break-word}.human-community{margin-top:72px;padding-top:48px;border-top:1px solid var(--line)}.human-community-heading p{font-size:var(--review-compact-size);line-height:1.6;color:var(--muted);margin:12px 0 32px}.human-community-heading h3{font-family:inherit;font-size:var(--review-chapter-size);font-weight:500;line-height:1.25;margin-bottom:0}.human-community-heading .human-club-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px 14px}.human-club-wordmark{display:block;width:auto;height:1.5em;flex-shrink:0}.human-club-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.human-club-photos figure{margin:0}.human-club-photos img,.human-club-placeholder{display:block;width:100%;height:240px;object-fit:cover;border-radius:var(--radius-card)}.human-club-photos figcaption{display:grid;gap:6px;margin-top:20px}.human-club-photos figcaption strong{font-weight:500;font-size:var(--review-card-size)}.human-club-photos figcaption span{font-size:var(--review-meta-size);color:var(--muted)}.human-club-placeholder{background:var(--soft);border:1px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.human-club-placeholder svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.3;margin-bottom:8px}.human-club-placeholder span{font-size:var(--review-compact-size)}.human-club-placeholder small{font-size:var(--review-meta-size)}.human-community-rail{overflow:hidden;margin-top:42px;mask-image:linear-gradient(90deg,transparent,black 4%,black 96%,transparent)}.human-community-track{display:flex;width:max-content}.human-community-rail.is-ready .human-community-track{animation:human-community-drift var(--community-loop-duration,42s) linear infinite}.human-community-run{display:flex;flex-shrink:0;gap:16px;padding-right:16px}.human-community-run img{width:220px;height:138px;flex-shrink:0;object-fit:cover;border-radius:var(--radius-card)}@keyframes human-community-drift{to{transform:translateX(-50%)}}/* Whole-scene sticky timeline. The heading never gets left behind. */.human-process{background:var(--soft);color:var(--ink)}.human-process-scene{position:relative}.human-process-heading{display:grid;grid-template-columns:1.6fr 1fr;align-items:start;gap:48px;margin-bottom:32px}.human-process-heading p{font-size:var(--review-body-size);line-height:1.6;color:var(--muted);margin:0;max-width:400px}.human-timeline{display:grid;grid-template-columns:.72fr 1.28fr;gap:64px;align-items:start}.human-milestone-rail{position:relative}.human-milestones{list-style:none;padding:0;margin:0}.human-milestone{position:relative;padding:0 0 22px 28px;min-height:76px}.human-milestone:last-child{padding-bottom:0}.human-milestone-dot{position:absolute;left:-4px;top:7px;width:8px;height:8px;background:color-mix(in srgb,var(--ink) 22%,var(--white));border-radius:50%;transition:background var(--review-duration) var(--review-ease),box-shadow var(--review-duration) var(--review-ease)}.human-milestone.is-current .human-milestone-dot{background:var(--navy);box-shadow:0 0 0 5px var(--lavender)}.human-milestone-control{display:block;width:100%;text-align:left;border:0;background:none;color:inherit;padding:0;cursor:pointer}.human-milestone-control:hover h3{color:var(--ink)}.human-milestone.is-past .human-milestone-dot{background:var(--violet)}.human-when{display:block;font-size:var(--review-meta-size);line-height:1.5;color:var(--muted)}.human-milestone h3{font-family:inherit;font-size:var(--review-card-size);font-weight:500;line-height:1.25;letter-spacing:-.02em;margin:6px 0 0;color:var(--muted);transition:color var(--review-duration) var(--review-ease)}.human-milestone.is-current h3{color:var(--ink)}.human-rail-track{position:absolute;left:-1px;top:11px;width:2px;height:var(--human-rail-height,380px);background:color-mix(in srgb,var(--ink) 12%,transparent)}.human-rail-track span{display:block;position:absolute;inset:0;background:var(--violet);transform:scaleY(var(--human-progress,0));transform-origin:top;transition:transform 120ms linear}.human-step-description{font-size:var(--review-body-size);line-height:1.6;color:var(--muted);margin:14px 0 0}.human-timeline-companion{display:none;min-width:0}.human-timeline-sticky{padding:16px;border:1px solid var(--review-dark-line);border-radius:var(--radius-card);background:var(--review-dark-surface);box-shadow:var(--review-ui-shadow);color:var(--white)}.human-detail-copy{padding:20px 16px 12px;min-height:var(--human-detail-height,0px)}.human-detail-when{font-size:var(--review-meta-size);color:var(--review-dark-muted);display:block;margin-bottom:8px}.human-detail-title{color:var(--white);font-family:inherit;font-weight:500;font-size:var(--review-chapter-size);line-height:1.25;letter-spacing:-.02em;margin:0 0 12px}.human-detail-description{font-size:var(--review-body-size);line-height:1.6;color:var(--review-dark-muted);margin:0;max-width:540px}.human-stage-visual{width:100%;height:var(--human-art-height,280px);margin:0;position:relative;isolation:isolate;border-radius:var(--radius-card);overflow:hidden;background:var(--soft)}.human-work-art{height:100%;padding:10px 20px;position:relative}.human-work-art[hidden]{display:none}.human-work-art>svg{width:100%;height:100%;display:block;overflow:visible;color:var(--color-night-surface)}.human-work-art .ui-icon{width:18px;height:18px;stroke:var(--violet)}.hw-signal{fill:var(--violet)}.human-work-art.is-arriving .hw-populate{animation:human-record-populate 1800ms var(--review-ease) both;animation-delay:calc(var(--step) * 75ms)}.human-work-art.is-arriving .hw-check-step{animation:human-validation 1600ms var(--review-ease) both;animation-delay:calc(300ms + var(--step) * 420ms)}.human-work-art.is-arriving .hw-warmup{animation:human-warmup 1800ms var(--review-ease) both;animation-delay:calc(var(--step) * 240ms)}.human-work-art.is-arriving .hw-selection{animation:human-selection 2200ms var(--review-ease) both}@keyframes human-record-populate{0%,15%{opacity:.1}45%,100%{opacity:1}}@keyframes human-validation{0%,20%{opacity:0}50%,100%{opacity:1}}@keyframes human-warmup{0%,20%{fill:var(--lavender);opacity:.3}60%,100%{fill:var(--violet);opacity:1}}@keyframes human-selection{0%,25%{fill:var(--paper)}60%,100%{fill:var(--lavender)}}.hw-paper{fill:var(--white);fill-opacity:.96;stroke:var(--line);stroke-width:.7}.hw-dark{fill:var(--color-night-surface);stroke:color-mix(in srgb,var(--paper) 25%,transparent);stroke-width:1}.hw-tint{fill:color-mix(in srgb,var(--lavender) 25%,var(--paper))}.hw-dot{fill:var(--violet)}.hw-text,.hw-title,.hw-meta,.hw-math{font-family:inherit;fill:var(--color-night-surface);font-size:16px}.hw-title{font-size:17px;font-weight:500}.hw-meta{font-size:15.5px;opacity:.7}.hw-on-dark{font-family:inherit;fill:var(--color-night-text);font-size:16px;font-weight:500}.hw-line{stroke:color-mix(in srgb,var(--color-night-surface) 18%,transparent);stroke-width:1;stroke-linecap:round}.hw-accent-line{stroke:var(--violet);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.hw-bright-line{stroke:color-mix(in srgb,var(--ink) 55%,transparent);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}@media(min-width:1000px) and (min-height:780px){
.human-process.is-sticky-ready .human-process-scene{position:sticky;top:var(--human-sticky-top,112px)}
.human-process.is-sticky-ready .human-timeline-runway{height:var(--human-runway,3200px)}
.human-process.is-sticky-ready .human-timeline-companion{display:block}
.human-process.is-sticky-ready .human-step-description{display:none}
}/* Regular, statement-led evidence; attribution and logos remain secondary. */.human-testimonials{background:var(--paper)}.human-testimonials h2{margin-bottom:42px}.human-quote-wall{columns:3;column-gap:24px}.human-quote{margin:0;padding:24px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-card);display:flex;flex-direction:column;break-inside:avoid;margin-bottom:24px}.human-quote blockquote{margin:0 0 24px;font-size:var(--review-body-size);line-height:1.6;color:var(--ink)}.human-quote figcaption{display:flex;gap:12px;align-items:flex-start;margin-top:0;min-height:0}.human-quote figcaption>img{width:36px;height:36px;object-fit:cover;object-position:90% center;border-radius:50%;flex:none}.human-quote figcaption>span{display:grid;gap:3px;font-size:var(--review-meta-size);color:var(--muted);line-height:1.45}.human-quote figcaption strong{font-size:var(--review-meta-size);font-weight:500;color:var(--ink)}.human-quote figcaption small{font-size:var(--review-meta-size);line-height:1.45}.human-quote figcaption>span>span:not(.human-mark-row){display:none}.human-mark-row{min-height:28px;display:flex;align-items:center;margin-top:12px;padding-left:0}.human-customer-mark{width:auto;max-width:120px;max-height:28px;object-fit:contain;object-position:left center;filter:brightness(.45)}.human-smartengineers-crop{display:block;position:relative;width:86px;height:65px;overflow:hidden}.human-smartengineers-crop .human-smartengineers-mark{position:absolute;left:-6px;top:-12px;width:93px;max-width:93px;height:93px;max-height:93px;filter:brightness(0)}.human-customer-mark[src*="helio-connect"]{max-height:34px;height:34px}.human-customer-wordmark{font-size:var(--review-meta-size);font-weight:500;color:var(--ink)}/* Exact V3 invitation, using the existing atmosphere and button family. */html body.review-page main > .human-closing{position:relative;overflow:hidden;isolation:isolate;background:var(--color-night-surface);color:var(--color-night-text);text-align:center;padding-block:clamp(96px,10vw,144px)}.human-closing-art{position:absolute;inset:0;z-index:-2;pointer-events:none}.human-closing-art img{width:100%;height:100%;object-fit:cover;object-position:50% 70%;opacity:.75}.human-closing::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--color-night-surface),color-mix(in srgb,var(--color-night-surface) 35%,transparent) 50%,color-mix(in srgb,var(--color-night-surface) 50%,transparent))}.human-closing h2{font-family:inherit;font-size:clamp(2.5rem,5vw,4.25rem);font-weight:var(--type-semibold);line-height:1.08;letter-spacing:-.035em;margin:0 auto 24px;max-width:900px}.human-closing-intro{font-size:var(--review-body-size);line-height:1.6;color:var(--color-night-text);max-width:530px;margin:0 auto 32px}html body.review-page .human-closing .human-book-call{display:inline-flex;align-items:center;gap:24px;min-height:60px;padding:18px 30px;border-radius:var(--radius-pill);background:var(--paper);color:var(--color-night-surface);font-size:var(--review-body-size);text-decoration:none;box-shadow:var(--review-ui-shadow)}.human-closing-reassurance{font-size:var(--review-meta-size);line-height:1.6;color:var(--color-night-muted);max-width:500px;margin:24px auto 0}/* Preserve the portrait, levitation and conic border. The opening hides this pill; the footer dissolves it reversibly. */@media(max-width:1100px){.human-people{gap:16px}.human-timeline{gap:40px}.human-club-photos img,.human-club-placeholder{height:210px}.human-quote{padding:24px 20px}}@media(max-width:999px),(max-height:779px){
.human-process-heading{margin-bottom:42px}
.human-timeline{display:block}
.human-milestones{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.human-milestone{padding:0;min-height:0}
.human-milestone-dot,.human-rail-track{display:none}
.human-milestone h3{color:var(--ink)}
}@media(max-width:760px){
.human-team-intro,.human-process-heading{grid-template-columns:1fr;gap:24px}
.human-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}
.human-person p{font-size:var(--review-compact-size)}
.human-role{min-height:0}
.human-community{margin-top:56px;padding-top:32px}
.human-club-photos{grid-template-columns:1fr;gap:28px}
.human-club-photos img,.human-club-placeholder{height:240px}
.human-community-run img{width:180px;height:120px}
.human-milestones{grid-template-columns:1fr}
.human-milestone{padding-left:28px}
.human-milestone-dot{display:block;left:0}
.human-milestone:not(:last-child)::after{content:'';position:absolute;left:3px;top:19px;bottom:-32px;width:1px;background:var(--line)}
.human-quote-wall{columns:1}
.human-quote{min-height:0;padding:24px}
.human-quote figcaption{min-height:0}
.human-closing h2{font-size:clamp(40px,9vw,62px)}
}/* Shared stagger slots for timeline artwork; markup remains style-free. */.hw-step-0 { --step: 0; }.hw-step-1 { --step: 1; }.hw-step-2 { --step: 2; }.hw-step-3 { --step: 3; }.hw-step-4 { --step: 4; }.hw-step-5 { --step: 5; }.hw-step-6 { --step: 6; }.hw-step-7 { --step: 7; }.hw-step-8 { --step: 8; }.hw-step-9 { --step: 9; }.hw-step-10 { --step: 10; }.hw-step-11 { --step: 11; }.hw-step-12 { --step: 12; }.hw-step-13 { --step: 13; }.hw-step-14 { --step: 14; }/* review-review.css *//* One shared contract for the hybrid homepage; section files own composition. */body.review-page {
  --review-media-width: 72rem;
  --paper: var(--white);
  --soft: color-mix(in srgb,var(--lavender) 16%,var(--white));
  --surface-card: color-mix(in srgb,var(--lavender) 22%,var(--white));
  --review-deep: color-mix(in srgb,var(--violet) 25%,var(--navy));
  --review-on-dark: var(--white);
  --review-dark-label: color-mix(in srgb,var(--white) 72%,var(--review-deep));
  --content-width: 60rem;
  --section-title-size: clamp(1.75rem, 2.4vw, 2rem);
  --title-size: clamp(2.25rem, 3.5vw, 3.125rem);
  --review-heading-weight: var(--type-semibold);
  --review-page-gutter: 48px;
  --section-inset: clamp(96px, 8vw, 128px);
  --review-chapter-size: 1.5rem;
  --review-card-size: 1.125rem;
  --review-body-size: 1rem;
  --review-proof-size: 1rem;
  --review-proof-heading-size: clamp(1.75rem, 3vw, 2.5rem);
  --review-compact-size: .875rem;
  --review-meta-size: .8125rem;
  --review-duration: 220ms;
  --review-ease: var(--motion-settle);
  --review-art-image: url('../art/method-atmosphere-v1.webp');
  --review-art-blur: 16px;
  --review-art-opacity: .45;
  --review-art-veil: color-mix(in srgb, color-mix(in srgb,var(--lavender) 40%,var(--white)) 82%, transparent);
  --review-dark-surface: linear-gradient(135deg,color-mix(in srgb,var(--violet) 30%,var(--navy)),var(--review-deep) 75%);
  --review-dark-line: color-mix(in srgb,var(--lavender) 24%,var(--navy));
  --review-dark-muted: color-mix(in srgb,var(--white) 80%,var(--review-deep));
  --review-ui-shadow: 0 2px 4px color-mix(in srgb, var(--navy) 4%, transparent), 0 20px 32px -20px color-mix(in srgb, var(--navy) 25%, transparent);
}.ui-icon { width:var(--icon-size,18px); height:var(--icon-size,18px); display:inline-block; vertical-align:middle; flex:none; stroke-width:1.75; }.nav-toggle .ui-icon { --icon-size:20px; }.nav-toggle .ui-icon-x,.nav-toggle[aria-expanded='true'] .ui-icon-menu { display:none; }.nav-toggle[aria-expanded='true'] .ui-icon-x { display:inline-block; }html body.review-page .faq-list summary > span { display:flex; align-items:center; }html body.review-page main > :is(.review-fit,.review-situations,.foundation-section,.explanation-method,.human-team,.review-playbooks,.human-process,.human-testimonials) {
  padding-block: var(--section-inset);
}html body.review-page main :is(.results-heading,.review-fit,.review-situations,.foundation-intro,.explanation-method-heading,.human-team,.review-playbook-heading,.human-process,.human-testimonials) h2 {
  font-size: var(--section-title-size);
  font-weight: var(--review-heading-weight);
  line-height: 1.25;
  letter-spacing: -.018em;
  text-wrap: pretty;
}/* Resolve the legacy global regular-weight heading rule once, at the page boundary. */html body.review-page main :is(.results-heading, .human-testimonials) h2 {
  max-width: 48rem;
  margin-inline: auto;
  font-size: var(--review-proof-heading-size);
  text-align: center;
  text-wrap: balance;
}html body.review-page main :is(h3,h4) { font-weight: var(--type-medium); }html body.review-page main :is(.situation-copy,.foundation-purpose,.explanation-copy) h3,
html body.review-page main .human-detail-title,
html body.review-page main .human-community-heading h3 {
  font-size: var(--review-chapter-size);
  line-height: 1.25;
  letter-spacing: -.018em;
}html body.review-page main :is(.human-person,.relief-card-copy) h3 {
  font-size: var(--review-card-size);
  line-height: 1.35;
  letter-spacing: -.012em;
}html body.review-page main :is(.situation-copy > p,.foundation-comparison p,.explanation-lead,.human-team-intro > p,.review-playbook-heading > p,.human-detail-description) {
  font-size: var(--review-body-size);
  line-height: 1.6;
}.review-fit { background:var(--review-deep); color:var(--review-on-dark); }.review-fit-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:88px; align-items:start; }.review-fit h2 { margin:0; color:var(--color-night-text); position:sticky; top:150px; }.review-fit-list { list-style:none; padding:0; margin:0; }.review-fit-list li { display:grid; grid-template-columns:24px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--color-night-line); }.review-fit-list li:first-child { padding-top:0; }.review-fit-list li:last-child { border:0; padding-bottom:0; }.review-fit-list li > span { color:var(--color-night-accent); font-size:var(--review-body-size); line-height:1.6; }.review-fit-list li > span .ui-icon { --icon-size:18px; }.review-fit-list p { margin:0; color:var(--color-night-text); font-size:var(--review-body-size); line-height:1.6; text-wrap:pretty; }/* The same veiled artwork supports all explanatory diagrams. Foreground UI stays sharp. */html body.review-page :is(.method-diagram,.review-playbooks .relief-art,.human-stage-visual) {position:relative;isolation:isolate;overflow:hidden;background:var(--soft)}html body.review-page :is(.method-diagram,.review-playbooks .relief-art,.human-stage-visual)::before {content:'';position:absolute;inset:-18px;z-index:-2;background:var(--review-art-image) var(--review-art-position,center)/cover;filter:blur(var(--review-art-blur));opacity:var(--review-art-opacity);mix-blend-mode:normal;border:0}html body.review-page :is(.method-diagram,.review-playbooks .relief-art,.human-stage-visual)::after {content:'';position:absolute;inset:0;z-index:-1;background:var(--review-art-veil);pointer-events:none}/* Additional uses of the same engine, in the methodology card family. */html body .review-playbooks { background:var(--white); }.review-playbooks > .story-shell { width:min(var(--review-media-width),calc(100% - 96px)); }.review-playbook-heading { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; margin-bottom:42px; }.review-playbook-heading h2 { margin:0; }.review-playbook-heading > p { color:var(--muted); margin:0; max-width:440px; text-wrap:pretty; }/* Both selectors are the same component: quiet track, raised white selection. */html body.review-page .review-tabs {display:flex;justify-content:center;width:fit-content;max-width:100%;margin:0 auto 32px;padding:4px;gap:4px;border:0;border-radius:var(--radius-pill);background:var(--surface-card)}html body.review-page .review-tabs button {font:var(--type-medium) var(--review-compact-size)/1.4 var(--type-family);padding:12px 22px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--muted);white-space:nowrap;cursor:pointer;transition:background var(--review-duration) var(--review-ease),color var(--review-duration)}html body.review-page .review-tabs button[aria-selected='true'] {color:var(--ink)}html body.review-page .review-tabs .tab-highlight {border-radius:var(--radius-pill);background:var(--white);box-shadow:0 2px 5px color-mix(in srgb,var(--navy) 6%,transparent)}html body.review-page .review-tabs.has-tab-highlight button[aria-selected='true'] {background:transparent;box-shadow:none}.review-situation-options .tab-highlight {transition:transform 360ms var(--review-ease),width 360ms var(--review-ease),height 360ms var(--review-ease)}html body .review-playbooks .relief-panel { gap:24px; }.review-playbook-panels { display:grid; }html body .review-playbooks .relief-panel { grid-area:1/1; }html body .review-playbooks .relief-panel[hidden] { display:grid; visibility:hidden; pointer-events:none; }html body .review-playbooks .relief-card { padding:12px; background:var(--review-dark-surface); border:1px solid var(--review-dark-line); border-radius:var(--radius-card); box-shadow:var(--review-ui-shadow); }html body .review-playbooks .relief-card-copy { padding:24px 12px 16px; }html body .review-playbooks .relief-card-copy h3 { min-height:var(--playbook-title-height,0px); margin:0 0 14px; color:var(--white); }html body .review-playbooks .relief-card-copy p { font-size:var(--review-compact-size); line-height:1.6; margin:0; color:var(--review-dark-muted); }html body .review-playbooks .relief-art { height:16.25rem; min-height:16.25rem; padding:1.125rem; border-radius:8px; }.review-playbooks .relief-card:nth-child(2) { --review-art-position:65% center; }.review-playbooks .relief-card:nth-child(3) { --review-art-position:35% center; }html body .review-playbooks .relief-art > div { font-size:var(--review-meta-size); padding:18px; background:color-mix(in srgb,var(--white) 95%,transparent); border:1px solid var(--line); border-radius:8px; box-shadow:var(--review-ui-shadow); }html body .review-playbooks :is(.relief-sheet-label,.relief-mini-mail > span,.relief-calendar > span,.relief-status,.relief-reply,.relief-calendar p,.relief-calendar small,.relief-channel-flow p,.relief-crm-fields span) { font-size:var(--review-meta-size); line-height:1.45; }html body .review-playbooks .relief-mini-mail > p { font-size:var(--review-compact-size); }html body .review-playbooks .relief-crm-fields { flex-wrap:wrap; }html body .review-playbooks .relief-calendar > div { gap:12px; }html body .review-playbooks .relief-transfer { display:flex; justify-content:center; padding:12px 0; color:var(--violet); }html body .review-playbooks .relief-sheet-label { margin-bottom:16px; }html body .review-playbooks .relief-art::before { border-radius:inherit; }/* Three alternative starting points, one composed stage. */.review-situations { background:var(--paper); }.situation-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:36px}.review-situations h2 {margin:0}.review-situations-layout {position:relative}.situation-position {display:flex;gap:6px;flex:none;padding-bottom:4px;color:var(--muted);font-size:var(--review-meta-size);font-variant-numeric:tabular-nums}.situation-position [data-situation-position] {color:var(--ink);font-weight:var(--type-medium)}.review-situations .story-shell {width:min(var(--content-width),calc(100% - 64px));margin-inline:auto}.review-situation-options button > span {display:block}.review-situation-reading { display:grid; }.review-situation-reading article { grid-area:1/1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:3.5rem; align-items:center; min-height:20rem; }.review-situation-reading article[hidden] { display:grid; visibility:hidden; pointer-events:none; }.situation-copy h3 { margin:0 0 20px; color:var(--ink); max-width:460px; text-wrap:pretty; }.situation-copy > p { margin:0; color:var(--ink); max-width:450px; }.review-situation-detail { font-size:var(--review-compact-size); line-height:1.6; margin-top:16px; color:var(--muted); max-width:450px; }.situation-scene { min-width:0; height:18.75rem; display:flex; align-items:center; justify-content:center; position:relative; isolation:isolate; color:var(--ink); }.situation-scene::before { content:''; position:absolute; inset:12px -8px; border-radius:50%; background:radial-gradient(ellipse at 55% 65%,color-mix(in srgb,var(--lavender) 35%,transparent),transparent 72%); z-index:-1; }.situation-scene span { font-size:var(--review-meta-size); line-height:1.4; }.situation-object { background:var(--white); border:1px solid var(--line); border-radius:var(--radius-card); padding:22px; width:280px; min-width:0; box-shadow:var(--review-ui-shadow); }.situation-sources { display:grid; gap:12px; flex:none; }.situation-sources span { padding:12px; border:1px solid var(--line); border-radius:6px; background:var(--white); }.situation-sources .situation-missing { border-style:dashed; background:transparent; color:var(--muted); }.situation-missing b { float:right; margin-left:14px; font-size:16px; font-weight:var(--type-regular); }.situation-arrow { display:flex; align-items:center; justify-content:center; padding:14px; color:var(--muted); --icon-size:22px; }.situation-broken-route { width:56px; height:24px; flex:none; stroke:var(--muted); stroke-width:1.5; fill:none; stroke-linecap:round; stroke-linejoin:round; }.situation-broken-route .route-unresolved { stroke-dasharray:3 4; opacity:.5; }.situation-lanes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; height:115px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }.situation-lanes div { min-width:0; }.situation-lanes small { display:block; font-size:var(--review-meta-size); color:var(--muted); margin-bottom:14px; }.situation-lanes i { display:block; height:15px; background:var(--lavender); border-radius:3px; margin-bottom:8px; }.situation-lanes div:nth-child(2) i { background:color-mix(in srgb,var(--lavender) 50%,var(--white)); }.situation-lanes div:nth-child(3) i { background:transparent; border:1px dashed var(--line); }.situation-sheet { width:258px; }.situation-data-head { display:flex; justify-content:space-between; margin-top:20px; padding-bottom:10px; border-bottom:1px solid var(--line); color:var(--muted); }.situation-data-head small { font-size:var(--review-meta-size); }.situation-data-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }.situation-data-row:last-child { border:0; }.situation-data-row i { width:70px; height:5px; background:var(--line); border-radius:3px; }.situation-data-row b { font-size:var(--review-meta-size); font-weight:var(--type-regular); color:var(--muted); padding:4px 7px; border-radius:4px; background:var(--soft); }.situation-rows { display:grid; gap:14px; margin-top:22px; }.situation-rows i { height:5px; background:var(--line); border-radius:3px; }.situation-rows i:nth-child(2) { width:85%; }.situation-rows i:nth-child(3) { width:60%; }.situation-empty { width:150px; display:grid; gap:18px; justify-items:center; text-align:center; border-style:dashed; }.situation-empty .ui-icon { --icon-size:28px; color:var(--muted); }.situation-empty i,.situation-feedback i { height:7px; width:65px; border-bottom:1px dashed var(--muted); opacity:.35; }.situation-mail-stack { width:270px; position:relative; margin-right:28px; }.situation-mail-back { position:absolute; inset:-10px 10px 10px -8px; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); }.situation-mail { position:relative; width:100%; padding:28px; }.situation-mail small { display:block; font-size:var(--review-meta-size); color:var(--muted); margin-top:28px; }.situation-feedback { position:relative; display:grid; padding:20px 16px; gap:16px; color:var(--muted); background:var(--white); border:1px solid var(--line); border-radius:var(--radius-card); }.situation-feedback::before { content:''; position:absolute; right:100%; top:50%; width:28px; border-top:1px dashed var(--line); }.situation-feedback span { padding-bottom:12px; border-bottom:1px solid var(--line); }@media(max-width:1100px) {
  .review-situation-reading article { gap:40px; }
  .situation-object { padding:18px; }
  .situation-sources span { padding:10px; }
}@media (min-width:701px) and (max-width:999px) {
  html body .review-playbooks .relief-panel {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 6px 16px;gap:24px}
  html body .review-playbooks .relief-panel[hidden] {display:flex}
  html body .review-playbooks .relief-card {flex:0 0 min(430px,85%);scroll-snap-align:start}
}@media(max-width:800px) {
  .review-playbooks > .story-shell { width:calc(100% - 48px); }
  .review-fit-layout { grid-template-columns:1fr; gap:40px; }
  .review-fit h2 { position:static; }
  .review-fit-list p { font-size:var(--review-body-size); }
  .review-playbook-heading { grid-template-columns:1fr; gap:24px; }
  .review-situation-reading article { grid-template-columns:1fr; gap:24px; }
  .situation-scene { max-width:480px; width:100%; margin:auto; height:300px; }
  .situation-copy { max-width:560px; }
  html body .review-playbooks .relief-art { padding:18px; }
}@media(max-width:700px) {
  html body .review-playbooks .relief-panel[hidden] { display:flex; overflow-x:auto; padding:0 6px 16px; }
  html body .review-playbooks .relief-panel > .relief-card { flex-basis:100%; }
  html body .review-playbooks .relief-card-copy h3 { min-height:0; }
}@media(max-width:600px) {
  body.review-page { --review-chapter-size:1.5rem; --section-inset:72px; --review-page-gutter:24px; }
  .review-fit-list li { gap:12px; }
  .review-situations .story-shell { width:min(var(--content-width),calc(100% - 40px)); }
  .review-playbook-heading { margin-bottom:30px; }
  .situation-heading {gap:20px;margin-bottom:28px;align-items:flex-end}
  .situation-position {padding-bottom:4px}
  .review-situation-reading article { gap:16px; }
  .situation-scene { height:300px; }
  #situation-new .situation-scene { flex-direction:column; }
  #situation-new .situation-sources { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  #situation-new .situation-sources span { font-size:var(--review-meta-size); padding:10px 6px; text-align:center; }
  #situation-new .situation-missing b { display:none; }
  #situation-new .situation-arrow { padding:4px; transform:rotate(90deg); }
  #situation-new .situation-object { width:100%; }
  .situation-sheet { width:calc(100% - 150px); padding:16px; }
  .situation-data-row { gap:8px; }
  .situation-data-row i { width:50px; }
  .situation-data-row b { padding:4px; }
  .situation-empty { width:116px; padding:16px 10px; }
  .situation-broken-route { width:34px; }
  .situation-arrow { padding:8px; }
  .situation-mail-stack { width:calc(100% - 125px); margin-right:20px; }
  .situation-mail { padding:20px; }
  .situation-feedback { padding:16px 12px; }
  .situation-feedback::before { width:20px; }
  html body .review-playbooks .relief-art { padding:18px; }
  html body .review-playbooks .relief-card-copy h3 { min-height:0; }
  html body .review-playbooks .relief-art > div { padding:18px; }
}@media(max-width:800px) {
  html body.review-page .review-tabs {display:grid;grid-template-columns:1fr;width:100%;border-radius:var(--radius-card);overflow:visible}
  html body.review-page .review-tabs button {text-align:left;white-space:normal;border-radius:var(--radius-card);padding:12px 16px}
  html body.review-page .review-tabs .tab-highlight {border-radius:var(--radius-card)}
}/* review-finish.css *//* Final role audit: the same type, surface and motion rules across the reviewed page. */html body.review-page main .faq-section h2 {font-size:var(--section-title-size);font-weight:var(--type-semibold);line-height:1.25;letter-spacing:-.018em;color:var(--ink)}html body.review-page .faq-list summary {font-size:var(--review-body-size);font-weight:var(--type-medium);color:var(--ink);line-height:1.5}html body.review-page .faq-list details p {font-size:var(--review-body-size);line-height:1.6;color:var(--muted)}html body.review-page .faq-heading p {font-size:var(--review-body-size);line-height:1.6}html body.review-page .human-club-photos figcaption strong {color:var(--ink)}html body.review-page main>.human-closing h2 {font-size:var(--review-proof-heading-size);font-weight:var(--review-heading-weight);line-height:1.25;letter-spacing:-.018em;max-width:48rem;color:var(--review-on-dark);text-wrap:balance}html body.review-page :is(.human-closing-intro,.review-fit h2,.review-fit-list p) {color:var(--review-on-dark)}html body.review-page .human-closing-reassurance {color:var(--review-dark-muted)}html body.review-page :is(.human-closing,.reveal-footer) {background-color:var(--review-deep)}html body.review-page .footer-inner :is(a,span,small) {font-size:var(--review-meta-size);line-height:1.5;color:var(--review-dark-muted)}html body.review-page .footer-inner a:hover {color:var(--white)}html body.review-page .floating-analysis-copy>span {font-size:var(--review-meta-size);color:var(--review-dark-muted)}html body.review-page .result-detail {font-weight:var(--type-medium)}html body.review-page .human-work-art :is(.hw-text,.hw-title,.hw-meta,.hw-math) {fill:var(--ink)}html body.review-page .human-work-art .hw-dark {fill:var(--review-deep)}html body.review-page .human-work-art .hw-on-dark {fill:var(--review-on-dark)}html body.review-page .human-work-art .hw-meta {font-size:16px}html body.review-page .human-closing .human-book-call {color:var(--navy)}html body.review-page .skip-link {font-size:var(--review-body-size)}html body.review-page .explanation-benefit>span {color:var(--review-dark-label)}html body.review-page .review-opening .hero-atmosphere {background:var(--review-deep)}html body.review-page .review-opening .hero-atmosphere img {opacity:.8}html body.review-page .review-opening .hero-atmosphere::after {background:linear-gradient(color-mix(in srgb,var(--review-deep) 60%,transparent),color-mix(in srgb,var(--review-deep) 54%,transparent) 75%,transparent 90%)}html body.review-page .human-closing::after {background:linear-gradient(180deg,var(--review-deep),color-mix(in srgb,var(--review-deep) 54%,transparent) 50%,color-mix(in srgb,var(--review-deep) 90%,transparent) 82%,var(--review-deep) 100%)}html body.review-page .human-closing-art img {opacity:.6}html body.review-page .proof-logo-art {opacity:1}html body.review-page .terrain-hero .book-call,html body.review-page:has(.review-opening) .review-nav.is-at-top .book-call {background:var(--white);color:var(--navy)}html body.review-page .terrain-hero .book-call:hover,html body.review-page:has(.review-opening) .review-nav.is-at-top .book-call:hover {background:var(--lavender)}html body.review-page .floating-analysis {transition:opacity 180ms linear,filter 180ms linear,transform 300ms var(--review-ease),visibility 420ms}html body.review-page .floating-analysis.is-visible {opacity:var(--footer-pill-opacity,1);filter:blur(var(--footer-pill-blur,0px));transform:translate(-50%,0) scale(var(--footer-pill-scale,1))}html body.review-page .floating-analysis.is-footer-dissolved .floating-analysis-link,html body.review-page .floating-analysis.is-footer-dissolved .floating-analysis-link::before {animation-play-state:paused}html body.review-page .terrain-hero :is(.hybrid-hero-positioning,.hero-lead) {font-size:var(--review-body-size)}html body.review-page .terrain-hero .hybrid-hero-positioning {font-size:var(--review-compact-size)}html body.review-page .terrain-hero :is(h1,.hero-lead,.hybrid-hero-positioning),html body.review-page .hero-actions>a {animation-duration:520ms;animation-timing-function:var(--review-ease)}html body.review-page .hero-statement>h1 {animation-delay:50ms}html body.review-page .hero-statement>.hero-lead {animation-delay:100ms}html body.review-page .hero-actions>a:first-child {animation-delay:150ms}html body.review-page .hero-actions>a:last-child {animation-delay:200ms}/* A prepared drawing never flashes its completed state before beginning. */.method-diagram:not(.is-demonstrating) .database-record .data-stroke {scale:.35 1;transform-origin:left;background:var(--violet)}.method-diagram:not(.is-demonstrating) .test-draft.is-winner>i {background:var(--violet)}.method-diagram:not(.is-demonstrating) :is(.variant-row>span,.positive-signal) {background:var(--lavender)}.method-diagram:not(.is-demonstrating) .contact-avatar {opacity:.25;scale:.8}.method-diagram.is-demonstrating .route-pulses path {animation-duration:650ms;animation-delay:calc(var(--route-delay,200ms)*.35)}.method-diagram.is-demonstrating .database-record .data-stroke {animation-duration:520ms;animation-delay:calc(var(--record-delay,700ms)*.3)}.method-diagram.is-demonstrating .variant-row>span,.method-diagram.is-demonstrating .positive-signal {animation-duration:520ms;animation-delay:270ms}.method-diagram.is-demonstrating .variant-row>span:nth-child(2) {animation-delay:330ms}.method-diagram.is-demonstrating .variant-row>span:nth-child(3) {animation-delay:390ms}.method-diagram.is-demonstrating .pipeline-record .contact-avatar {animation-duration:520ms;animation-delay:360ms}.human-work-art:not(.is-arriving) .hw-populate {opacity:.1}.human-work-art:not(.is-arriving) .hw-check-step {opacity:0}.human-work-art:not(.is-arriving) .hw-warmup {opacity:.3;fill:var(--lavender)}.human-work-art:not(.is-arriving) .hw-selection {fill:var(--paper)}.human-work-art.is-arriving .hw-populate {animation-duration:700ms;animation-delay:calc(var(--step)*40ms)}.human-work-art.is-arriving .hw-check-step {animation-duration:700ms;animation-delay:calc(100ms + var(--step)*160ms)}.human-work-art.is-arriving .hw-warmup {animation-duration:850ms;animation-delay:calc(var(--step)*90ms)}.human-work-art.is-arriving .hw-selection {animation-duration:1100ms}.review-rail-controls {display:none}.review-rail-controls[hidden] {display:none!important}@media(max-width:999px) {
  html body.review-page .mobile-rail {display:flex;flex-wrap:nowrap;align-items:flex-start;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;padding:0 0 14px;margin-bottom:0;columns:auto;scrollbar-width:thin;scrollbar-color:var(--lavender) transparent;transition:height 220ms var(--review-ease);width:100%;min-width:0}
  html body.review-page .mobile-rail>* {flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:normal;align-self:flex-start}
  html body.review-page .mobile-rail:focus-visible {outline:2px solid var(--violet);outline-offset:4px}
  .review-rail-controls {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:10px;margin-bottom:0;color:var(--muted)}
  .review-playbook-panels>.review-rail-controls {grid-area:2/1}
  .review-rail-count {font-size:var(--review-meta-size);line-height:1.5;font-variant-numeric:tabular-nums}
  .review-rail-controls>div {display:flex;gap:8px}
  .review-rail-controls button {display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--ink);cursor:pointer;transition:background var(--review-duration),opacity var(--review-duration)}
  .review-rail-controls button:disabled {opacity:.35;cursor:default}
  .review-rail-controls button:not(:disabled):hover {background:var(--surface-card)}
  .review-rail-controls button:focus-visible {outline:2px solid var(--violet);outline-offset:3px}
  html body.review-page .review-tabs {display:flex;width:100%;overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap;border-radius:var(--radius-pill);scrollbar-width:none;margin-bottom:24px}
  html body.review-page .review-tabs button {flex:none;white-space:nowrap;border-radius:var(--radius-pill);padding:12px 18px;text-align:center}
  html body.review-page .review-tabs .tab-highlight {border-radius:var(--radius-pill)}
  html body.review-page .review-situation-reading article,html body.review-page .review-situation-reading article[hidden] {display:flex;flex-direction:column;visibility:visible;gap:24px;pointer-events:auto}
  .situation-scene {width:100%;max-width:480px;margin:auto}
  .situation-copy {width:100%;max-width:none}
  .situation-position {display:none}
  html body.review-page .results-grid .result-card {grid-row:auto;grid-template-rows:auto auto 1fr auto;--result-media-size:8rem;column-gap:20px;padding:20px}
  html body.review-page .result-card.result-invitation {grid-template-rows:auto auto}
  html body.review-page .result-card .result-invitation-link {grid-row:2}
  html body.review-page .result-invitation-body {grid-row:1}
  html body.review-page .results-grid.mobile-rail>.result-card {flex-basis:100%}
  .foundation-intro h2 br {display:none}
  .foundation-stage {padding-bottom:0}
  .responsibility-map {display:block;margin-bottom:24px}
  .foundation-handoff {display:none}
  .foundation-agency-group {padding:16px}
  .foundation-stops {display:flex;overflow-x:auto;gap:6px;scrollbar-width:none;scroll-snap-type:x proximity}
  .foundation-stop {flex:0 0 auto;padding:12px;gap:0;scroll-snap-align:center}
  .foundation-stop .foundation-step-result,.foundation-stop .foundation-step-icon {display:none}
  .foundation-stop>strong {white-space:nowrap}
  .foundation-progress {display:none}
  .foundation-panel {display:flex;flex-direction:column;gap:20px;padding:0;margin:0;border:0}
  .foundation-purpose {padding:0}
  .foundation-purpose h3 {margin:0;max-width:none}
  .foundation-comparison {grid-template-columns:1fr;gap:12px}
  .foundation-sales-group {margin-top:28px;padding:20px;display:block;background:var(--soft)}
  .foundation-sales-group .responsibility-owner {margin-bottom:12px}
  .foundation-sales-copy {padding:0}
  .foundation-sales-copy h3 br {display:none}
  .foundation-sales-copy h3 {font-size:var(--review-card-size)}
  .foundation-sales-copy p {margin-top:10px;max-width:none}
  html body.review-page .explanation-chapters .explanation-chapter {position:relative;display:flex;flex-direction:column;gap:28px;margin:0;transform:none;height:auto;visibility:visible}
  .explanation-copy {max-width:none;padding:12px 8px 0}
  html body.review-page .explanation-method .method-diagram {max-width:none;min-height:370px;padding:20px 12px;flex-shrink:0}
  html body.review-page .human-people.mobile-rail>.human-person {flex-basis:min(78%,320px)}
  html body.review-page .human-club-photos.mobile-rail>figure {flex-basis:100%}
  .human-club-photos img {height:auto;aspect-ratio:4/3}
  .human-club-photos figcaption {margin-top:16px}
  .human-community {margin-top:56px}
  html body.review-page .human-quote-wall .human-quote {display:flex;margin:0;min-height:0}
  .human-timeline {display:block}
  .human-rail-track,.human-milestone-dot,.human-milestone::after {display:none!important}
  .human-milestone {padding:24px;min-height:0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--white)}
  .human-milestone:last-child {padding-bottom:24px}
  .human-milestone-control {pointer-events:none;cursor:default}
  .human-milestone h3 {color:var(--ink);margin-top:10px;font-size:var(--review-card-size)}
  .human-step-description {margin-top:20px}
  .human-timeline-companion {display:none}
  .human-process-heading {margin-bottom:32px}
}@media(max-width:600px) {
  html body.review-page .results-grid .result-card {--result-media-size:6.5rem;column-gap:16px}
  html body.review-page .result-change {gap:16px}
  html body.review-page .result-card .result-outcome strong {font-size:1.875rem}

}@media(prefers-reduced-motion:reduce) {
  html body.review-page *,html body.review-page *::before,html body.review-page *::after {animation-duration:0s!important;animation-delay:0s!important;transition-duration:0s!important;scroll-behavior:auto!important}
  html body.review-page .floating-analysis.is-visible {filter:none;transform:translate(-50%,0)}
  .method-diagram:not(.is-demonstrating) .data-stroke {scale:1 1;background:var(--line)}
  .method-diagram:not(.is-demonstrating) .contact-avatar {opacity:1;scale:1}
  .human-work-art:not(.is-arriving) :is(.hw-populate,.hw-check-step,.hw-warmup) {opacity:1}
}/* A quieter close: the existing team, community and FAQ share the page rhythm. */html body.review-page .human-team { padding-block: clamp(80px, 8vw, 120px); }html body.review-page .human-team-intro { margin-bottom: 36px; gap: 40px; }html body.review-page .human-people { gap: 20px; }html body.review-page .human-portrait { aspect-ratio: 1 / 1; }html body.review-page .human-person h3 { margin-top: 16px; margin-bottom: 6px; }html body.review-page .human-person .human-role { min-height: 0; }html body.review-page .human-person p { margin-top: 10px; }html body.review-page .human-community { margin-top: 56px; padding-top: 40px; }html body.review-page .human-community-heading p { margin-bottom: 26px; }html body.review-page .human-club-photos > figure > img { height: 218px; }html body.review-page .human-club-photos figcaption { margin-top: 16px; }html body.review-page .human-community-rail { margin-top: 28px; }html body.review-page .faq-section { padding-block: clamp(80px, 8vw, 120px); background: linear-gradient(150deg, color-mix(in srgb, var(--lavender) 13%, var(--white)), var(--white) 65%); }html body.review-page .faq-layout { grid-template-columns: .75fr 1.25fr; gap: clamp(40px, 6vw, 80px); align-items: start; }html body.review-page .faq-heading p { margin-top: 16px; color: var(--muted); }html body.review-page .faq-list { border: 0; display: grid; gap: 10px; }html body.review-page .faq-list details { border: 0; border-radius: var(--radius-card); background: color-mix(in srgb, var(--lavender) 17%, var(--white)); transition: background 240ms var(--review-ease); }html body.review-page .faq-list details[open] { background: color-mix(in srgb, var(--lavender) 28%, var(--white)); }html body.review-page .faq-list summary { gap: 20px; padding: 23px 24px; border-radius: inherit; }html body.review-page .faq-list summary:hover { color: var(--violet); }html body.review-page .faq-list summary:focus-visible { outline: 2px solid var(--violet); outline-offset: 3px; }html body.review-page .faq-list summary > span { display: grid; place-items: center; flex: none; width: 24px; height: 24px; color: var(--violet); }html body.review-page .faq-list details > div { padding: 0 24px 24px; }html body.review-page .faq-list details p { margin: 0; max-width: 60ch; }html body.review-page .trust-footer a { transition: color 200ms var(--review-ease), background 200ms var(--review-ease), opacity 200ms var(--review-ease); }html body.review-page .trust-footer a:focus-visible { outline: 2px solid var(--lavender); outline-offset: 5px; border-radius: 3px; }@media (max-width: 760px) {
 html body.review-page .human-team-intro { gap: 22px; }
 html body.review-page .human-people { gap: 16px; }
 html body.review-page .human-community { margin-top: 40px; padding-top: 32px; }
 html body.review-page .human-club-photos > figure > img { height: 200px; }
 html body.review-page .faq-layout { grid-template-columns: 1fr; gap: 30px; }
 html body.review-page .faq-list summary { padding: 20px; gap: 16px; }
 html body.review-page .faq-list details > div { padding: 0 20px 22px; }
}@media (prefers-reduced-motion: reduce) {
 html body.review-page .faq-list details, html body.review-page .trust-footer a { transition: none; }
}/* review-booking.css *//* Booking uses the homepage type roles and palette, with a quieter composition. */body.booking-page {background:var(--soft);color:var(--ink)}.booking-page .booking-nav {width:min(86rem,calc(100% - 6rem));margin:auto;padding-block:2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.booking-nav .terrain-wordmark {color:var(--ink)}.booking-back {display:inline-flex;align-items:center;gap:.5rem;font-size:var(--review-compact-size);color:var(--muted);text-decoration:none}.booking-back:hover {color:var(--ink)}.booking-page .booking-main {padding:1.5rem 0 4rem;margin:0;min-height:calc(100svh - 6rem);background:none;border-radius:0}.booking-layout {width:min(86rem,calc(100% - 6rem));margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(3rem,5vw,5rem);align-items:start}.booking-conversation {min-width:0}.booking-intro {max-width:33rem;margin-bottom:2rem}.booking-host {display:flex;align-items:center;gap:.875rem;margin-bottom:1.5rem;font-size:var(--review-meta-size);line-height:1.5;color:var(--muted)}.booking-host img {width:3rem;height:3rem;object-fit:cover;border-radius:50%}.booking-host strong {display:block;font-size:var(--review-compact-size);font-weight:var(--type-medium);color:var(--ink)}html body.booking-page main h1 {font-family:inherit;font-size:var(--review-proof-heading-size);font-weight:var(--type-semibold);line-height:1.2;letter-spacing:-.025em;margin:0 0 1rem;color:var(--ink)}.booking-intro>p {font-size:var(--review-body-size);line-height:1.6;color:var(--muted);margin:0 0 1.25rem;max-width:31rem}.booking-facts {display:flex;flex-wrap:wrap;gap:.625rem 1rem;padding:0;margin:0;list-style:none;font-size:var(--review-compact-size);color:var(--ink)}.booking-facts li+li {border-left:1px solid var(--line);padding-left:1rem}.booking-calendar {min-width:0;min-height:42rem;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--white);box-shadow:var(--review-ui-shadow);overflow:hidden;position:relative}.booking-calendar iframe {width:100%;min-height:42rem;border:0;display:block}.booking-pending {min-height:27rem;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.booking-calendar-symbol {width:3.5rem;height:3.5rem;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--violet);margin-bottom:1.5rem}.booking-calendar-symbol .ui-icon {--icon-size:24px}html body.booking-page .booking-pending h2 {font-size:var(--review-card-size);font-weight:var(--type-medium);line-height:1.4;letter-spacing:-.012em;margin:0 0 .5rem}.booking-pending p {font-size:var(--review-compact-size);line-height:1.6;color:var(--muted);max-width:18rem;margin:0}.booking-preview-label {font-size:var(--review-meta-size);color:var(--muted);margin-top:2rem;padding:.35rem .75rem;background:var(--soft);border-radius:var(--radius-pill)}.booking-loading {position:absolute;inset:0;display:grid;place-items:center;font-size:var(--review-compact-size);color:var(--muted);pointer-events:none}.booking-calendar.has-calendar .booking-loading {display:none}.booking-direct {font-size:var(--review-meta-size);text-align:center;margin:1rem 0 0}.booking-direct a {color:var(--muted);display:inline-flex;gap:.4rem;align-items:center}.booking-proof {min-width:0;position:sticky;top:2rem}.booking-proof-heading {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;min-height:2rem}html body.booking-page .booking-proof-heading h2 {font-size:var(--review-card-size);font-weight:var(--type-medium);line-height:1.4;letter-spacing:-.012em;margin:0}.booking-motion {width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);color:var(--muted);background:var(--white);cursor:pointer;flex:none}.booking-motion span {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.booking-motion:hover {background:var(--lavender);color:var(--ink)}.booking-motion[hidden] {display:none}.booking-wall {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;position:relative;isolation:isolate;overflow:hidden;height:min(47rem,calc(100svh - 11rem));min-height:33rem;mask-image:linear-gradient(transparent,var(--white) 6%,var(--white) 93%,transparent)}.booking-wall::before,.booking-wall::after {content:'';position:absolute;z-index:2;left:0;right:0;height:2.5rem;pointer-events:none;backdrop-filter:blur(2px);mask-image:linear-gradient(var(--white),transparent)}.booking-wall::before {top:0}.booking-wall::after {bottom:0;transform:rotate(180deg)}.booking-column {min-width:0}.booking-run {display:grid;gap:1rem;padding-bottom:1rem}.booking-track {will-change:transform}.booking-quote {margin:0;padding:1.5rem;background:var(--white);border:1px solid color-mix(in srgb,var(--lavender) 45%,var(--white));border-radius:var(--radius-card);box-shadow:0 4px 16px color-mix(in srgb,var(--navy) 3%,transparent);min-width:0}.booking-mark {height:2.25rem;display:flex;align-items:center;justify-content:flex-start;margin-bottom:1.25rem}.booking-wordmark {font-size:var(--review-compact-size);font-weight:var(--type-semibold);color:var(--ink)}.booking-quote blockquote {font-size:var(--review-body-size);line-height:1.55;letter-spacing:-.006em;color:var(--ink);margin:0;text-wrap:pretty}.booking-quote-context {font-size:var(--review-meta-size);line-height:1.5;color:var(--muted);margin:.75rem 0 0}.booking-quote figcaption {display:flex;align-items:flex-start;gap:.625rem;margin-top:1.25rem;font-size:var(--review-meta-size);line-height:1.45;color:var(--muted)}.booking-quote figcaption>img {width:2.25rem;height:2.25rem;object-fit:cover;object-position:right center;border-radius:50%;flex:none}.booking-quote figcaption>span {min-width:0}.booking-quote figcaption :is(strong,small,span>span) {display:block}.booking-quote figcaption strong {font-size:var(--review-meta-size);font-weight:var(--type-medium);color:var(--ink)}.booking-quote figcaption small {font-size:inherit;hyphens:auto;overflow-wrap:break-word}.booking-page :is(a,button,.booking-wall):focus-visible {outline:2px solid var(--violet);outline-offset:4px}@media(max-width:1199px) {
  .booking-page .booking-nav,.booking-layout {width:min(42rem,calc(100% - 2.5rem))}
  .booking-page .booking-nav {padding-block:1.5rem}
  .booking-page .booking-main {padding-top:1rem}
  .booking-layout {grid-template-columns:1fr;gap:3rem}
  .booking-proof {position:static}
  .booking-proof-heading {margin-bottom:1.25rem}
  .booking-wall {display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--lavender) transparent;overscroll-behavior-x:contain;min-height:0;height:auto;mask-image:none;align-items:flex-start;padding-bottom:1rem}
  .booking-wall::before,.booking-wall::after {display:none}
  .booking-column,.booking-track,.booking-run {display:contents}
  .booking-run[aria-hidden="true"] {display:none}
  .booking-quote {flex:0 0 min(85%,22rem);scroll-snap-align:start}
  .booking-pending {min-height:22rem;padding:1.5rem}
  .booking-motion {display:none}
}@media(prefers-reduced-motion:reduce) {
  .booking-proof {position:static}
  .booking-wall {height:auto;min-height:0;mask-image:none;overflow:visible}
  .booking-wall::before,.booking-wall::after,.booking-run[aria-hidden="true"],.booking-motion {display:none}
  .booking-track {will-change:auto}
}@media(prefers-reduced-motion:reduce) and (max-width:1199px) {.booking-wall {overflow-x:auto}}@media(min-width:1200px) {
  .booking-page:not(.has-booking-motion) .booking-wall {height:auto;min-height:0;mask-image:none;overflow:visible}
  .booking-page:not(.has-booking-motion) .booking-wall::before,.booking-page:not(.has-booking-motion) .booking-wall::after {display:none}
}/* review-thank-you.css *//* The booking page's quiet surface, type scale and navigation, as one personal note. */body.thank-you-page {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
}.thank-you-page .booking-nav {
  flex: none;
  margin-block: 0;
}.thank-you-page .thank-you-main {
  flex: 1;
  display: grid;
  place-items: center;
  width: 100%;
  margin: 0;
  padding: 2rem 1.25rem 6rem;
  min-height: 0;
  background: none;
  border-radius: 0;
}.thank-you-page .thank-you-main .thank-you-note {
  width: min(100%, 42rem);
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.5rem, 5vw, 4rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--white);
  box-shadow: var(--review-ui-shadow);
  text-align: center;
}html body.thank-you-page .thank-you-note h1 {
  max-width: 24ch;
  margin: 0 auto 2.5rem;
  text-wrap: balance;
  overflow-wrap: anywhere;
}.thank-you-author {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}.thank-you-profile {
  display: flex;
  align-items: center;
  gap: 1rem;
  max-width: 100%;
  text-align: left;
}.thank-you-portrait {
  display: block;
  flex: none;
  width: 4.5rem;
  height: 4.5rem;
  object-fit: cover;
  border-radius: 50%;
  background: var(--soft);
}.thank-you-page .thank-you-identity {
  min-width: 0;
  margin: 0;
  font-size: var(--review-compact-size);
  line-height: 1.6;
  color: var(--muted);
}.thank-you-identity strong {
  display: block;
  font-size: var(--review-body-size);
  font-weight: var(--type-medium);
  color: var(--ink);
}.thank-you-identity span {display: block}/* Frame the ink inside the supplied image's white margins; keep the original file intact. */.thank-you-signature {
  position: relative;
  width: min(100%, 17rem);
  aspect-ratio: 1530 / 380;
  overflow: hidden;
  mix-blend-mode: multiply;
}.thank-you-signature img {
  position: absolute;
  display: block;
  width: 109.6732%;
  max-width: none;
  height: auto;
  left: -7.1895%;
  top: -73.6842%;
  filter: grayscale(1) contrast(1.15);
}@media (max-width: 599px) {
  .thank-you-page .thank-you-main {padding-block: 1.5rem 4rem}
  html body.thank-you-page .thank-you-note h1 {margin-bottom: 2rem}
  .thank-you-portrait {width: 4rem; height: 4rem}
  .thank-you-signature {width: min(100%, 15rem)}
}@media (prefers-reduced-motion: no-preference) {
  .thank-you-note {animation: thank-you-arrive 560ms var(--review-ease) both}
  .thank-you-author {animation: thank-you-arrive 560ms 100ms var(--review-ease) both}
  @keyframes thank-you-arrive {
    from {opacity: 0; transform: translateY(8px)}
    to {opacity: 1; transform: translateY(0)}
  }
}/* review-fit.css *//* The existing dark surface, with just a trace of the illustration palette. */.review-fit {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background:
    radial-gradient(
      ellipse at 22% 30%,
      color-mix(in srgb, var(--violet) 11%, transparent),
      transparent 68%
    ),
    radial-gradient(
      ellipse at 82% 80%,
      color-mix(in srgb, var(--lavender) 5%, transparent),
      transparent 64%
    ),
    var(--review-deep);
}.review-fit::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: url('../art/situation-grain.svg') repeat;
  background-size: 192px 192px;
  mix-blend-mode: soft-light;
  opacity: 0.045;
}.review-fit .review-fit-layout {
  position: relative;
}.review-fit .review-fit-list {
  display: grid;
  gap: 12px;
}.review-fit .review-fit-list > li {
  grid-template-columns: 28px 1fr;
  gap: 16px;
  align-items: start;
  padding: 22px 24px;
  border: 1px solid color-mix(in srgb, var(--white) 10%, transparent);
  border-radius: var(--radius-card);
  background: color-mix(in srgb, var(--white) 6%, transparent);
}.review-fit .review-fit-list > li > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--color-sky) 11%, transparent);
}.review-fit .review-fit-list > li > span .ui-icon {
  --icon-size: 18px;
}.review-fit.is-fit-animated h2 {
  position: relative;
  top: auto;
  transform-origin: 0 0;
}.fit-title-line {
  display: block;
  width: max-content;
  max-width: 100%;
}.review-fit-closing {
  position: relative;
}.review-fit-close {
  max-width: 30ch;
  margin: 56px auto 0;
  color: var(--review-on-dark);
  font-size: var(--section-title-size);
  font-weight: var(--review-heading-weight);
  line-height: 1.3;
  letter-spacing: -0.018em;
  text-align: center;
  text-wrap: balance;
}.review-fit.is-fit-pinned .review-fit-closing {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
}.review-fit.is-fit-pinned .review-fit-close {
  margin: 0;
}@media (max-width: 600px) {
  .review-fit .review-fit-list > li {
    gap: 12px;
    padding: 18px;
  }

  .review-fit-close {
    margin-top: 40px;
  }
}/* review-handoff.css *//* A quiet change of responsibility, between the pillars and methodology. */.sales-handoff {
  position: relative;
  isolation: isolate;
  overflow-anchor: none;
  color: var(--review-on-dark);
  margin-block: clamp(32px, 4vw, 64px);
}.handoff-stage {
  position: relative;
  display: grid;
  align-items: center;
  min-height: 100svh;
  padding: 112px var(--review-page-gutter) 128px;
}.handoff-surface {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(
      ellipse at 24% 24%,
      color-mix(in srgb, var(--violet) 24%, transparent),
      transparent 68%
    ),
    radial-gradient(
      ellipse at 80% 88%,
      color-mix(in srgb, var(--lavender) 7%, transparent),
      transparent 64%
    ),
    var(--review-deep);
}.handoff-surface::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: url('../art/situation-grain.svg') repeat;
  background-size: 192px 192px;
  mix-blend-mode: soft-light;
  opacity: 0.12;
}.handoff-messages {
  display: grid;
  gap: 96px;
  width: min(100%, var(--review-media-width));
  margin-inline: auto;
  text-align: center;
}.handoff-message {
  width: 100%;
}html body.review-page .handoff-statement {
  max-width: 24ch;
  margin: 0 auto;
  color: var(--review-on-dark);
  font-size: clamp(2.25rem, 4.8vw, 4rem);
  font-weight: var(--review-heading-weight);
  line-height: 1.18;
  letter-spacing: -0.018em;
  text-wrap: balance;
}html body.review-page .handoff-message:last-child .handoff-statement {
  max-width: 30ch;
}/* Sticky positioning reserves its own scroll space: no extra pin spacer can
   shift the workflow that follows. Without JS all statements remain in flow. */.sales-handoff.is-handoff-animated {
  height: calc(100svh + clamp(1000px, 150svh, 1600px));
}.is-handoff-animated .handoff-stage {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 0;
}.is-handoff-animated .handoff-messages {
  gap: 0;
}.is-handoff-animated .handoff-message {
  grid-area: 1 / 1;
  align-self: center;
}@media (max-width: 600px) {
  .handoff-messages {
    gap: 64px;
  }
}/* review-videos.css *//* One top-layer player for every interview, including the homepage. */.video-dialog {
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right))
    max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
  border: 0;
  background: color-mix(in srgb, var(--navy) 65%, transparent);
  backdrop-filter: blur(16px) saturate(0.8);
  -webkit-backdrop-filter: blur(16px) saturate(0.8);
  color: var(--white);
  overscroll-behavior: contain;
}.video-dialog[open] {
  display: grid;
  place-items: center;
}.video-dialog::backdrop {
  background: transparent;
}.video-dialog-panel {
  width: min(100%, 1000px, calc((100dvh - 164px) * 16 / 9));
  min-width: 0;
  border-radius: var(--surface-radius);
  background: color-mix(in srgb, var(--review-deep) 95%, var(--white));
  box-shadow: 0 24px 80px color-mix(in srgb, var(--navy) 30%, transparent);
  overflow: hidden;
}.video-dialog-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 12px 12px 24px;
}.video-dialog-heading h2 {
  margin: 0;
  font: var(--type-medium) 0.875rem/1.5 var(--type-family);
  color: var(--white);
  text-wrap: pretty;
}.video-dialog-close {
  display: grid;
  place-items: center;
  flex: none;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--white) 10%, transparent);
  color: var(--white);
  cursor: pointer;
  transition: background 220ms var(--review-ease);
}.video-dialog-close:hover {
  background: color-mix(in srgb, var(--white) 22%, transparent);
}.video-dialog-close svg {
  width: 20px;
  height: 20px;
}.video-dialog :is(button, a):focus-visible {
  outline: 2px solid var(--lavender);
  outline-offset: 3px;
}.video-dialog-screen {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--navy);
  container-type: inline-size;
}.video-dialog-screen video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: contain;
  accent-color: var(--lavender);
}.video-dialog-error {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 16px;
  padding: 24px;
  text-align: center;
}.video-dialog-error p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5;
}.video-dialog-error button {
  min-height: 44px;
  padding: 10px 20px;
  border: 0;
  border-radius: var(--radius-pill);
  background: var(--lavender);
  color: var(--navy);
  font: var(--type-medium) 0.875rem/1.4 var(--type-family);
  cursor: pointer;
}.video-dialog-error button:hover {
  background: var(--white);
}.video-end {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  align-content: center;
  align-items: center;
  gap: clamp(12px, 3cqw, 32px);
  padding: clamp(16px, 5cqw, 56px);
  background:
    linear-gradient(
      color-mix(in srgb, var(--review-deep) 85%, transparent),
      color-mix(in srgb, var(--navy) 90%, transparent)
    ),
    url('../art/method-atmosphere-v1.webp') center / cover;
  color: var(--white);
}.video-end-kicker,
.video-end-person {
  margin: 0;
  color: color-mix(in srgb, var(--white) 76%, transparent);
  font: var(--type-regular) clamp(13px, 1.8cqw, 16px)/1.5 var(--type-family);
}.video-end h3 {
  margin: 8px 0 4px;
  color: var(--white);
  font: var(--type-semibold) clamp(18px, 3.2cqw, 32px)/1.2 var(--type-family);
}.video-end-poster {
  grid-column: 2;
  grid-row: 1 / 3;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border-radius: var(--surface-radius);
  box-shadow: 0 12px 32px color-mix(in srgb, var(--navy) 25%, transparent);
}.video-end-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}.video-end-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  gap: 8px;
  min-height: 48px;
  padding: 12px 20px;
  border: 0;
  border-radius: var(--radius-pill);
  font: var(--type-medium) 0.875rem/1.4 var(--type-family);
  cursor: pointer;
  transition:
    background 220ms var(--review-ease),
    color 220ms var(--review-ease);
}.video-end-next {
  color: var(--navy);
  background: var(--lavender);
}.video-end-next:hover {
  background: var(--white);
}.video-end-actions .video-end-replay {
  padding: 12px;
  color: var(--white);
  background: color-mix(in srgb, var(--white) 10%, transparent);
}.video-end-replay:hover {
  background: color-mix(in srgb, var(--white) 22%, transparent);
}.video-end-actions svg {
  width: 20px;
  height: 20px;
}@container (max-width: 600px) {
  .video-end {
    grid-template-columns: 1fr 28%;
    gap: 12px;
  }
  .video-end h3 {
    margin-top: 4px;
  }
  .video-end-poster {
    grid-row: 1;
    border-radius: 8px;
  }
  .video-end-actions {
    grid-column: 1 / -1;
    gap: 8px;
  }
  .video-end-actions button {
    min-height: 44px;
    padding: 10px 16px;
  }
  .video-end-actions .video-end-replay {
    padding: 10px;
  }
}@media (max-width: 600px) {
  .video-dialog {
    padding: 12px;
  }
  .video-dialog-heading {
    padding-left: 16px;
  }
}@media (prefers-reduced-motion: reduce) {
  .video-dialog-close,
  .video-end-actions button {
    transition: none;
  }
}/* review-polish.css *//* Finish the existing illustrations. Section geometry and copy remain unchanged. */body.review-page {
  --art-sky: var(--color-sky);
  --art-edge: color-mix(in srgb, var(--violet) 23%, var(--white));
  --art-shadow: 0 1px 1px color-mix(in srgb,var(--white) 85%,transparent) inset,
    0 2px 3px color-mix(in srgb,var(--navy) 6%,transparent),
    0 12px 20px -12px color-mix(in srgb,var(--violet) 36%,transparent),
    0 24px 36px -24px color-mix(in srgb,var(--navy) 26%,transparent);
}/* A small amount of directional light, confined to the existing art wells. */html body.review-page :is(.method-diagram,.review-playbooks .relief-art,.human-stage-visual) {
  --review-art-opacity:.26;
  --review-art-blur:24px;
  --review-art-veil:linear-gradient(135deg,color-mix(in srgb,var(--white) 84%,transparent),color-mix(in srgb,var(--lavender) 60%,transparent) 65%,color-mix(in srgb,var(--peach) 55%,transparent));
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--white) 70%,transparent);
}html body.review-page .method-diagram-tests {
  --review-art-veil:linear-gradient(145deg,color-mix(in srgb,var(--peach) 66%,var(--white)),color-mix(in srgb,var(--white) 65%,transparent) 55%,color-mix(in srgb,var(--lavender) 50%,transparent));
}html body.review-page .method-diagram-cycle {
  --review-art-veil:linear-gradient(135deg,color-mix(in srgb,var(--art-sky) 30%,var(--white)),color-mix(in srgb,var(--white) 75%,transparent) 55%,color-mix(in srgb,var(--lavender) 65%,transparent));
}body.review-page .working-paper {border-color:var(--art-edge);box-shadow:var(--art-shadow)}/* Source colors converge into one database; existing labels and routes stay put. */body.review-page .market-sources {background:transparent;border-color:transparent}body.review-page .market-sources>span {border-color:color-mix(in srgb,var(--violet) 13%,var(--white));box-shadow:var(--art-shadow)}body.review-page .market-sources>span:first-child {background:linear-gradient(135deg,var(--white),var(--peach))}body.review-page .market-sources>span:nth-child(2) {background:linear-gradient(135deg,var(--white),var(--art-sky))}body.review-page .market-sources>span:nth-child(3) {background:linear-gradient(135deg,var(--white),var(--lavender))}body.review-page .market-database .paper-toolbar {background:linear-gradient(105deg,var(--navy),var(--violet));border-radius:8px 8px 0 0;color:var(--white);border-bottom-color:transparent}body.review-page .market-database .paper-dots {color:var(--lavender)}body.review-page .database-record.is-selected {background:linear-gradient(90deg,color-mix(in srgb,var(--art-sky) 28%,var(--white)),color-mix(in srgb,var(--lavender) 20%,var(--white)))}body.review-page .company-avatar {color:var(--violet)}body.review-page .database-signals>span:first-child {background:color-mix(in srgb,var(--art-sky) 32%,var(--white))}body.review-page .database-signals>span:last-child {background:color-mix(in srgb,var(--peach) 70%,var(--white))}body.review-page .verified-contact>svg {color:var(--violet)}body.review-page .mechanism-routes :is(.route-lines path,marker path) {stroke:color-mix(in srgb,var(--violet) 62%,var(--white))}body.review-page .mechanism-routes .route-pulses path {stroke:var(--violet);stroke-width:2.2}/* A visible winning message, rather than three indistinguishable grey papers. */body.review-page .test-draft {box-shadow:var(--art-shadow)}body.review-page .test-draft:first-child {background:linear-gradient(150deg,var(--white),color-mix(in srgb,var(--art-sky) 30%,var(--white)))}body.review-page .test-draft:last-child {background:linear-gradient(150deg,var(--white),color-mix(in srgb,var(--peach) 70%,var(--white)))}body.review-page .test-draft.is-rejected {opacity:.86}body.review-page .test-draft.is-winner {background:linear-gradient(145deg,var(--white),var(--lavender));border-color:var(--violet);box-shadow:var(--art-shadow),0 0 0 3px color-mix(in srgb,var(--violet) 9%,transparent)}body.review-page .test-draft.is-winner>small {color:var(--violet);font-weight:var(--type-semibold)}body.review-page .test-draft.is-winner>span::after {content:'✓';float:right;color:var(--violet)}body.review-page .test-refinement .paper-toolbar {background:color-mix(in srgb,var(--lavender) 48%,var(--white));border-radius:8px 8px 0 0}body.review-page .variant-row>span {box-shadow:inset 0 1px var(--white);border-color:var(--art-edge)}body.review-page .test-learning>span {color:var(--violet)}body.review-page .cycle-return {background:linear-gradient(145deg,var(--white),var(--peach));border-color:color-mix(in srgb,var(--violet) 18%,var(--peach));box-shadow:var(--art-shadow)}body.review-page .cycle-return>strong {color:var(--violet)}body.review-page .cycle-outreach .paper-toolbar {background:color-mix(in srgb,var(--lavender) 36%,var(--white));border-radius:8px 8px 0 0}body.review-page .outreach-message>.mini-envelope {color:var(--violet)}html body.review-page .cycle-pipeline .positive-signal {background:linear-gradient(110deg,var(--art-sky),color-mix(in srgb,var(--art-sky) 42%,var(--white)))}body.review-page .pipeline-owner {background:color-mix(in srgb,var(--art-sky) 25%,var(--white))}/* Selected controls retain their dimensions and interaction. */html body.review-page .review-tabs .tab-highlight {background:linear-gradient(135deg,var(--white),color-mix(in srgb,var(--lavender) 42%,var(--white)));box-shadow:0 0 0 1px color-mix(in srgb,var(--violet) 25%,transparent),0 3px 7px color-mix(in srgb,var(--violet) 12%,transparent)}html body.review-page .review-tabs button[aria-selected='true'] {color:var(--violet)}body.review-page .foundation-stop.is-active {border-color:color-mix(in srgb,var(--violet) 55%,var(--white));box-shadow:var(--art-shadow)}body.review-page .foundation-stop.is-active .foundation-step-icon {color:var(--violet)}body.review-page .foundation-stop.is-active .foundation-step-result {color:var(--violet)}body.review-page .foundation-mistake {background:linear-gradient(130deg,color-mix(in srgb,var(--peach) 62%,var(--white)),color-mix(in srgb,var(--peach) 25%,var(--white)))}body.review-page .foundation-approach {background:linear-gradient(130deg,color-mix(in srgb,var(--violet) 55%,var(--navy)),var(--review-deep))}body.review-page .review-fit-list>li>span {color:var(--color-sky);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--color-sky) 20%,transparent))}/* Playbooks keep the exact three-card layout and current content. */html body.review-page .review-playbooks .relief-card:nth-child(2) .relief-art {--review-art-veil:linear-gradient(140deg,color-mix(in srgb,var(--art-sky) 38%,var(--white)),color-mix(in srgb,var(--white) 80%,transparent))}html body.review-page .review-playbooks .relief-card:nth-child(3) .relief-art {--review-art-veil:linear-gradient(140deg,color-mix(in srgb,var(--peach) 78%,var(--white)),color-mix(in srgb,var(--white) 80%,transparent))}html body.review-page .review-playbooks .relief-art>div {border-color:var(--art-edge);box-shadow:var(--art-shadow)}html body.review-page .review-playbooks .relief-status {color:var(--violet);background:transparent;font-weight:var(--type-medium)}html body.review-page .review-playbooks .relief-reply {background:linear-gradient(115deg,var(--art-sky),color-mix(in srgb,var(--art-sky) 40%,var(--white)));color:var(--navy);box-shadow:0 4px 8px -5px color-mix(in srgb,var(--navy) 22%,transparent)}html body.review-page .review-playbooks .relief-calendar time {background:transparent;color:var(--violet);font-weight:var(--type-medium)}html body.review-page .review-playbooks .relief-channel-flow>div>span {background:color-mix(in srgb,var(--art-sky) 40%,var(--white));border-color:var(--art-edge);color:var(--navy)}html body.review-page .review-playbooks .relief-crm-fields>span {background:color-mix(in srgb,var(--lavender) 50%,var(--white));border-color:var(--art-edge)}/* Timeline artwork only: retain the original viewBox and illustration slot. */.polish-coin-rim {fill:color-mix(in srgb,var(--peach) 78%,var(--violet));stroke:color-mix(in srgb,var(--peach) 55%,var(--violet));stroke-width:1}.polish-coin-face {fill:url(#polish-coin-light);stroke:color-mix(in srgb,var(--peach) 55%,var(--violet));stroke-width:1.3}.polish-coin-inner {fill:none;stroke:color-mix(in srgb,var(--violet) 38%,var(--peach));stroke-width:1.1}.polish-coin-symbol {font-family:inherit;font-size:57px;font-weight:500;fill:var(--violet)}.polish-coin-light {stop-color:var(--white)}.polish-coin-mid {stop-color:var(--peach)}.polish-coin-end {stop-color:color-mix(in srgb,var(--peach) 75%,var(--violet))}.polish-svg-shadow {flood-color:var(--navy);flood-opacity:.13}.polish-svg-lavender {fill:var(--lavender)}.polish-svg-sky {fill:var(--color-sky)}.polish-svg-peach {fill:var(--peach)}.polish-svg-white {fill:var(--white)}.polish-svg-navy {fill:var(--navy)}.polish-svg-violet {fill:var(--violet)}.polish-svg-line {stroke:color-mix(in srgb,var(--violet) 35%,var(--white));stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round}.polish-svg-check {stroke:var(--violet);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.polish-call-label {font:500 14px var(--type-family);fill:var(--white)}.polish-call-meta {font:400 13px var(--type-family);fill:var(--navy)}.polish-call-icon {stroke:var(--white);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.polish-crm-label {font:500 14px var(--type-family);fill:var(--navy)}.polish-crm-note {font:400 12px var(--type-family);fill:var(--muted)}body.review-page .human-work-art[data-work-art='2'] .hw-tint {fill:color-mix(in srgb,var(--color-sky) 50%,var(--white))}body.review-page .human-work-art[data-work-art='2'] .hw-paper {fill:url(#polish-setup-light)}body.review-page .human-work-art[data-work-art='4'] .hw-selection {fill:var(--lavender)}body.review-page .human-work-art[data-work-art='5'] .hw-paper {fill:color-mix(in srgb,var(--color-sky) 22%,var(--white));stroke:color-mix(in srgb,var(--violet) 28%,var(--white))}body.review-page .human-work-art[data-work-art='5'] .hw-bright-line {stroke:var(--violet);stroke-width:2}.human-work-art.is-arriving .polish-crm-arrival {animation:polish-crm-arrive 900ms 200ms var(--review-ease) both}@keyframes polish-crm-arrive {from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}/* Real photos, accurate flag assets, and a paper-card edge in the existing row. */body.review-page .human-club-photos>figure {position:relative;background:var(--white);border-radius:var(--radius-card);box-shadow:0 0 0 1px color-mix(in srgb,var(--violet) 13%,var(--white)),0 4px 6px -4px color-mix(in srgb,var(--navy) 10%,transparent),0 12px 24px -18px color-mix(in srgb,var(--violet) 35%,transparent)}body.review-page .human-club-photos>figure>img {border-radius:var(--radius-card) var(--radius-card) 0 0}body.review-page .human-club-photos figcaption {padding-inline:18px;padding-bottom:18px}body.review-page .human-club-photos figcaption strong {display:flex;align-items:center;gap:10px}html body.review-page .human-club-photos .club-country-flag {position:static;display:block;flex:none;width:23px;height:auto;aspect-ratio:auto;border-radius:1px;object-fit:contain;box-shadow:0 0 0 1px color-mix(in srgb,var(--navy) 12%,transparent)}body.review-page .human-portrait {box-shadow:inset 0 1px color-mix(in srgb,var(--white) 60%,transparent)}body.review-page .human-portrait-rafael {background:linear-gradient(140deg,color-mix(in srgb,var(--peach) 55%,var(--white)),var(--lavender))}body.review-page .human-portrait-philipp {background:linear-gradient(140deg,color-mix(in srgb,var(--color-sky) 35%,var(--white)),var(--lavender))}body.review-page .human-quote blockquote {font-style:italic;quotes:'„' '“'}body.review-page .human-quote blockquote::before {content:open-quote}body.review-page .human-quote blockquote::after {content:close-quote}/* Approved footer A, finished with the existing brand signature and real content. */.reveal-footer.trust-footer {background:var(--navy);color:var(--white)}.trust-footer .footer-inner {width:min(72rem,calc(100% - 96px));padding-top:64px}.trust-footer-top {display:grid;grid-template-columns:1.65fr .8fr 1.25fr 1.2fr;gap:40px}.trust-footer-identity>strong {font-size:28px;font-weight:600;letter-spacing:-.04em}.trust-footer-identity>p {font-size:14px;line-height:1.7;color:var(--lavender);max-width:250px;margin:18px 0 0}.trust-footer-column {display:flex;flex-direction:column;align-items:flex-start;gap:14px}.trust-footer-column h3 {font-size:14px;font-weight:500;color:var(--white);margin:4px 0 8px}.trust-footer .footer-inner .trust-footer-column :is(a,span) {font-size:13px;line-height:1.6;color:color-mix(in srgb,var(--white) 72%,var(--navy));text-decoration:none}.trust-footer .footer-inner .trust-footer-column a:hover {color:var(--white);text-decoration:none}.trust-footer-contact {display:flex;align-items:center;gap:16px;margin-top:44px;padding:22px 0;border-top:1px solid color-mix(in srgb,var(--lavender) 18%,transparent);border-bottom:1px solid color-mix(in srgb,var(--lavender) 18%,transparent)}.trust-footer-contact>img {width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:50% 15%;background:linear-gradient(140deg,var(--white),var(--peach));border:2px solid color-mix(in srgb,var(--white) 75%,transparent)}.trust-footer-contact>div {display:grid;gap:5px}.trust-footer-contact strong {font-size:14px;font-weight:500;color:var(--white)}.trust-footer .footer-inner .trust-footer-contact span {font-size:12px;color:var(--lavender)}.trust-footer .footer-inner .trust-footer-book {display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:46px;padding:13px 20px;margin-left:auto;border-radius:6px;background:var(--color-sky);color:var(--navy);font-size:13px;font-weight:500;text-decoration:none;box-shadow:inset 0 1px color-mix(in srgb,var(--white) 55%,transparent);transition:background 180ms ease}.trust-footer .footer-inner .trust-footer-book:hover {background:var(--white);color:var(--navy)}.trust-footer-bottom {display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:25px}.trust-footer .footer-inner .trust-footer-bottom :is(span,small) {font-size:12px;color:color-mix(in srgb,var(--white) 62%,var(--navy))}.trust-footer .footer-legal {display:flex;flex-direction:row;gap:28px}.trust-footer .footer-legal small {margin-left:5px;opacity:.65}.trust-footer .footer-signature {width:100%;margin-top:46px;padding-top:0;color:var(--lavender);opacity:.28}.trust-footer .footer-signature use {fill:currentColor;stroke:none}.trust-footer .footer-signature:hover {opacity:.28}@media(max-width:999px) {
  .trust-footer-top {grid-template-columns:1.3fr 1fr;gap:36px}
}@media(max-width:600px) {
  .trust-footer .footer-inner {width:calc(100% - 40px);padding-top:44px}
  .trust-footer-top {grid-template-columns:1fr 1fr;gap:32px 22px}
  .trust-footer-identity {grid-column:1/-1}
  .trust-footer-identity>p {max-width:290px;margin-top:12px}
  .trust-footer-contact {flex-wrap:wrap;margin-top:32px;gap:14px}
  .trust-footer .footer-inner .trust-footer-book {width:100%;margin-top:6px}
  .trust-footer-bottom {align-items:flex-start;flex-direction:column;gap:18px}
  .trust-footer .footer-signature {margin-top:28px}
}@media(prefers-reduced-motion:reduce) {
  .human-work-art.is-arriving .polish-crm-arrival {animation:none}
}/* review-situations.css *//* The three situation illustrations share the hero's ink, paper and grain. */.review-situations .situation-crafted {
  --craft-line: color-mix(in srgb, var(--violet) 21%, var(--white));
  --craft-soft: color-mix(in srgb, var(--lavender) 32%, var(--white));
  --craft-lift: 0 2px 4px -2px color-mix(in srgb, var(--navy) 12%, transparent),
    0 14px 30px -20px color-mix(in srgb, var(--navy) 28%, transparent);
  display: block;
  container-type: inline-size;
  color: var(--navy);
}.review-situations .situation-crafted::before { content: none; }.situation-crafted *, .situation-crafted *::before, .situation-crafted *::after { box-sizing: border-box; }.review-situations .situation-crafted span { font-size: inherit; line-height: inherit; }.situation-crafted .ui-icon { width: 18px; height: 18px; stroke-width: 1.6; flex: none; }/* Keep the original tab geometry. */html body.review-page .review-situations .tab-highlight { background: var(--white); box-shadow: 0 0 0 1px var(--line), 0 2px 4px color-mix(in srgb, var(--navy) 4%, transparent); }.review-situations .situation-heading { margin-bottom: 40px; }html body.review-page .review-situations .review-tabs { margin-bottom: 40px; }.situation-points { list-style: none; margin: 0; padding: 0; }.situation-points > li { display: grid; grid-template-columns: 28px 1fr; align-items: start; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--line); }.situation-points > li:first-child { padding-top: 0; }.situation-points > li:last-child { padding-bottom: 0; border-bottom: 0; }.situation-points > li > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: var(--radius-pill); color: var(--violet); background: color-mix(in srgb, var(--lavender) 35%, var(--white)); }.situation-points .ui-icon { --icon-size: 16px; }.situation-points p { margin: 0; font-size: var(--review-body-size); line-height: 1.6; font-weight: var(--type-regular); color: var(--ink); text-wrap: pretty; }@media (max-width: 999px) {
  .review-situations .situation-heading,
  html body.review-page .review-situations .review-tabs { margin-bottom: 32px; }
  .situation-points > li { gap: 12px; padding-block: 18px; }
}/* A single email, with a real deletion gesture. */.review-situations .agency-scene {
  overflow: hidden;
  border-radius: 28px;
  background: var(--violet);
  isolation: isolate;
}.agency-atmosphere {
  position: absolute;
  z-index: -2;
  inset: -8%;
  background: var(--navy) url('../art/hero-grain-neo.webp') 54% 53% / cover;
  transform: scale(1.04);
}.agency-light {
  position: absolute;
  z-index: -1;
  inset: 0;
  /* Frost and peach make a soft green tint; the hero image still supplies the light. */
  background: linear-gradient(155deg, color-mix(in srgb, var(--color-frost) 55%, var(--peach)), color-mix(in srgb, var(--color-frost) 85%, var(--peach)));
  mix-blend-mode: color;
  opacity: .92;
  pointer-events: none;
}.agency-message {
  position: absolute;
  z-index: 1;
  left: 30px;
  top: 32px;
  width: calc(100% - 72px);
  max-width: 360px;
  padding: 20px 23px 21px;
  border-radius: 20px;
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 1px 1px color-mix(in srgb, var(--navy) 5%, transparent),
    0 6px 16px -8px color-mix(in srgb, var(--navy) 18%, transparent),
    0 22px 45px -15px color-mix(in srgb, var(--navy) 28%, transparent);
  transform-origin: center;
}.agency-sender { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 11px; line-height: 1.4; }.agency-sender > span:first-child { font-weight: 500; }.agency-sender > span:last-child { color: var(--muted); font-size: 10px; }.agency-subject { margin-top: 13px; font-size: 19px; line-height: 1.25; letter-spacing: -.025em; font-weight: 500; }.agency-message p { font-size: 13px; line-height: 1.5; letter-spacing: -.012em; color: var(--muted); margin: 11px 0 0; }.agency-message p + p { color: var(--navy); margin-top: 10px; }.agency-delete {
  position: absolute;
  z-index: 3;
  right: 29px;
  bottom: 24px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 17px 10px 13px;
  border: 0;
  border-radius: 99px;
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--navy) 8%, transparent), 0 8px 18px -8px color-mix(in srgb, var(--navy) 24%, transparent);
  font: 500 13px/1.4 var(--type-family);
  cursor: pointer;
  transition: box-shadow 180ms ease, translate 180ms ease;
}.agency-delete:hover { translate: 0 -2px; box-shadow: 0 2px 4px color-mix(in srgb, var(--navy) 8%, transparent), 0 12px 24px -8px color-mix(in srgb, var(--navy) 26%, transparent); }.agency-delete:active { translate: 0 0; }.agency-delete:focus-visible { outline: 2px solid var(--white); outline-offset: 4px; }.agency-delete:disabled { cursor: default; }.agency-bin, .agency-replay { width: 21px; height: 21px; flex: none; stroke: var(--violet); stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }.agency-bin-body { fill: var(--lavender); stroke: none; }.agency-bin-ribs { stroke: var(--violet); stroke-width: 1.2; }.agency-bin-lid { transform-origin: 17px 6px; }.agency-replay { display: none; }.agency-confirmation { position: absolute; inset: 0; display: grid; place-items: center; padding-bottom: 15px; opacity: 0; pointer-events: none; color: var(--white); font-size: 26px; font-weight: 500; letter-spacing: -.035em; }.agency-scene[data-state='deleted'] .agency-message { visibility: hidden; }.agency-scene[data-state='deleted'] .agency-confirmation { opacity: 1; }.agency-scene[data-state='deleted'] .agency-bin { display: none; }.agency-scene[data-state='deleted'] .agency-replay { display: block; }.agency-status { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }@container (max-width: 390px) {
  .agency-message { left: 22px; width: calc(100% - 44px); padding-inline: 21px; }
  .agency-delete { right: 22px; }
}@container (max-width: 310px) {
  .agency-message { left: 18px; top: 22px; width: calc(100% - 36px); padding: 18px; }
  .agency-subject { font-size: 18px; }
  .agency-message p { font-size: 12px; line-height: 1.5; }
  .agency-delete { right: 18px; bottom: 18px; min-height: 40px; font-size: 12px; }
}@media (prefers-reduced-motion: reduce) {
  .agency-delete { transition: none; }
}/* One photographic atmosphere: purple-peach, blue, then green. */.review-situations :is(.channel-scene, .manual-scene) { overflow: hidden; border-radius: 28px; isolation: isolate; }.situation-atmosphere { position: absolute; z-index: -1; inset: -5%; pointer-events: none; isolation: isolate; background: var(--navy) url('../art/hero-grain-neo.webp') 54% 53% / cover; }.situation-atmosphere::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 90% 5%, color-mix(in srgb, var(--lavender) 48%, transparent), transparent 65%),
    radial-gradient(ellipse at 16% 90%, color-mix(in srgb, var(--peach) 30%, transparent), transparent 60%);
}.situation-atmosphere::after, .agency-atmosphere::after {
  content: '';
  position: absolute;
  inset: 0;
  /* Keep the speckle size independent of the card width and image crop. */
  background: url('../art/situation-grain.svg') repeat;
  background-size: 192px 192px;
  mix-blend-mode: soft-light;
  opacity: .32;
}.manual-scene .situation-atmosphere { background-position: 72% 50%; }.manual-scene .situation-atmosphere::before {
  background: linear-gradient(150deg, var(--color-sky), color-mix(in srgb, var(--color-sky) 50%, var(--navy)));
  mix-blend-mode: color;
  opacity: .82;
}.manual-scene .situation-atmosphere::after { background-position: 71px 43px; }.situation-glass {
  position: absolute;
  background: linear-gradient(100deg, color-mix(in srgb, var(--white) 83%, transparent), color-mix(in srgb, var(--white) 93%, transparent) 35%, color-mix(in srgb, var(--white) 90%, transparent) 70%, color-mix(in srgb, var(--white) 82%, transparent));
  border-radius: 20px;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--navy) 4%, transparent), 0 12px 32px -16px color-mix(in srgb, var(--navy) 24%, transparent), inset 0 1px color-mix(in srgb, var(--white) 70%, transparent);
}.situation-art-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }.situation-art-heading strong { font-size: 18px; line-height: 1.3; letter-spacing: -.025em; font-weight: 500; }.situation-art-heading small { font-size: 9px; font-weight: 400; color: var(--muted); }.channel-sources { font-size: 11px; position: absolute; top: 75px; left: 22px; width: 128px; display: grid; gap: 24px; z-index: 1; }.channel-sources > span { display: flex; justify-content: center; align-items: center; height: 34px; border-radius: 99px; background: color-mix(in srgb, var(--white) 84%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); font-size: 11px; line-height: 1; font-weight: 500; box-shadow: 0 3px 12px -6px color-mix(in srgb, var(--navy) 16%, transparent); }.channel-pipeline { z-index: 1; top: 49px; left: max(174px, 38%); right: 22px; height: 188px; padding: 20px 17px 12px; }.channel-records { margin-top: 15px; height: 112px; overflow: hidden; mask-image: linear-gradient(to bottom, black 84%, transparent); }.channel-record { display: flex; justify-content: space-between; align-items: center; gap: 8px; height: 36px; font-size: 12px; line-height: 1.3; border-bottom: 1px solid color-mix(in srgb, var(--navy) 6%, transparent); white-space: nowrap; }.channel-record[hidden] { display: none; }.channel-scene .channel-record .channel-stage { padding: 4px 7px; border-radius: 99px; background: color-mix(in srgb, var(--lavender) 42%, var(--white)); color: var(--violet); font-size: 10px; }.channel-scene .channel-record .channel-stage-talk { color: var(--navy); background: color-mix(in srgb, var(--peach) 65%, var(--white)); }.channel-scene .channel-record .channel-stage-new { color: var(--navy); background: color-mix(in srgb, var(--color-sky) 60%, var(--white)); }.channel-connections { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }.channel-wire { stroke: color-mix(in srgb, var(--white) 65%, transparent); stroke-width: 1.3; stroke-linecap: round; }.channel-wire-outbound { stroke-dasharray: 100; stroke-dashoffset: 100; opacity: 0; }.channel-scene[data-connected='true'] .channel-wire-outbound { stroke-dashoffset: 0; opacity: 1; }.channel-signal { stroke: var(--white); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 7 110; stroke-dashoffset: 110; opacity: 0; filter: drop-shadow(0 0 3px var(--white)); }.situation-art-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 10px 15px 10px 12px; border: 0; border-radius: 99px; color: var(--navy); background: color-mix(in srgb, var(--white) 94%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 1px 2px color-mix(in srgb, var(--navy) 6%, transparent), 0 8px 18px -8px color-mix(in srgb, var(--navy) 22%, transparent); font: 500 13px/1.4 var(--type-family); cursor: pointer; transition: box-shadow 180ms ease, background 180ms ease; }.situation-art-button:hover { background: var(--white); box-shadow: 0 2px 5px color-mix(in srgb, var(--navy) 7%, transparent), 0 10px 22px -8px color-mix(in srgb, var(--navy) 28%, transparent); }.situation-art-button:active { box-shadow: 0 1px 3px color-mix(in srgb, var(--navy) 12%, transparent); }.situation-art-button:focus-visible { outline: 2px solid var(--white); outline-offset: 4px; }.channel-add { position: absolute; z-index: 2; left: 22px; bottom: 22px; }.channel-add svg { flex: none; width: 21px; height: 21px; stroke: var(--violet); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }.channel-add circle { fill: color-mix(in srgb, var(--lavender) 50%, var(--white)); stroke: none; }.channel-add-check { display: none; }.channel-scene[data-connected='true'] .channel-add-plus { display: none; }.channel-scene[data-connected='true'] .channel-add-check { display: block; }.channel-scene[data-connected='true'] .channel-add { background: color-mix(in srgb, var(--color-sky) 38%, var(--white)); }.manual-sheet { top: 22px; left: 24px; right: 24px; padding: 16px 20px 10px; }.manual-columns { display: flex; justify-content: space-between; margin-top: 10px; padding-bottom: 6px; color: var(--muted); font-size: 10px; line-height: 1.4; }.manual-columns > span:last-child { min-width: 90px; text-align: center; }.manual-record { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid color-mix(in srgb, var(--navy) 6%, transparent); }.manual-record > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }.manual-record strong { font-size: 12px; line-height: 1.3; font-weight: 500; }.manual-scene .manual-record .manual-person { font-size: 10px; line-height: 1.4; color: var(--muted); }.manual-scene .manual-record .manual-missing { color: var(--violet); }.manual-action { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-width: 90px; min-height: 32px; border: 0; border-radius: 99px; padding: 6px 9px; color: var(--navy); background: color-mix(in srgb, var(--color-sky) 28%, var(--white)); font: 500 11px/1.3 var(--type-family); cursor: pointer; transition: background 200ms ease; }.manual-action:hover, .manual-record[data-active] .manual-action { background: color-mix(in srgb, var(--color-sky) 65%, var(--white)); color: var(--navy); }.manual-action:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }.manual-action svg { width: 14px; height: 14px; flex: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }.manual-spinner, .manual-retry { display: none; }.manual-spinner { transform-origin: center; }.manual-record:is([data-state='checking'], [data-state='failed']) :is(.manual-plus, .manual-search) { display: none; }.manual-record[data-state='checking'] .manual-spinner { display: block; }.manual-record[data-state='failed'] .manual-retry { display: block; }.manual-record[data-state='failed'] .manual-action { background: color-mix(in srgb, var(--color-sky) 42%, var(--white)); color: var(--navy); }.manual-scene .manual-record[data-state='failed'] .manual-person { color: var(--violet); }.manual-outcome { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); display: flex; align-items: center; min-height: 34px; padding: 8px 14px; border-radius: 99px; color: var(--navy); background: color-mix(in srgb, var(--white) 87%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 5px 18px -10px color-mix(in srgb, var(--navy) 16%, transparent); font-size: 11px; line-height: 1.4; white-space: nowrap; }.situation-art-status { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }@container (max-width: 390px) {
  .channel-sources { left: 22px; right: 22px; top: 20px; width: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
  .channel-sources > span { height: 32px; }
  .channel-pipeline { top: 76px; left: 22px; right: 22px; height: 154px; padding: 14px 17px 9px; }
  .channel-pipeline .situation-art-heading strong { font-size: 17px; }
  .channel-records { height: 90px; margin-top: 10px; }
  .channel-record { height: 29px; }
  .channel-add { bottom: 16px; min-height: 38px; padding-block: 8px; font-size: 12px; }
  .manual-sheet { left: 22px; right: 22px; padding-inline: 17px; }
}@container (max-width: 310px) {
  .channel-sources { left: 18px; right: 18px; gap: 12px; }
  .channel-sources { font-size: 10px; }
  .channel-pipeline { left: 18px; right: 18px; padding-inline: 15px; }
  .channel-add { left: 18px; }
  .channel-record { font-size: 11px; }
  .channel-scene .channel-record .channel-stage { font-size: 9px; }
  .manual-sheet { left: 18px; right: 18px; padding-inline: 14px; }
  .manual-sheet .situation-art-heading strong { font-size: 17px; }
  .manual-action { min-width: 80px; padding-inline: 7px; font-size: 10px; }
  .manual-columns > span:last-child { min-width: 80px; }
  .manual-outcome { font-size: 10px; }
}@media (prefers-reduced-motion: reduce) {
  .situation-art-button, .manual-action { transition: none; }
}/* review-workflow.css *//* Shared workflow section, also used by its isolated preview. */body.workflow-study-page {
  --wf-nav: 76px;
  background: var(--white);
  color: var(--navy);
}.wf-section *,
.wf-section *::before,
.wf-section *::after {
  box-sizing: border-box;
}.workflow-study-page .wf-nav {
  position: sticky;
  z-index: 20;
  top: 0;
  height: var(--wf-nav);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(24px, 4.5vw, 80px);
  background: color-mix(in srgb, var(--white) 93%, transparent);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
}.wf-nav .terrain-wordmark {
  color: var(--navy);
  font-size: 23px;
}.wf-back {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--muted);
  font-size: 13px;
  text-decoration: none;
}.wf-back .ui-icon,
.wf-ending .ui-icon {
  width: 17px;
  height: 17px;
}.workflow-study-page .wf-main {
  padding: 0;
  margin: 0;
}.wf-section {
  --wf-nav: 96px;
  --wf-sticky-top: max(112px, calc((100svh - 550px) / 2));
  --wf-view-top: 88px;
  --wf-gutter: max(var(--review-page-gutter), calc((100vw - var(--review-media-width)) / 2));
  color: var(--navy);
  background: var(--white);
  padding-bottom: var(--section-inset);
}.workflow-study-page .wf-section {
  --wf-nav: 76px;
  --wf-sticky-top: max(96px, calc((100svh - 550px) / 2));
}.wf-heading {
  padding: var(--section-inset) var(--wf-gutter) var(--heading-content-gap);
}.wf-section .wf-heading :is(h1, h2) {
  margin: 0;
  max-width: 850px;
  font-size: var(--section-title-size);
  font-weight: var(--review-heading-weight);
  letter-spacing: -0.018em;
  line-height: 1.25;
  color: var(--ink);
  text-wrap: pretty;
}.wf-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(40px, 5vw, 72px);
  align-items: start;
  position: relative;
  width: min(var(--review-media-width), calc(100% - 2 * var(--review-page-gutter)));
  margin-inline: auto;
}.wf-reading {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}.wf-step {
  min-height: clamp(440px, 58svh, 520px);
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 20px;
  align-content: start;
  padding-block: 48px 64px;
  scroll-margin-top: 112px;
}.wf-step-number {
  display: block;
  padding-top: 3px;
  font-size: var(--review-meta-size);
  color: var(--violet);
  line-height: 1.6;
  font-variant-numeric: tabular-nums;
}.wf-step .explanation-copy {
  min-width: 0;
  padding: 0;
}.wf-section .wf-step :is(h2, h3) {
  font-size: var(--review-chapter-size);
  font-weight: var(--type-medium);
  line-height: 1.25;
  letter-spacing: -0.018em;
  text-wrap: pretty;
  color: var(--ink);
  margin: 0 0 24px;
}.wf-section .wf-step .explanation-lead {
  font-size: var(--review-body-size);
  line-height: 1.6;
  margin: 0;
  color: var(--ink);
}.wf-section .wf-step .explanation-benefit {
  border: 1px solid var(--review-dark-line);
  border-radius: var(--radius-card);
  background: var(--review-dark-surface);
  padding: 20px 22px;
  margin: 32px 0 0;
}.wf-section .wf-step .explanation-benefit > span {
  display: block;
  font-size: var(--review-meta-size);
  font-weight: var(--type-medium);
  color: var(--review-dark-label);
  margin: 0 0 8px;
}.wf-section .wf-step .explanation-benefit p {
  font-size: var(--review-body-size);
  line-height: 1.6;
  color: var(--white);
  margin: 0;
}.wf-visual {
  grid-column: 2;
  grid-row: 1;
  position: sticky;
  top: var(--wf-sticky-top);
  height: min(550px, calc(100svh - 144px));
  min-height: 400px;
  overflow: hidden;
  isolation: isolate;
  border-radius: var(--radius-card);
  background: color-mix(in srgb, var(--lavender) 18%, var(--white));
}.wf-atmosphere,
.wf-grain {
  position: absolute;
  inset: 0;
  pointer-events: none;
}.wf-atmosphere {
  z-index: -2;
  background: var(--violet) url('../art/hero-grain-neo.webp') 54% 53% / cover;
}.wf-atmosphere::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    150deg,
    color-mix(in srgb, var(--lavender) 40%, transparent),
    transparent 55%,
    color-mix(in srgb, var(--peach) 23%, transparent)
  );
}.wf-grain {
  z-index: 3;
  opacity: 0.3;
  pointer-events: none;
  background: url('../art/situation-grain.svg') 0 0 / 192px 192px repeat;
  mix-blend-mode: soft-light;
}.wf-stages {
  position: absolute;
  z-index: 5;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 5px;
  width: max-content;
  max-width: calc(100% - 32px);
  padding: 5px;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--white) 53%, transparent);
  backdrop-filter: blur(18px);
  box-shadow: inset 0 1px color-mix(in srgb, var(--white) 65%, transparent);
}.wf-stages a {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 13px;
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 500;
  color: var(--navy);
  text-decoration: none;
  transition:
    background 0.25s,
    box-shadow 0.25s;
}.wf-stages a span {
  font-size: 10px;
  opacity: 0.65;
  font-variant-numeric: tabular-nums;
}.wf-stages a[aria-current] {
  background: color-mix(in srgb, var(--white) 90%, transparent);
  box-shadow: 0 2px 9px -5px color-mix(in srgb, var(--navy) 35%, transparent);
}.wf-view {
  position: absolute;
  inset: var(--wf-view-top) 0 24px;
  margin: 0;
  overflow: hidden;
  mask-image: linear-gradient(transparent, var(--white) 9%, var(--white) 89%, transparent);
}.wf-canvas {
  position: absolute;
  left: 0;
  top: 0;
  width: 480px;
  height: 1270px;
  transform-origin: 0 0;
}.wf-routes {
  position: absolute;
  inset: 0;
  width: 480px;
  height: 1270px;
  overflow: visible;
}.wf-routes path {
  stroke: color-mix(in srgb, var(--white) 72%, var(--violet));
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 1px 1px color-mix(in srgb, var(--navy) 50%, transparent));
}.wf-routes .wf-flow {
  stroke: var(--white);
  stroke-width: 2.6;
  filter: drop-shadow(0 0 3px color-mix(in srgb, var(--white) 40%, transparent));
}.wf-source,
.wf-node {
  position: absolute;
  background: color-mix(in srgb, var(--white) 82%, transparent);
  border: 1px solid color-mix(in srgb, var(--white) 64%, transparent);
  backdrop-filter: blur(18px);
  box-shadow:
    0 3px 6px -4px color-mix(in srgb, var(--navy) 15%, transparent),
    0 18px 35px -22px color-mix(in srgb, var(--navy) 26%, transparent),
    inset 0 1px color-mix(in srgb, var(--white) 65%, transparent);
}.wf-source {
  top: 48px;
  width: 110px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-pill);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  line-height: 1.2;
  text-align: center;
}.wf-source-clay {
  left: 44px;
}.wf-source-linkedin {
  left: 185px;
}.wf-source-web {
  left: 326px;
  font-size: 11px;
}.wf-node {
  border-radius: var(--radius-card);
}.wf-node-title {
  display: block;
  font-size: var(--review-card-size);
  font-weight: var(--type-medium);
  line-height: 1.35;
  letter-spacing: -0.012em;
}.wf-node-detail {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}.wf-database {
  left: 80px;
  top: 174px;
  width: 320px;
  height: 112px;
  padding: 22px 24px;
}.wf-data-fields {
  display: flex;
  justify-content: space-between;
  margin-top: 15px;
  gap: 8px;
}.wf-data-fields span {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  color: var(--muted);
}.wf-data-fields .ui-icon {
  width: 12px;
  height: 12px;
  color: var(--violet);
  stroke-width: 1.6;
}.wf-test {
  top: 422px;
  width: 120px;
  height: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 9px;
}.wf-test-a {
  left: 42px;
}.wf-test-b {
  left: 180px;
  background: color-mix(in srgb, var(--white) 96%, transparent);
}.wf-test-c {
  left: 318px;
}.wf-test-title {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.02em;
}.wf-test-result {
  font-size: 11px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--muted);
}.wf-test-b .wf-test-result {
  color: var(--violet);
}.wf-test-result .ui-icon {
  width: 12px;
  height: 12px;
}.wf-edge {
  position: absolute;
  inset: -1px;
  width: 120px;
  height: 88px;
  fill: none;
  stroke: var(--violet);
  stroke-width: 1.5;
}.wf-targeting {
  top: 600px;
  left: 100px;
  width: 280px;
  height: 90px;
  padding: 18px 24px;
  text-align: center;
}.wf-channels {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  margin-top: 12px;
  color: var(--muted);
}.wf-channels > span {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: var(--review-meta-size);
}.wf-channels svg {
  width: 15px;
  height: 15px;
  color: var(--violet);
  stroke-width: 1.6;
}.wf-campaign {
  top: 800px;
  left: 100px;
  width: 280px;
  height: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 24px;
  gap: 6px;
}.wf-return {
  top: 984px;
  left: 40px;
  width: 170px;
  height: 82px;
  padding: 14px 19px;
  background: color-mix(in srgb, var(--white) 63%, transparent);
}.wf-return-time {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  font-size: 20px;
  font-weight: 500;
}.wf-return-time .ui-icon {
  width: 18px;
  height: 18px;
  color: var(--violet);
  stroke-width: 1.6;
}.wf-positive {
  top: 984px;
  left: 270px;
  width: 170px;
  height: 82px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}.wf-reply-symbol {
  height: 20px;
  color: var(--violet);
}.wf-reply-symbol .ui-icon {
  height: 22px;
  width: 22px;
  stroke-width: 1.6;
}.wf-pipeline {
  top: 1150px;
  left: 162px;
  width: 280px;
  min-height: 108px;
  padding: 18px 24px 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: color-mix(in srgb, var(--white) 96%, transparent);
}.wf-pipeline .wf-node-detail {
  margin-top: 5px;
  font-size: var(--review-meta-size);
}.wf-pipeline-owner {
  display: block;
  width: 100%;
  padding: 11px 0 12px;
  margin-top: 5px;
  font-size: 11px;
  color: var(--muted);
  border-top: 1px solid color-mix(in srgb, var(--violet) 12%, transparent);
}.wf-story:not(.is-enhanced) .wf-visual {
  position: relative;
  top: auto;
  height: 1160px;
}.wf-story:not(.is-enhanced) .wf-view {
  inset: 24px 0;
  mask-image: none;
}.wf-story:not(.is-enhanced) .wf-canvas {
  left: 50%;
  margin-left: -216px;
  transform: scale(0.9);
}.wf-story:not(.is-enhanced) .wf-stages {
  display: none;
}.wf-back:focus-visible,
.wf-stages a:focus-visible,
.wf-ending a:focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 4px;
}.wf-ending {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  padding: 48px 28px;
}.wf-ending a {
  display: flex;
  gap: 10px;
  align-items: center;
  color: var(--muted);
  font-size: 14px;
  text-decoration: none;
}/* Wide screens keep a contained stage. Short screens retain native scrolling. */@media (min-width: 1000px) {
  /* Shorter routes leave room for larger nodes inside the contained stage. */
  .is-enhanced .wf-source {
    top: 32px;
  }
  .is-enhanced .wf-database {
    top: 128px;
  }
  .is-enhanced .wf-test {
    top: 330px;
  }
  .is-enhanced .wf-targeting {
    top: 480px;
  }
  .is-enhanced .wf-campaign {
    top: 654px;
  }
  .is-enhanced .wf-return,
  .is-enhanced .wf-positive {
    top: 800px;
  }
  .is-enhanced .wf-pipeline {
    top: 930px;
  }
}.wf-story.is-flow-layout .wf-visual {
  position: relative;
  top: auto;
}@media (max-width: 1100px) and (min-width: 1000px) {
  .wf-story {
    gap: 40px;
  }
}@media (max-width: 999px) {
  .wf-section {
    --wf-sticky-top: 84px;
    --wf-view-top: 64px;
  }
  .workflow-study-page .wf-section {
    --wf-sticky-top: 76px;
  }
  .wf-heading {
    padding-bottom: 32px;
  }
  .wf-story {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .wf-visual {
    order: 0;
    width: 100%;
    height: clamp(316px, calc(38svh + 12px), 364px);
    min-height: 0;
    z-index: 10;
    flex: none;
  }
  .wf-reading {
    order: 1;
    width: 100%;
    padding-bottom: 64px;
  }
  .wf-step {
    min-height: 0;
    display: block;
    padding-block: 40px 64px;
  }
  .wf-step-number {
    padding: 0;
    margin-bottom: 12px;
  }
  .wf-step .explanation-copy {
    max-width: none;
  }
  .wf-section .wf-step .explanation-benefit {
    margin-top: 24px;
  }
  .wf-stages {
    top: 14px;
    padding: 3px;
    gap: 2px;
    max-width: calc(100% - 16px);
  }
  .wf-stages a {
    min-height: 34px;
    padding: 7px 10px;
    font-size: 12px;
    gap: 5px;
  }
  .wf-view {
    inset: var(--wf-view-top) 0 16px;
  }
  .is-enhanced .wf-view {
    mask-image: linear-gradient(
      90deg,
      transparent,
      var(--white) 12px,
      var(--white) calc(100% - 12px),
      transparent
    );
  }
  /* Each 320px-wide chapter is a connected part of one horizontal canvas. */
  .is-enhanced .wf-canvas,
  .is-enhanced .wf-routes {
    width: 960px;
    height: 292px;
  }
  .is-enhanced .wf-source {
    top: 22px;
    width: 88px;
    height: 32px;
    font-size: 14px;
  }
  .is-enhanced .wf-source-clay {
    left: 12px;
  }
  .is-enhanced .wf-source-linkedin {
    left: 116px;
  }
  .is-enhanced .wf-source-web {
    left: 214px;
    width: 100px;
    font-size: 11px;
  }
  .is-enhanced .wf-database {
    left: 32px;
    top: 124px;
    width: 256px;
    height: 94px;
    padding: 16px 12px;
  }
  .is-enhanced .wf-node-title {
    font-size: 20px;
    line-height: 1.25;
  }
  .is-enhanced .wf-data-fields {
    margin-top: 12px;
    gap: 8px;
    justify-content: center;
    flex-wrap: wrap;
  }
  .is-enhanced .wf-data-fields span {
    font-size: 11px;
    gap: 3px;
  }
  .is-enhanced .wf-test {
    top: 26px;
    width: 84px;
    height: 64px;
    gap: 7px;
  }
  .is-enhanced .wf-test-a {
    left: 334px;
  }
  .is-enhanced .wf-test-b {
    left: 438px;
  }
  .is-enhanced .wf-test-c {
    left: 542px;
  }
  .is-enhanced .wf-test-title {
    font-size: 20px;
  }
  .is-enhanced .wf-test-result {
    font-size: 11px;
    gap: 3px;
  }
  .is-enhanced .wf-edge {
    width: 84px;
    height: 64px;
  }
  .is-enhanced .wf-targeting {
    top: 160px;
    left: 352px;
    width: 256px;
    height: 86px;
    padding: 14px 12px;
  }
  .is-enhanced .wf-channels {
    margin-top: 12px;
  }
  .is-enhanced .wf-campaign {
    top: 12px;
    left: 672px;
    width: 256px;
    height: 64px;
    padding: 10px 16px;
    gap: 5px;
  }
  .is-enhanced .wf-node-detail {
    font-size: 12px;
  }
  .is-enhanced .wf-return {
    top: 106px;
    left: 654px;
    width: 126px;
    height: 56px;
    padding: 8px 12px;
  }
  .is-enhanced .wf-return-time {
    font-size: 18px;
    gap: 6px;
    margin-top: 3px;
  }
  .is-enhanced .wf-positive {
    top: 106px;
    left: 820px;
    width: 126px;
    height: 56px;
    font-size: 13px;
    gap: 3px;
  }
  .is-enhanced .wf-reply-symbol,
  .is-enhanced .wf-reply-symbol .ui-icon {
    height: 16px;
  }
  .is-enhanced .wf-pipeline {
    top: 190px;
    left: 672px;
    width: 256px;
    min-height: 86px;
    padding: 9px 12px 0;
    gap: 3px;
  }
  .is-enhanced .wf-pipeline .wf-node-detail {
    margin-top: 3px;
    font-size: 12px;
  }
  .is-enhanced .wf-pipeline-owner {
    font-size: 11px;
    margin-top: 3px;
    padding: 5px 0 7px;
  }
  .wf-story:not(.is-enhanced) .wf-visual {
    height: 830px;
  }
  .wf-story:not(.is-enhanced) .wf-canvas {
    margin-left: -156px;
    transform: scale(0.65);
  }
}@media (max-width: 360px) {
  .wf-stages a {
    font-size: 11px;
    padding-inline: 8px;
  }
  .wf-story:not(.is-enhanced) .wf-visual {
    height: 700px;
  }
  .wf-story:not(.is-enhanced) .wf-canvas {
    margin-left: -129px;
    transform: scale(0.5375);
  }
}@media (prefers-reduced-motion: reduce) {
  .wf-stages,
  .wf-stages a,
  .wf-visual {
    transition: none;
  }
}/* review-chapters.css *//* Shared illustration materials, sampled from the approved situation scenes. */.craft-canvas {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  container-type: inline-size;
  border-radius: 20px;
  color: var(--navy);
  background: var(--review-deep);
  font-size: 14px;
}.craft-canvas *,
.craft-canvas *::before,
.craft-canvas *::after {
  box-sizing: border-box;
}.craft-atmosphere {
  position: absolute;
  inset: -6%;
  z-index: -2;
  pointer-events: none;
  background: var(--navy) url('../art/hero-grain-neo.webp') 54% 53% / cover;
}.craft-atmosphere::before,
.craft-atmosphere::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}.craft-atmosphere::before {
  background: radial-gradient(
    ellipse at 16% 85%,
    color-mix(in srgb, var(--peach) 26%, transparent),
    transparent 60%
  );
}.craft-atmosphere::after {
  background: url('../art/situation-grain.svg') repeat;
  background-size: 192px 192px;
  mix-blend-mode: soft-light;
  opacity: 0.32;
}.tone-blue .craft-atmosphere {
  background-position: 72% 50%;
}.tone-blue .craft-atmosphere::before {
  background: linear-gradient(
    150deg,
    var(--color-sky),
    color-mix(in srgb, var(--color-sky) 50%, var(--navy))
  );
  mix-blend-mode: color;
  opacity: 0.82;
}.tone-green .craft-atmosphere::before {
  background: linear-gradient(
    155deg,
    color-mix(in srgb, var(--color-frost) 55%, var(--peach)),
    color-mix(in srgb, var(--color-frost) 85%, var(--peach))
  );
  mix-blend-mode: color;
  opacity: 0.92;
}.craft-glass {
  position: absolute;
  z-index: 1;
  padding: 22px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(
    110deg,
    color-mix(in srgb, var(--white) 84%, transparent),
    color-mix(in srgb, var(--white) 94%, transparent) 42%,
    color-mix(in srgb, var(--white) 85%, transparent)
  );
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  box-shadow:
    0 2px 4px -2px color-mix(in srgb, var(--navy) 12%, transparent),
    0 16px 36px -20px color-mix(in srgb, var(--navy) 36%, transparent),
    inset 0 1px 1px color-mix(in srgb, var(--white) 55%, transparent);
  font-size: clamp(12px, 2.8cqw, 15px);
  line-height: 1.45;
}.craft-canvas .ui-icon {
  width: 18px;
  height: 18px;
  stroke-width: 1.65;
  flex-shrink: 0;
}.craft-check {
  width: 18px;
  height: 18px;
  stroke: var(--violet);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}.craft-label {
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1.4;
  font-size: inherit;
  font-weight: 500;
}.craft-label .ui-icon {
  color: var(--violet);
}.craft-data-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 42px;
  padding: 8px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--navy) 8%, transparent);
}.craft-data-row:last-child {
  border: 0;
  padding-bottom: 0;
}.craft-data-row > span:first-child {
  min-width: 0;
}.craft-status {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82em;
  color: var(--muted);
  text-align: right;
}.craft-status .craft-check {
  width: 14px;
  height: 14px;
}.craft-chip-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}.craft-chip-row > span {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--lavender) 30%, var(--white));
}.craft-message-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px solid color-mix(in srgb, var(--navy) 8%, transparent);
  font-size: 0.85em;
  color: var(--muted);
}.craft-wires {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}.craft-wires > path {
  stroke: color-mix(in srgb, var(--white) 62%, transparent);
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}.craft-wires > path.craft-trace {
  stroke: var(--white);
  stroke-width: 2.3;
  stroke-dasharray: 8 92;
  stroke-dashoffset: 100;
  filter: drop-shadow(0 0 3px var(--white));
}/* Four foundations, one stage. The sales handoff is a quiet conclusion. */.foundation-crafted .foundation-intro {
  margin-bottom: 32px;
}.pillar-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}.pillar-owner {
  font-size: var(--review-compact-size);
  color: var(--muted);
}.pillar-tabs {
  display: flex;
  padding: 5px;
  gap: 4px;
  border-radius: var(--radius-pill);
  background: var(--surface-card);
}.pillar-tabs button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  border: 0;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--muted);
  font: 500 14px/1.4 var(--type-family);
  cursor: pointer;
  white-space: nowrap;
  transition:
    background 220ms ease,
    color 220ms ease,
    box-shadow 220ms ease;
}.pillar-tabs button > span {
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  opacity: 0.7;
}.pillar-tabs button[aria-selected='true'] {
  background: var(--white);
  color: var(--navy);
  box-shadow: 0 3px 8px -5px color-mix(in srgb, var(--navy) 22%, transparent);
}.pillar-tabs button:focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 3px;
}.pillar-panel {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: center;
  margin-bottom: 40px;
}.pillar-panel > .craft-canvas {
  height: 360px;
}.foundation-crafted.is-enhanced .pillar-panels {
  display: grid;
}.foundation-crafted.is-enhanced .pillar-panel {
  grid-area: 1/1;
  margin: 0;
  visibility: hidden;
  pointer-events: none;
}.foundation-crafted.is-enhanced .pillar-panel.is-current {
  visibility: visible;
  pointer-events: auto;
}/* When a complete stage cannot fit, keep every pillar in the reading flow. */.foundation-crafted.is-reading-flow .pillar-panels {
  display: grid;
  gap: var(--section-inset);
}.foundation-crafted.is-reading-flow .pillar-panel {
  grid-area: auto;
  visibility: visible;
  pointer-events: auto;
  scroll-margin-top: 112px;
}html body.review-page .pillar-copy h3 {
  font-size: var(--review-chapter-size);
  line-height: 1.25;
  letter-spacing: -0.018em;
  margin: 0 0 24px;
  max-width: 22ch;
}.pillar-copy h4 {
  font-size: var(--review-meta-size);
  line-height: 1.4;
  margin: 0 0 8px;
  color: var(--muted);
}.pillar-copy p {
  font-size: var(--review-body-size);
  line-height: 1.6;
  margin: 0;
  text-wrap: pretty;
}.pillar-mistake {
  margin-bottom: 22px;
}.pillar-mistake p {
  color: var(--muted);
}.pillar-approach {
  padding: 20px 22px;
  border-radius: var(--radius-card);
  background: var(--review-dark-surface);
  color: var(--white);
}.pillar-approach h4 {
  color: var(--review-dark-label);
}.pillar-inboxes {
  left: 9%;
  right: 9%;
  top: 38px;
}.craft-mailboxes {
  margin-top: 18px;
}.craft-mailbox {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 11px 0;
  border-top: 1px solid color-mix(in srgb, var(--navy) 7%, transparent);
  font-size: 0.9em;
}.craft-mailbox > span {
  white-space: nowrap;
}.craft-warmup {
  display: flex;
  flex: 1;
  gap: 4px;
  height: 17px;
  align-items: center;
  margin-left: auto;
}.craft-warmup i {
  height: 14px;
  border-radius: 3px;
  flex: 1;
  background: color-mix(in srgb, var(--violet) 48%, var(--lavender));
}.craft-warmup i:nth-child(n + 6) {
  background: color-mix(in srgb, var(--peach) 85%, var(--white));
}.pillar-inbox-result {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  bottom: 29px;
  left: 23%;
  right: 23%;
  padding: 12px 16px;
  border-radius: var(--radius-pill);
}.pillar-sources {
  display: flex;
  justify-content: center;
  gap: 16px;
  position: absolute;
  top: 36px;
  left: 8%;
  right: 8%;
}.pillar-sources > span,
.pillar-audience > span {
  background: color-mix(in srgb, var(--white) 85%, transparent);
  border-radius: var(--radius-pill);
  padding: 10px 20px;
  font-size: 13px;
}.pillar-contact {
  top: 119px;
  left: 12%;
  right: 12%;
}.pillar-contact .craft-label {
  margin-bottom: 12px;
}.pillar-audience {
  display: flex;
  justify-content: center;
  gap: 12px;
  position: absolute;
  top: 34px;
  left: 5%;
  right: 5%;
}.pillar-message {
  top: 110px;
  left: 10%;
  right: 10%;
}.craft-message-subject {
  font-size: clamp(16px, 3.6cqw, 20px);
  margin-top: 14px;
  letter-spacing: -0.015em;
}.pillar-hypotheses {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}.pillar-hypotheses > span {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 11px;
}.pillar-hypotheses i {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  flex: none;
  background: var(--lavender);
  border-radius: 7px;
  font-style: normal;
}.pillar-hypotheses > span + span i {
  background: var(--peach);
}.pillar-positive {
  top: 37px;
  left: 20%;
  right: 20%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
}.pillar-positive small {
  font-size: 11px;
  display: block;
  color: var(--muted);
}.pillar-positive strong {
  font-size: 18px;
  font-weight: 500;
  display: block;
}.pillar-positive > .craft-check {
  margin-left: auto;
}.pillar-crm {
  top: 155px;
  left: 14%;
  right: 14%;
}/* A library of playbooks, with one connected scene for the selected use case. */html body.review-page .playbooks-crafted {
  padding-block: clamp(96px, 9vw, 144px);
}.playbooks-crafted .review-playbook-heading {
  margin-bottom: 48px;
}.playbook-library {
  display: grid;
  grid-template-columns: 252px minmax(0, 1fr);
  gap: clamp(32px, 4vw, 64px);
  align-items: start;
}.playbook-tabs {
  display: none;
  flex-direction: column;
  gap: 6px;
  padding-block: 8px;
}.playbooks-crafted.is-enhanced .playbook-tabs {
  display: flex;
}.playbook-tabs button {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 12px 14px;
  text-align: left;
  border: 0;
  border-radius: var(--radius-card);
  background: transparent;
  color: var(--muted);
  font: 500 14px/1.4 var(--type-family);
  cursor: pointer;
  transition:
    background 240ms var(--review-ease),
    color 240ms var(--review-ease);
}.playbook-tabs button:hover {
  background: var(--surface-card);
  color: var(--navy);
}.playbook-tabs button[aria-selected='true'] {
  color: var(--navy);
  background: color-mix(in srgb, var(--lavender) 44%, var(--white));
}.playbook-tab-icon {
  display: flex;
  color: var(--violet);
}.playbook-tab-icon .ui-icon {
  width: 18px;
  height: 18px;
}.playbook-tab-cue {
  display: flex;
  margin-left: auto;
  opacity: 0;
  transform: rotate(-90deg);
}.playbook-tab-cue .ui-icon {
  width: 16px;
  height: 16px;
}.playbook-tabs button[aria-selected='true'] .playbook-tab-cue {
  opacity: 1;
}.playbook-tabs button:focus-visible,
.playbook-panel:focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 4px;
}.playbook-panels {
  min-width: 0;
}.playbook-panel {
  margin-bottom: 64px;
}.playbooks-crafted:not(.is-enhanced) .playbook-library {
  display: block;
}.playbooks-crafted.is-enhanced .playbook-panels {
  display: grid;
}.playbooks-crafted.is-enhanced .playbook-panel {
  grid-area: 1/1;
  margin: 0;
  visibility: hidden;
  pointer-events: none;
}.playbooks-crafted.is-enhanced .playbook-panel.is-current {
  visibility: visible;
  pointer-events: auto;
}.playbook-art {
  height: 390px;
  font-size: clamp(12px, 1.9cqw, 15px);
  border-radius: var(--radius-card);
}.playbook-art .craft-glass {
  font-size: clamp(13px, 1.9cqw, 15px);
  padding: 22px;
}.playbook-source {
  left: 5%;
  width: 42%;
  top: 50%;
  transform: translateY(-55%);
  background: color-mix(in srgb, var(--white) 82%, transparent);
}.playbook-result {
  right: 5%;
  width: 39%;
  top: 50%;
  transform: translateY(-45%);
}.playbook-art .craft-label {
  gap: 9px;
  margin-bottom: 12px;
  font-weight: 500;
}.playbook-art .craft-label .ui-icon {
  width: 19px;
  height: 19px;
  color: var(--violet);
  flex-shrink: 0;
}.playbook-art .craft-data-row {
  gap: 12px;
  min-height: 41px;
}.playbook-art .craft-status {
  text-align: right;
  white-space: nowrap;
}.playbook-art .craft-message-foot {
  margin-top: 16px;
  padding-top: 12px;
}.playbook-art .playbook-message {
  font-size: inherit;
  line-height: 1.6;
  margin: 16px 0 0;
  color: var(--navy);
  text-wrap: pretty;
}.playbook-art-note {
  position: absolute;
  bottom: 22px;
  inset-inline: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 12px;
  color: var(--white);
  text-shadow: 0 1px 4px color-mix(in srgb, var(--navy) 35%, transparent);
}.playbook-art-note .craft-check {
  stroke: currentColor;
  width: 16px;
  height: 16px;
}.playbook-calendar-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
  padding-bottom: 16px;
}.playbook-calendar-heading .ui-icon {
  width: 25px;
  height: 25px;
  color: var(--violet);
}.playbook-agenda {
  display: flex;
  align-items: baseline;
  gap: 14px;
  border-top: 1px solid color-mix(in srgb, var(--navy) 8%, transparent);
  padding-top: 16px;
  margin-top: 12px;
}.playbook-agenda time {
  color: var(--violet);
  font-size: 0.88em;
}.playbook-agenda strong,
.playbook-agenda span {
  display: block;
  font-size: 0.9em;
  line-height: 1.5;
}.playbook-agenda strong {
  font-weight: 500;
}.playbook-agenda span {
  margin-top: 5px;
  color: var(--muted);
}.playbook-context {
  margin-block: 20px;
}.playbook-context > span,
.playbook-subtle {
  font-size: 0.85em;
  color: var(--muted);
}.playbook-context p {
  margin: 8px 0 0;
  line-height: 1.55;
}.playbook-context-tag {
  display: inline-flex;
  padding: 8px 11px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--lavender) 38%, var(--white));
  font-size: 0.82em;
  color: var(--violet);
  line-height: 1.5;
}.playbook-response {
  margin-top: 22px;
  padding: 13px 15px;
  background: color-mix(in srgb, var(--lavender) 40%, var(--white));
  border-radius: 12px 12px 12px 3px;
  font-size: 0.9em;
  line-height: 1.55;
}.tone-green .playbook-response {
  background: color-mix(in srgb, var(--color-frost) 65%, var(--white));
}.playbook-incomplete .craft-status {
  color: var(--muted);
}.playbook-trial {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 20px;
}.playbook-trial .ui-icon {
  width: 18px;
  height: 18px;
  color: var(--muted);
}.playbook-trial-track {
  height: 5px;
  margin: 24px 0 12px;
  border-radius: var(--radius-pill);
  background: var(--lavender);
  overflow: hidden;
}.playbook-trial-track i {
  display: block;
  width: 28%;
  height: 100%;
  background: var(--violet);
  border-radius: inherit;
}.playbook-browser-bar {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: -2px 0 20px;
}.playbook-browser-bar i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--violet);
  opacity: 0.45;
}.playbook-browser-bar span {
  margin-left: auto;
  font-size: 0.82em;
  color: var(--muted);
}.playbook-job {
  padding-left: 16px;
  position: relative;
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}.playbook-job > span {
  font-size: 0.88em;
  color: var(--muted);
}.playbook-job strong {
  font-size: 1em;
  font-weight: 500;
}.playbook-job-path {
  position: relative;
  height: 38px;
  margin-left: 3px;
  border-left: 1px solid var(--lavender);
}.playbook-job-path i {
  position: absolute;
  width: 7px;
  height: 7px;
  left: -4px;
  bottom: 0;
  background: var(--violet);
  border-radius: 50%;
}.playbook-signal-feed .craft-status {
  color: var(--violet);
}.playbook-explanation {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 24px;
  margin-top: 28px;
  align-items: start;
}html body.review-page .playbook-explanation h3 {
  font-size: var(--review-chapter-size);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.018em;
  margin: 0 0 14px;
}.playbook-explanation p {
  font-size: var(--review-body-size);
  line-height: 1.65;
  margin: 0;
  color: var(--muted);
}.playbook-benefit {
  padding: 22px;
  background: var(--surface-card);
  border-radius: var(--radius-card);
}.playbook-benefit > span {
  display: block;
  font-size: var(--review-meta-size);
  color: var(--violet);
  margin-bottom: 10px;
}.playbook-benefit > p {
  color: var(--navy);
}@media (max-width: 1100px) {
  .playbook-library {
    grid-template-columns: 224px minmax(0, 1fr);
    gap: 28px;
  }
  .playbook-tabs button {
    font-size: 13px;
    gap: 10px;
    padding-inline: 12px;
  }
  .playbook-art .craft-glass {
    padding: 18px;
  }
  .playbook-explanation {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .playbook-benefit {
    padding: 18px 22px;
  }
}@media (max-width: 1000px) {
  .playbooks-crafted .review-playbook-heading {
    margin-bottom: 30px;
  }
  .playbook-library {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .playbook-tabs {
    flex-direction: row;
    gap: 5px;
    overflow-x: auto;
    padding: 5px;
    border-radius: var(--radius-pill);
    background: var(--surface-card);
    scrollbar-width: none;
  }
  .playbook-tabs button {
    flex-shrink: 0;
    white-space: nowrap;
    border-radius: var(--radius-pill);
    padding: 12px 16px;
    min-height: 46px;
    font-size: 14px;
  }
  .playbook-tab-cue {
    display: none;
  }
  .playbook-explanation {
    margin-top: 24px;
  }
}@container (max-width: 480px) {
  .playbook-art {
    font-size: 13px;
  }
  .playbook-art .craft-glass {
    padding: 17px;
    font-size: 13px;
  }
  .playbook-source {
    top: 22px;
    left: 6%;
    right: 18%;
    width: auto;
    transform: none;
  }
  .playbook-result {
    top: auto;
    bottom: 50px;
    left: 18%;
    right: 6%;
    width: auto;
    transform: none;
  }
  .playbook-art .craft-data-row {
    min-height: 30px;
    padding: 5px 0;
  }
  .playbook-art .craft-label {
    margin-bottom: 7px;
  }
  .playbook-art .craft-message-foot {
    margin-top: 10px;
    padding-top: 8px;
  }
  .playbook-art .playbook-message {
    margin-top: 10px;
  }
  .playbook-art .playbook-agenda {
    margin-top: 6px;
    padding-top: 9px;
  }
  .playbook-art .playbook-calendar-heading {
    padding-bottom: 6px;
  }
  .playbook-art .playbook-agenda span {
    margin-top: 2px;
  }
  .playbook-art .playbook-context {
    margin-block: 10px;
  }
  .playbook-art .playbook-response {
    margin-top: 12px;
    padding: 9px 12px;
  }
  .playbook-art .playbook-trial {
    margin-top: 10px;
  }
  .playbook-art .playbook-trial-track {
    margin-block: 14px 8px;
  }
  .playbook-art .playbook-browser-bar {
    margin-bottom: 10px;
  }
  .playbook-art .playbook-job {
    margin-top: 10px;
  }
  .playbook-art .playbook-job-path {
    height: 20px;
  }
  .playbook-art-note {
    font-size: 11px;
    bottom: 18px;
    gap: 6px;
  }
}@media (max-width: 600px) {
  .playbook-art {
    height: 440px;
  }
}@media (prefers-reduced-motion: reduce) {
  .playbook-tabs button {
    transition: none;
  }
}/* Visitor routing and social signals use the existing glass surfaces. */.playbook-visitor,
.playbook-route {
  display: flex;
  align-items: center;
  gap: 12px;
}.playbook-visitor {
  margin-top: 22px;
  padding: 15px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--white) 65%, transparent);
}.playbook-route {
  padding-block: 14px;
  border-top: 1px solid color-mix(in srgb, var(--navy) 8%, transparent);
}.playbook-route:last-child {
  padding-bottom: 0;
}.playbook-visitor > .ui-icon,
.playbook-route > .ui-icon {
  flex: none;
  width: 20px;
  height: 20px;
  color: var(--violet);
}.playbook-visitor strong,
.playbook-route strong {
  display: block;
  font-size: 0.95em;
  font-weight: 500;
  line-height: 1.45;
}.playbook-visitor span,
.playbook-route span {
  display: block;
  font-size: 0.85em;
  color: var(--muted);
  margin-top: 4px;
  line-height: 1.5;
}.playbook-combinations,
.playbook-social-signals {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
}.playbook-combinations > span,
.playbook-social-signals > span {
  padding: 6px 9px;
  border-radius: 7px;
  font-size: 0.78em;
  line-height: 1.4;
  color: var(--violet);
  background: color-mix(in srgb, var(--lavender) 35%, var(--white));
}.playbook-social-signals {
  margin-top: 18px;
}.playbook-art-note > .craft-check {
  flex-shrink: 0;
}@container (max-width: 480px) {
  .playbook-visitor {
    margin-top: 12px;
    padding: 12px;
  }
  .playbook-route {
    padding-block: 10px;
  }
  .playbook-combinations,
  .playbook-social-signals {
    margin-top: 10px;
    gap: 5px;
  }
  .playbook-combinations > span,
  .playbook-social-signals > span {
    padding: 5px 7px;
  }
}/* A dark, horizontal timeline. Texture belongs to each illustration itself. */html body.review-page .journey-section {
  background: var(--navy);
  color: var(--white);
  position: relative;
  isolation: isolate;
}.journey-section::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(
    ellipse at 18% 20%,
    color-mix(in srgb, var(--violet) 14%, transparent),
    transparent 65%
  );
}.journey-scene {
  position: relative;
}.journey-section .human-process-heading {
  grid-template-columns: 1.6fr 1fr;
  gap: 56px;
  margin-bottom: clamp(32px, 4vh, 48px);
}html body.review-page .journey-section .human-process-heading h2 {
  color: var(--white);
  margin: 0;
}.journey-section .human-process-heading p {
  color: var(--review-dark-muted);
}.journey-navigation {
  display: none;
  align-items: center;
  gap: 18px;
  margin-bottom: clamp(32px, 4vh, 44px);
}.journey-section.is-enhanced .journey-navigation {
  display: flex;
}.journey-navigation > button {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex-shrink: 0;
  border: 1px solid color-mix(in srgb, var(--white) 16%, transparent);
  border-radius: 50%;
  color: var(--white);
  background: transparent;
  cursor: pointer;
  transition:
    background 180ms ease,
    opacity 180ms ease;
}.journey-navigation > button:hover {
  background: color-mix(in srgb, var(--white) 8%, transparent);
}.journey-navigation > button:disabled {
  opacity: 0.18;
  cursor: default;
}.journey-window {
  overflow: hidden;
  flex: 1;
  min-width: 0;
  mask-image: linear-gradient(90deg, transparent, black 7%, black 93%, transparent);
  touch-action: pan-y;
}.journey-track {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  width: max-content;
  position: relative;
}.journey-track::before {
  content: '';
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 8px;
  background: color-mix(in srgb, var(--white) 13%, transparent);
}.journey-track > li {
  flex: none;
  width: var(--journey-stop-width, 330px);
}.journey-stop {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  position: relative;
  min-height: 105px;
  width: 100%;
  padding: 12px 16px 27px;
  text-align: center;
  border: 0;
  background: transparent;
  color: var(--white);
  font: inherit;
  cursor: pointer;
}.journey-stop::after {
  content: '';
  width: 7px;
  height: 7px;
  position: absolute;
  bottom: 5px;
  border-radius: 50%;
  background: var(--lavender);
}.journey-stop[aria-current='step']::after {
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--lavender) 12%, transparent);
}.journey-stop > span {
  font-size: var(--review-meta-size);
  color: var(--review-dark-muted);
}.journey-stop > strong {
  font-size: var(--review-card-size);
  font-weight: 500;
  line-height: 1.35;
}.journey-navigation :is(button):focus-visible {
  outline: 2px solid var(--lavender);
  outline-offset: 3px;
}.journey-panel {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items: center;
  gap: clamp(32px, 5vw, 72px);
  margin-bottom: 80px;
}.journey-section.is-enhanced .journey-panels {
  display: grid;
}.journey-section.is-enhanced .journey-panel {
  grid-area: 1/1;
  margin: 0;
}.journey-when {
  font-size: var(--review-meta-size);
  color: var(--review-dark-label);
  display: block;
  margin-bottom: 13px;
}html body.review-page .journey-copy h3 {
  font-size: var(--review-chapter-size);
  line-height: 1.25;
  letter-spacing: -0.018em;
  margin: 0 0 20px;
  color: var(--white);
}.journey-copy p {
  font-size: var(--review-body-size);
  line-height: 1.65;
  color: var(--review-dark-muted);
  margin: 0;
  max-width: 38ch;
  text-wrap: pretty;
}.journey-art {
  height: clamp(310px, 35vh, 370px);
  width: 100%;
}.journey-calculation {
  top: 28px;
  left: 14%;
  right: 14%;
  padding: 22px;
}.craft-inputs {
  margin-top: 16px;
  display: grid;
  gap: 13px;
}.craft-inputs > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-size: 13px;
}.craft-input-track {
  width: 40%;
  height: 8px;
  border-radius: 5px;
  background: color-mix(in srgb, var(--lavender) 28%, var(--white));
  overflow: hidden;
}.craft-input-track i {
  display: block;
  height: 100%;
  width: 78%;
  border-radius: 5px;
  background: var(--violet);
  transform-origin: left;
}.craft-inputs > div:nth-child(2) i {
  width: 63%;
  background: var(--peach);
}.craft-inputs > div:nth-child(3) i {
  width: 86%;
  background: var(--color-sky);
}.journey-calculation-result {
  left: 20%;
  right: 20%;
  bottom: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 15px;
  font-size: 13px;
}.journey-person {
  left: 7%;
  top: 38px;
  bottom: 38px;
  width: 34%;
  padding: 0;
  overflow: hidden;
  background: linear-gradient(
    140deg,
    var(--lavender),
    color-mix(in srgb, var(--white) 90%, transparent)
  );
}.journey-person img {
  position: absolute;
  width: 100%;
  height: calc(100% - 42px);
  object-fit: contain;
  max-width: none;
  left: 0;
  bottom: 42px;
}.journey-person > span {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 13px 9px;
  text-align: center;
  font-size: 11px;
  background: color-mix(in srgb, var(--white) 80%, transparent);
  backdrop-filter: blur(12px);
}.journey-brief {
  top: 48px;
  bottom: 48px;
  left: 45%;
  right: 7%;
  padding: 21px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}.craft-brief-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  font-size: 12px;
}.journey-brief .craft-message-foot {
  font-size: 11px;
}.journey-setup {
  position: absolute;
  top: 27px;
  left: 15%;
  right: 15%;
  display: grid;
  gap: 11px;
}.journey-setup-row {
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
  padding: 13px 18px;
  border-radius: 13px;
  font-size: 13px;
}.journey-setup-row > .craft-check {
  margin-left: auto;
}.journey-setup-ready {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  bottom: 25px;
  left: 25%;
  right: 25%;
  padding: 12px 15px;
  border-radius: var(--radius-pill);
  font-size: 12px;
}.journey-campaign {
  top: 24px;
  left: 20%;
  right: 20%;
  padding: 17px 20px;
}.journey-campaign .craft-chip-row {
  margin-top: 12px;
  gap: 8px;
}.journey-campaign .craft-chip-row > span {
  padding: 5px 10px;
  font-size: 11px;
}.journey-campaign .ui-icon {
  width: 15px;
  height: 15px;
}.journey-positive {
  top: 140px;
  left: 14%;
  right: 14%;
  padding: 17px 20px;
}.journey-positive p {
  font-size: 12px;
  color: var(--muted);
  margin: 9px 0 0;
}.journey-positive > .craft-check {
  position: absolute;
  top: 18px;
  right: 18px;
}.journey-handoff {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  bottom: 18px;
  left: 28%;
  right: 28%;
  padding: 9px 12px;
  font-size: 11px;
}.journey-review {
  top: 30px;
  bottom: 30px;
  left: 10%;
  right: 10%;
  padding: 22px;
}.journey-chart-legend {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  font-size: 10px;
}.journey-chart-legend > span {
  display: flex;
  align-items: center;
  gap: 5px;
}.journey-chart-legend > span::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--violet);
}.journey-chart-legend > span + span::before {
  background: var(--color-sky);
}.journey-chart-legend small {
  margin-left: auto;
  font-size: 9px;
  color: var(--muted);
}.journey-chart {
  display: block;
  width: 100%;
  height: clamp(90px, 12vh, 130px);
  margin-top: 10px;
}.craft-chart-grid {
  stroke: color-mix(in srgb, var(--navy) 7%, transparent);
  stroke-width: 1;
}.craft-chart-primary {
  stroke: var(--violet);
  stroke-width: 2;
  stroke-linecap: round;
}.craft-chart-secondary {
  stroke: color-mix(in srgb, var(--color-sky) 75%, var(--violet));
  stroke-width: 1.7;
  stroke-linecap: round;
}.journey-review .craft-message-foot {
  margin-top: 6px;
  padding-top: 11px;
  font-size: 11px;
}.journey-cycle-labels {
  position: absolute;
  display: flex;
  justify-content: center;
  gap: 12px;
  top: 25px;
  left: 5%;
  right: 5%;
}.journey-cycle-labels > span {
  font-size: 11px;
  background: color-mix(in srgb, var(--white) 85%, transparent);
  padding: 10px 15px;
  border-radius: var(--radius-pill);
}.journey-pipeline {
  left: 17%;
  right: 17%;
  top: 100px;
  padding: 18px;
}.journey-pipeline-records {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}.journey-pipeline-records > span {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
}.journey-next-cycle {
  position: absolute;
  bottom: 22px;
  left: 0;
  right: 0;
  width: fit-content;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 15px;
  border-radius: var(--radius-pill);
  color: var(--white);
  background: color-mix(in srgb, var(--navy) 30%, transparent);
  font-size: 12px;
}@container (max-width:360px) {
  .craft-glass {
    padding: 17px;
  }
  .craft-data-row {
    min-height: 38px;
  }
  .craft-status {
    gap: 4px;
  }
  .pillar-inboxes {
    left: 7%;
    right: 7%;
  }
  .craft-mailbox {
    font-size: 11px;
    gap: 8px;
  }
  .craft-warmup {
    gap: 3px;
  }
  .pillar-contact {
    left: 9%;
    right: 9%;
  }
  .pillar-hypotheses {
    gap: 8px;
    flex-direction: column;
  }
  .pillar-message {
    top: 100px;
  }
  .pillar-positive {
    left: 13%;
    right: 13%;
  }
  .pillar-crm {
    left: 9%;
    right: 9%;
  }
  .pillar-sources > span,
  .pillar-audience > span {
    padding: 10px 14px;
    font-size: 11px;
  }
  .pillar-inbox-result {
    left: 18%;
    right: 18%;
    padding: 12px;
    font-size: 12px;
  }
  .journey-calculation {
    left: 8%;
    right: 8%;
  }
  .journey-calculation-result {
    left: 10%;
    right: 10%;
  }
  .craft-inputs > div {
    font-size: 12px;
    gap: 12px;
  }
  .journey-person {
    left: 6%;
    width: 34%;
    padding: 0;
  }
  .journey-person > span {
    font-size: 9px;
  }
  .journey-brief {
    left: 44%;
    right: 6%;
    padding: 14px;
  }
  .craft-brief-row {
    font-size: 10px;
    gap: 6px;
  }
  .craft-brief-row .craft-check {
    width: 14px;
  }
  .journey-brief .craft-message-foot {
    font-size: 10px;
    margin-top: 16px;
  }
  .journey-setup {
    left: 8%;
    right: 8%;
  }
  .journey-setup-row {
    font-size: 12px;
    padding: 12px 14px;
  }
  .journey-setup-ready {
    left: 18%;
    right: 18%;
    padding: 10px;
  }
  .journey-campaign {
    left: 10%;
    right: 10%;
  }
  .journey-positive {
    left: 8%;
    right: 8%;
  }
  .journey-handoff {
    left: 22%;
    right: 22%;
    padding: 8px;
    font-size: 10px;
  }
  .journey-review {
    left: 7%;
    right: 7%;
  }
  .journey-pipeline {
    left: 10%;
    right: 10%;
  }
  .journey-cycle-labels {
    gap: 8px;
  }
  .journey-cycle-labels > span {
    padding: 10px 12px;
    font-size: 10px;
  }
}@media (max-width: 1000px) {
  .pillar-toolbar {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .pillar-panel {
    gap: 32px;
  }
  .pillar-tabs {
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .pillar-tabs button {
    padding: 12px 15px;
  }
  .journey-section .human-process-heading {
    gap: 32px;
  }
  .journey-panel {
    gap: 32px;
  }
}@media (max-width: 700px) {
  .pillar-panel {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }
  .pillar-panel > .craft-canvas {
    height: 345px;
  }
  .pillar-tabs {
    width: 100%;
    border-radius: 18px;
  }
  .pillar-tabs button {
    gap: 7px;
    font-size: 13px;
  }
  .pillar-copy {
    padding-inline: 0;
  }
  .pillar-copy h3 {
    max-width: none;
  }
  .journey-section .human-process-heading {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 22px;
  }
  .journey-section .human-process-heading p {
    font-size: 14px;
  }
  .journey-navigation {
    gap: 6px;
    margin-bottom: 24px;
  }
  .journey-navigation > button {
    width: 30px;
    height: 30px;
  }
  .journey-navigation > button .ui-icon {
    width: 15px;
    height: 15px;
  }
  .journey-stop {
    padding-inline: 10px;
    min-height: 105px;
  }
  .journey-stop > strong {
    font-size: 15px;
  }
  .journey-stop > span {
    font-size: 11px;
  }
  .journey-panel {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }
  .journey-art {
    height: 320px;
  }
  .journey-when {
    margin-bottom: 10px;
  }
  .journey-copy p {
    max-width: none;
  }
  .journey-copy {
    padding-inline: 0;
  }
  html body.review-page .journey-copy h3 {
    margin-bottom: 14px;
  }
}@media (prefers-reduced-motion: reduce) {
  .pillar-tabs button,
  .journey-navigation > button {
    transition: none;
  }
}.craft-chart-trace {
  stroke-width: 3;
  filter: drop-shadow(0 0 2px var(--lavender));
}.craft-reduced :is(.craft-trace, .craft-chart-trace) {
  display: none;
}@media (min-width: 761px) and (max-width: 1000px) {
  .playbook-art {
    height: 440px;
  }
}/* Keep the connected surfaces separated without shrinking type on narrow phones. */@media (max-width: 600px) {
  .playbook-art {
    height: 460px;
  }
}@media (max-width: 370px) {
  .playbook-art {
    height: 500px;
  }
}.journey-stop:focus-visible {
  outline-offset: -4px;
  border-radius: var(--radius-card);
}/* review-proof-refinement.css *//* Iteration 20 October: the promise and its proof. */html body.review-page .terrain-hero .hybrid-hero-positioning {
  display: inline-block;
  width: fit-content;
  max-width: min(100%, 42rem);
  margin-inline: auto;
  padding: 0.65rem 1.15rem;
  border: 1px solid color-mix(in srgb, var(--white) 22%, transparent);
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--white) 9%, transparent);
  color: var(--white);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font-size: var(--review-compact-size);
  line-height: 1.5;
  text-wrap: balance;
}/* The result gets a complete line; identity no longer competes with it. */html body.review-page .results-grid .result-card {
  --result-media-size: 8.25rem;
  container-type: inline-size;
  position: relative;
  grid-template-rows: auto auto 1fr auto;
  grid-row: auto;
  column-gap: 1.25rem;
  padding: 1.5rem;
}.results-section .result-video {
  grid-row: 1;
  height: auto;
  background: var(--soft);
}.results-section .result-video::after {
  content: none;
}.result-portrait {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
}.result-portrait > img {
  position: absolute;
  height: 100%;
  width: auto;
  min-width: 100%;
  max-width: none;
  top: 0;
  left: 50%;
  transform: translateX(-72%);
}.results-section .result-play {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  width: 100%;
  height: 2rem;
  border-radius: 0;
  background: var(--soft);
  color: var(--ink);
  box-shadow: none;
  font: var(--type-medium) 0.6875rem/1.2 var(--type-family);
  transition: background var(--review-duration) var(--review-ease);
}.results-section .result-play svg {
  width: 16px;
  height: 16px;
  color: var(--violet);
  fill: currentColor;
  stroke-width: 1;
}.results-section .result-video:hover .result-play {
  background: var(--lavender);
  transform: none;
}.results-section .result-video:active .result-play {
  transform: none;
}.results-section .result-video:focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 4px;
}.results-section .result-video-pending {
  inset: auto 0 0;
  min-height: 2rem;
  padding: 0.5rem 0.25rem;
  border-radius: 0;
  background: var(--lavender);
  font-size: 0.6875rem;
  line-height: 1rem;
}.results-section .result-identity {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 2.25rem auto auto;
  align-content: start;
  gap: 0.5rem;
  min-height: 0;
}.results-section .result-logo-slot {
  justify-content: space-between;
  gap: 0.625rem;
}.results-section .result-brand {
  max-width: calc(100% - 2.75rem);
}.result-channels {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex: none;
  color: var(--violet);
}.result-channels svg {
  width: 15px;
  height: 15px;
  flex: none;
}.result-channels .channel-linkedin {
  fill: currentColor;
}.result-industry {
  color: var(--muted);
  font-size: 0.75rem;
  line-height: 1.4;
}.results-section .result-person {
  align-content: start;
  margin-top: 0.5rem;
}html body.review-page .results-grid .result-outcome {
  grid-column: 1 / -1;
  padding-top: 1.75rem;
  min-height: 0;
}html body.review-page .results-grid .result-outcome strong {
  font-size: clamp(1.5rem, 6.8cqi, 2rem);
  font-weight: var(--type-semibold);
  line-height: 1.2;
  letter-spacing: -0.035em;
}.results-section .result-outcome small {
  margin-top: 0.375rem;
  font-size: var(--review-compact-size);
}html body.review-page .result-change {
  gap: 0.75rem;
  margin-top: 1.5rem;
  align-items: stretch;
}.results-section .result-before,
.results-section .result-after {
  margin: 0;
  padding: 1rem;
  border-radius: var(--radius-card);
}.results-section .result-before {
  background: var(--soft);
  color: var(--muted);
}.results-section .result-after {
  background: color-mix(in srgb, var(--review-deep) 88%, var(--white));
  color: var(--white);
}.results-section .result-after > span {
  font-weight: var(--type-semibold);
  color: var(--white);
}.results-section .result-after p {
  color: color-mix(in srgb, var(--white) 92%, transparent);
}.results-section .result-change p {
  font-size: var(--review-compact-size);
  line-height: 1.6;
}.results-section .result-detail {
  margin-top: 1.25rem;
}/* A glimpse of the next row, with all remaining cases one click away. */.results-window {
  position: relative;
}.results-section.is-collapsible .results-window {
  overflow: clip;
}.results-section.is-collapsed .results-window::after {
  content: '';
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  height: 180px;
  pointer-events: none;
  background: linear-gradient(
    transparent,
    color-mix(in srgb, var(--white) 72%, transparent) 55%,
    var(--white) 96%
  );
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  mask-image: linear-gradient(transparent, black 55%);
}.results-expand {
  display: flex;
  justify-content: center;
  padding-top: 0.5rem;
}.results-expand[hidden] {
  display: none;
}.results-expand button {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 48px;
  padding: 0.75rem 1.5rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  background: var(--white);
  color: var(--ink);
  font: var(--type-medium) var(--review-compact-size)/1.4 var(--type-family);
  cursor: pointer;
  transition:
    background 200ms ease,
    border-color 200ms ease;
}.results-expand button:hover {
  background: var(--soft);
  border-color: var(--lavender);
}.results-expand button:focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 4px;
}.results-expand button[aria-expanded='true'] svg {
  rotate: 180deg;
}/* Rafael's invitation uses the same photographic material as the illustrations. */html body.review-page .results-grid .result-invitation {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: var(--soft);
}.result-invitation-art {
  position: relative;
  overflow: hidden;
  min-height: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-card);
  background: var(--navy) url('../art/hero-grain-neo.webp') center 54% / cover;
  isolation: isolate;
}.result-invitation-art::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: url('../art/situation-grain.svg');
  mix-blend-mode: soft-light;
  opacity: 0.35;
}.result-invitation-art img {
  display: block;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 8px color-mix(in srgb, var(--white) 16%, transparent);
}.result-invitation-orbit {
  position: absolute;
  inset: 14px;
  width: calc(100% - 28px);
  height: calc(100% - 28px);
  stroke: color-mix(in srgb, var(--white) 35%, transparent);
  stroke-width: 0.8;
  fill: none;
}html body.review-page .result-invitation-body {
  padding: 1.5rem 0 0;
  gap: 1rem;
  flex: 1;
}.result-invitation .result-invitation-host {
  order: -1;
}.result-invitation .result-invitation-copy p {
  margin-top: 0.75rem;
}.result-invitation-meta {
  margin-top: 0.75rem;
  text-align: center;
  color: var(--muted);
  font-size: var(--review-meta-size);
}html body.review-page .result-invitation .result-invitation-link {
  margin-top: 1.5rem;
  width: 100%;
}@media (max-width: 1000px) {
  html body.review-page .results-grid .result-card {
    grid-template-rows: auto auto 1fr auto;
    grid-row: auto;
  }
}@media (max-width: 600px) {
  html body.review-page .terrain-hero .hybrid-hero-positioning {
    font-size: 0.75rem;
    padding: 0.625rem 0.875rem;
    max-width: 100%;
  }
  html body.review-page .results-grid .result-card {
    --result-media-size: 5.5rem;
    column-gap: 1rem;
    padding: 1.25rem;
  }
  .results-section .result-identity {
    gap: 0.375rem;
  }
  .results-section .result-logo-slot {
    gap: 0.375rem;
  }
  .results-section .result-channels {
    gap: 0.25rem;
  }
  .results-section .result-channels svg {
    width: 13px;
    height: 13px;
  }
  .results-section .result-brand {
    max-width: calc(100% - 2.25rem);
  }
  html body.review-page .result-change {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
  .results-section .result-before,
  .results-section .result-after {
    padding: 0.875rem;
  }
  .results-section .result-person strong {
    font-size: 0.8125rem;
  }
  .results-section .result-person span,
  .result-industry {
    font-size: 0.6875rem;
  }
}@media (max-width: 360px) {
  .results-section .result-brand--text {
    font-size: 1rem;
  }
  html body.review-page .results-grid .result-card {
    --result-media-size: 4.25rem;
    column-gap: 0.75rem;
    padding: 1rem;
  }
}@media (prefers-reduced-motion: reduce) {
  .results-expand button {
    transition: none;
  }
}/* review-consistency.css *//* Shared page rhythm. Section files still own illustration and scroll geometry.
   Outer: cards, diagrams, navigation, footer. Inner: reading-focused sections.
   Hero, fullscreen handoff and embedded illustration UI keep their own scale. */body {
  --site-outer-width: 72rem;
  --site-inner-width: 60rem;
  --site-gutter: 48px;
  --site-nav-inset: 32px;
  --site-section-space: 112px;
  --site-heading-gap: 48px;
  --site-column-gap: 64px;
  --site-control-height: 48px;
  --site-tab-height: 44px;
  --site-control-type: 0.875rem;
}body.review-page {
  --review-media-width: var(--site-outer-width);
  --content-width: var(--site-inner-width);
  --review-page-gutter: var(--site-gutter);
  --section-inset: var(--site-section-space);
  --heading-content-gap: var(--site-heading-gap);
  --review-proof-heading-size: var(--section-title-size);
}/* Both widths collapse onto the same gutters before there is room to nest them. */html
  body.review-page
  :is(
    .results-section,
    .review-situations,
    .foundation-section,
    .human-team,
    .review-playbooks,
    .human-process
  )
  > .story-shell,
html body.review-page .wf-story,
html body .trust-footer .footer-inner {
  width: min(var(--site-outer-width), calc(100% - 2 * var(--site-gutter)));
  margin-inline: auto;
}html body.review-page :is(.review-fit, .human-closing, .faq-section) > .story-shell {
  width: min(var(--site-inner-width), calc(100% - 2 * var(--site-gutter)));
  margin-inline: auto;
}html body.review-page main > :is(.faq-section, .human-closing) {
  padding-block: var(--section-inset);
}html
  body.review-page
  :is(
    .results-heading,
    .situation-heading,
    .foundation-intro,
    .review-playbook-heading,
    .human-process-heading,
    .human-team-intro
  ) {
  margin-bottom: var(--heading-content-gap);
}html body.review-page .review-situations .review-tabs,
html body.review-page .pillar-toolbar {
  margin-bottom: var(--heading-content-gap);
}/* These two illustration-and-copy stages share edges and a central column axis. */html body.review-page :is(.review-situation-reading article, .pillar-panel) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}html body.review-page .review-situations .review-tabs {
  margin-inline: auto;
}html body.review-page .wf-heading {
  padding-bottom: var(--heading-content-gap);
}html
  body.review-page
  :is(
    .review-fit-layout,
    .review-situation-reading article,
    .pillar-panel,
    .wf-story,
    .review-playbook-heading,
    .human-team-intro,
    .faq-layout,
    .journey-panel
  ) {
  column-gap: var(--site-column-gap);
}html body.review-page .playbook-library {
  gap: var(--heading-content-gap);
}html body.review-page .playbook-explanation {
  margin-top: 32px;
  gap: 32px;
}/* Section / chapter / card / body / control / caption are distinct type roles. */html body.review-page main :is(.playbook-explanation, .journey-copy) h3 {
  font-size: var(--review-chapter-size);
  font-weight: var(--type-medium);
  line-height: 1.25;
  letter-spacing: -0.018em;
  margin-bottom: 24px;
}html body.review-page :is(.playbook-explanation, .journey-copy) p {
  font-size: var(--review-body-size);
  line-height: 1.6;
}/* Navigation glass extends beyond the grid; its contents sit on the grid. */html body .terrain-nav.review-nav {
  width: min(
    calc(var(--site-outer-width) + 2 * var(--site-nav-inset)),
    calc(100% - 2 * (var(--site-gutter) - var(--site-nav-inset)))
  );
  min-height: 64px;
  padding: 8px var(--site-nav-inset);
}html body .review-nav .terrain-nav-links {
  gap: 24px;
  margin-right: 0;
}html body .review-nav .terrain-nav-links a {
  display: inline-flex;
  align-items: center;
  min-height: var(--site-tab-height);
  font-size: var(--site-control-type);
  font-weight: var(--type-medium);
}html body .review-nav .book-call,
html body.review-page main .human-closing .human-book-call,
html body .trust-footer .footer-inner .trust-footer-book {
  min-height: var(--site-control-height);
  padding: 12px 22px;
  border-radius: var(--radius-pill);
  font: var(--type-medium) var(--site-control-type)/1.4 var(--type-family);
  gap: 12px;
}html body.review-page .result-detail {
  min-height: var(--site-tab-height);
}html body.review-page :is(.review-tabs, .pillar-tabs, .wf-stages) {
  padding: 4px;
  gap: 4px;
}html
  body.review-page
  :is(.review-tabs button, .pillar-tabs button, .wf-stages a, .playbook-tabs button) {
  min-height: var(--site-tab-height);
  border-radius: var(--radius-pill);
  font: var(--type-medium) var(--site-control-type)/1.4 var(--type-family);
  transition-timing-function: var(--review-ease);
}html body.review-page .wf-stages a {
  padding: 10px 14px;
}html body.review-page .wf-stages a span {
  font-size: 0.75rem;
}html body.review-page .playbook-tabs button {
  min-height: var(--site-control-height);
  padding-block: 12px;
}html body.review-page :is(.journey-navigation > button, .review-rail-controls button) {
  width: var(--site-tab-height);
  height: var(--site-tab-height);
  min-width: var(--site-tab-height);
  border-radius: var(--radius-pill);
  transition-timing-function: var(--review-ease);
}html
  body.review-page
  :is(.review-tabs button, .pillar-tabs button, .wf-stages a, .playbook-tabs button):focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 3px;
}/* Footer uses the same control and caption roles as the page, not a smaller scale. */html body .trust-footer .footer-inner .trust-footer-column h3 {
  font: var(--type-medium) 1rem/1.4 var(--type-family);
  margin-top: 0;
}html
  body
  .trust-footer
  .footer-inner
  :is(.trust-footer-column a, .trust-footer-column > span, .trust-footer-identity > p) {
  font-size: var(--site-control-type);
  line-height: 1.6;
  white-space: normal;
}html
  body
  .trust-footer
  .footer-inner
  :is(.trust-footer-contact span, .trust-footer-bottom span, .trust-footer-bottom small) {
  font-size: 0.8125rem;
  line-height: 1.5;
}html body .trust-footer-contact {
  margin-top: 48px;
  padding-block: 24px;
}html body:has(.trust-footer) > #c15t-preferences {
  padding: 16px max(var(--site-gutter), calc((100% - var(--site-outer-width)) / 2));
  background: var(--review-deep, var(--navy));
  color: color-mix(in srgb, var(--white) 72%, var(--navy));
  font-size: 0.8125rem;
}html body:has(.trust-footer) > #c15t-preferences a {
  text-decoration: none;
  transition: color 220ms var(--motion-settle);
}html body:has(.trust-footer) > #c15t-preferences a:hover {
  color: var(--white);
}html body:has(.trust-footer) > #c15t-preferences a:focus-visible {
  outline-color: var(--lavender);
}@media (max-width: 1199px) {
  body {
    --site-section-space: 96px;
    --site-heading-gap: 40px;
    --site-column-gap: 40px;
  }
}@media (max-width: 1000px) {
  html body.review-page .playbook-tabs {
    padding: 4px;
    gap: 4px;
  }
  html body.review-page .playbook-tabs button {
    min-height: var(--site-tab-height);
  }
  html body.review-page .playbook-tabs button[aria-selected='true'] {
    background: var(--white);
    box-shadow: 0 2px 5px color-mix(in srgb, var(--navy) 6%, transparent);
  }
}@media (max-width: 900px) {
  html body.review-page .wf-section {
    --wf-view-top: 82px;
  }
  html body.review-page .wf-visual {
    height: clamp(334px, calc(38svh + 30px), 382px);
  }
}@media (max-width: 799px) {
  body {
    --site-gutter: 24px;
    --site-nav-inset: 12px;
    --site-section-space: 72px;
    --site-heading-gap: 32px;
    --site-column-gap: 32px;
  }
  html body.review-page :is(.review-fit-layout, .human-team-intro, .faq-layout) {
    row-gap: var(--heading-content-gap);
  }
  html body.review-page .playbook-explanation {
    gap: 24px;
  }
  html body .trust-footer-top {
    column-gap: 24px;
  }
  html body .trust-footer-contact {
    margin-top: 32px;
  }
  html body .review-nav .book-call {
    padding-inline: 16px;
  }
}@media (max-width: 1000px) {
  html body.review-page .review-situations .review-tabs {
    margin-inline: auto;
    justify-content: flex-start;
  }
}@media (max-width: 999px) {
  html
    body.review-page
    :is(
      .review-situation-reading article,
      .review-situation-reading article[hidden],
      .pillar-panel
    ) {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--heading-content-gap);
  }
  html body.review-page .review-situations :is(.situation-scene, .situation-copy) {
    max-width: none;
    margin-inline: 0;
  }
  html body.review-page .pillar-tabs {
    width: 100%;
  }
}@media (max-width: 480px) {
  html body.review-page .wf-stages a {
    padding-inline: 12px;
  }
  html body.review-page .wf-stages a span {
    display: none;
  }
}@media (max-width: 600px) {
  html body .trust-footer-top > .trust-footer-column:last-child {
    grid-column: 1 / -1;
  }
}@media (max-width: 360px) {
  html body .terrain-nav.review-nav {
    gap: 8px;
  }
  html body .review-nav .book-call {
    padding-inline: 8px;
  }
}/* review-pages.css *//* Subpages share the homepage grid and its semantic type roles. */html body.review-page .page-shell {
  width: min(var(--site-outer-width), calc(100% - 2 * var(--site-gutter)));
  margin-inline: auto;
}html body.review-page .page-lead {
  padding-block: calc(112px + var(--site-heading-gap)) var(--site-heading-gap);
}.page-kicker,
.page-breadcrumb {
  margin: 0 0 24px;
  color: var(--muted);
  font: var(--type-medium) var(--site-control-type)/1.5 var(--type-family);
}.page-kicker {
  display: block;
}.page-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}.page-breadcrumb svg {
  rotate: -90deg;
  width: 14px;
  height: 14px;
  color: var(--violet);
}.page-breadcrumb a {
  color: inherit;
  text-decoration: none;
  transition: color 220ms var(--review-ease);
}.page-breadcrumb a:hover {
  color: var(--violet);
}html body.review-page .page-lead h1 {
  max-width: 18ch;
  margin: 0;
  font: var(--type-semibold) var(--title-size)/1.15 var(--type-family);
  letter-spacing: -0.035em;
  color: var(--ink);
  text-wrap: balance;
}html body.review-page .page-lead > p {
  max-width: 40rem;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: var(--review-body-size);
  line-height: 1.6;
  text-wrap: pretty;
}html body.review-page main > .case-library {
  padding-top: 0;
}html body.review-page main > .case-related {
  padding-block: var(--site-section-space);
}.case-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
}.case-interview {
  margin: 0;
  min-width: 0;
}.case-interview-trigger {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: var(--radius-card);
  overflow: hidden;
  background: var(--soft);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}.case-interview-poster {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--soft);
}.case-interview-poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}.case-interview-action {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  min-height: 60px;
  font: var(--type-medium) var(--site-control-type)/1.4 var(--type-family);
  transition: background 220ms var(--review-ease);
}.case-interview-action > svg {
  margin-left: auto;
  width: 18px;
  height: 18px;
}.case-play-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-pill);
  background: var(--lavender);
  color: var(--violet);
}.case-play-icon svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
  stroke-width: 1;
}.case-interview-trigger:hover .case-interview-action {
  background: var(--lavender);
}.case-interview > figcaption {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-top: 20px;
  font-size: var(--review-compact-size);
  line-height: 1.5;
}.case-interview > figcaption strong {
  font-weight: var(--type-medium);
}.case-interview > figcaption span {
  color: var(--muted);
  font-size: var(--review-meta-size);
}.case-facts {
  position: relative;
  display: flex;
  flex-direction: column;
  align-self: start;
  min-width: 0;
  min-height: 100%;
  padding: 32px;
  border-radius: var(--radius-card);
  background: var(--soft);
  overflow: hidden;
  isolation: isolate;
}.case-facts::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: url('../art/method-atmosphere-v1.webp') center / cover;
  opacity: 0.1;
}.case-facts::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: url('../art/situation-grain.svg');
  mix-blend-mode: soft-light;
  opacity: 0.25;
}.case-brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 40px;
}.case-brand-row .result-brand {
  max-width: calc(100% - 50px);
}.case-industry {
  display: block;
  margin-top: 16px;
  color: var(--muted);
  font-size: var(--review-meta-size);
  line-height: 1.5;
}.case-key-result {
  display: grid;
  gap: 12px;
  margin-block: auto;
  padding-top: 40px;
  padding-bottom: 32px;
}.case-key-result strong {
  font: var(--type-semibold) var(--section-title-size)/1.2 var(--type-family);
  letter-spacing: -0.025em;
  color: var(--ink);
}.case-key-result > span {
  font-size: var(--review-body-size);
  line-height: 1.5;
}.case-metric-source {
  margin: 0;
  color: var(--muted);
  font-size: var(--review-meta-size);
  line-height: 1.5;
}.case-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: var(--site-column-gap);
  padding-top: var(--site-section-space);
  align-items: start;
}.case-contents {
  position: sticky;
  top: 120px;
  display: grid;
  padding-right: 24px;
}.case-contents > span {
  font-size: var(--review-meta-size);
  color: var(--muted);
  padding-bottom: 20px;
}.case-contents a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding-block: 12px;
  border-bottom: 1px solid var(--line);
  font: var(--type-medium) var(--site-control-type)/1.4 var(--type-family);
  color: var(--ink);
  text-decoration: none;
  transition: color 220ms var(--review-ease);
}.case-contents a:hover {
  color: var(--violet);
}.case-contents svg {
  width: 16px;
  height: 16px;
  color: var(--violet);
}.case-article {
  min-width: 0;
  max-width: 42rem;
}.case-article-section {
  scroll-margin-top: 120px;
}.case-article-section + .case-article-section {
  margin-top: var(--site-heading-gap);
}html body.review-page :is(.case-article-section, .case-section-heading, .legal-content section) h2 {
  margin: 0 0 24px;
  font: var(--type-semibold) var(--section-title-size)/1.25 var(--type-family);
  letter-spacing: -0.025em;
  color: var(--ink);
}.case-article-section p,
.legal-content p,
.legal-content li {
  margin: 0 0 16px;
  font-size: var(--review-body-size);
  line-height: 1.7;
  color: var(--muted);
  text-wrap: pretty;
}.case-article-section p:last-child,
.legal-content section > :last-child {
  margin-bottom: 0;
}.case-quote {
  margin: var(--site-heading-gap) 0 0;
  padding: 32px;
  border-radius: var(--radius-card);
  background: color-mix(in srgb, var(--review-deep) 88%, var(--white));
  color: var(--white);
}.case-quote blockquote {
  margin: 0;
  font: var(--type-medium) var(--review-chapter-size)/1.4 var(--type-family);
  letter-spacing: -0.018em;
  text-wrap: pretty;
}.case-quote figcaption {
  display: grid;
  gap: 4px;
  margin-top: 24px;
  font-size: var(--review-compact-size);
  line-height: 1.5;
}.case-quote figcaption strong {
  font-weight: var(--type-medium);
}.case-quote figcaption span {
  color: color-mix(in srgb, var(--white) 75%, transparent);
  font-size: var(--review-meta-size);
}.case-section-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px 32px;
  margin-bottom: var(--site-heading-gap);
}html body.review-page .case-section-heading h2 {
  margin-bottom: 0;
}.page-text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  color: var(--ink);
  font: var(--type-medium) var(--site-control-type)/1.4 var(--type-family);
  text-decoration: none;
  transition: color 220ms var(--review-ease);
}.page-text-link:hover {
  color: var(--violet);
}.page-text-link svg {
  width: 18px;
  height: 18px;
}html body.review-page :is(.page-shell, .case-related) :is(a, button):focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 4px;
}/* Readable legal drafts, using the same inner reading grid as the FAQ. */html body.legal-page .page-shell {
  max-width: var(--site-inner-width);
}html body.legal-page .page-lead h1 {
  max-width: none;
  overflow-wrap: anywhere;
}.legal-draft {
  margin: 0 0 var(--site-heading-gap);
  padding: 24px;
  background: var(--soft);
  border-radius: var(--radius-card);
}.legal-draft > strong {
  display: block;
  font-size: var(--review-compact-size);
  font-weight: var(--type-medium);
  margin-bottom: 8px;
}.legal-content {
  padding-bottom: var(--site-section-space);
}.legal-content section {
  max-width: 44rem;
  scroll-margin-top: 120px;
}.legal-content section + section {
  margin-top: var(--site-heading-gap);
}.legal-content a {
  color: var(--violet);
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color 220ms var(--review-ease);
}.legal-content a:hover {
  color: var(--ink);
}.legal-content ul {
  margin: 16px 0;
  padding-left: 24px;
}.legal-content address {
  font: inherit;
  color: var(--muted);
  line-height: 1.7;
}.legal-content address + p {
  margin-top: 16px;
}.legal-content .legal-review {
  font-size: var(--review-compact-size);
  padding-left: 16px;
  border-left: 2px solid var(--lavender);
}html body.review-page .trust-footer .footer-legal a {
  color: color-mix(in srgb, var(--white) 72%, var(--navy));
  text-decoration: none;
  font-size: 0.8125rem;
  line-height: 1.5;
}html body.review-page .trust-footer .footer-legal a:hover {
  color: var(--white);
}html body.review-page .trust-footer .footer-legal a::after {
  content: none;
}@media (max-width: 1000px) {
  .case-overview {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  }
  .case-facts {
    padding: 24px;
  }
  .case-story {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
  .case-contents {
    padding-right: 0;
  }
}@media (max-width: 799px) {
  html body.review-page .page-lead {
    padding-top: 136px;
  }
  .case-overview,
  .case-story {
    grid-template-columns: minmax(0, 1fr);
  }
  .case-story {
    row-gap: var(--site-heading-gap);
  }
  .case-facts {
    min-height: 0;
  }
  .case-key-result {
    padding-block: 28px 24px;
  }
  .case-contents {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 24px;
  }
  .case-contents > span {
    flex-basis: 100%;
    padding-bottom: 8px;
  }
  .case-contents a {
    justify-content: flex-start;
  }
  .case-article {
    max-width: none;
  }
  .case-quote {
    padding: 24px;
  }
  .case-interview-action {
    padding-inline: 16px;
  }
}@media (prefers-reduced-motion: reduce) {
  :is(
    .page-breadcrumb a,
    .case-interview-action,
    .case-contents a,
    .page-text-link,
    .legal-content a
  ) {
    transition: none;
  }
}/* review-mobile.css *//* Phone reading layouts. Desktop composition stays in the section styles. */@media (max-width: 999px) {
  html body .terrain-nav.review-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: nowrap;
  }
  html body .review-nav .terrain-nav-links,
  html body .review-nav .nav-toggle {
    display: none;
  }
  html body .review-nav .book-call {
    margin: 0 0 0 auto;
    flex: none;
    min-height: 44px;
    padding-inline: 18px;
  }
  html body.review-page .terrain-hero .hybrid-hero-positioning {
    display: block;
    box-sizing: border-box;
    width: fit-content;
    max-width: 100%;
    padding: 10px 18px;
    border-radius: 20px;
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
    white-space: normal;
    text-wrap: balance;
  }
  html body.review-page .wf-story.is-mobile-split {
    display: block;
    width: 100%;
    overflow-anchor: none;
  }
  .wf-mobile-scene {
    position: sticky;
    top: 0;
    height: 100dvh;
    display: grid;
    grid-template-rows: min(44svh, 360px) minmax(0, 1fr);
    background: var(--white);
    isolation: isolate;
  }
  html body.review-page .is-mobile-split .wf-visual {
    position: relative;
    top: auto;
    height: 100%;
    min-height: 0;
    border-radius: 0;
    grid-column: 1;
    grid-row: 1;
    z-index: auto;
  }
  .is-mobile-split .wf-stages {
    display: none;
  }
  .is-mobile-split .wf-view {
    inset: 16px 0;
  }
  .is-mobile-split .wf-reading {
    grid-column: 1;
    grid-row: 2;
    min-height: 0;
    overflow: hidden;
    padding: 0;
    background: var(--white);
  }
  .wf-reading-track {
    position: relative;
    will-change: transform;
  }
  html body.review-page .is-mobile-split .wf-step {
    min-height: var(--wf-reading-height);
    padding: 24px var(--site-gutter) 32px;
    opacity: 1;
  }
  .is-mobile-split .wf-step-number {
    margin-bottom: 8px;
  }
  html body.review-page .is-mobile-split .wf-step h3 {
    margin-bottom: 16px;
  }
  html body.review-page .is-mobile-split .explanation-benefit {
    margin-top: 20px;
    padding: 16px 18px;
  }
  /* Mobile can scroll through each pillar and timeline step, so selectors
     would duplicate the reading order. True choice tabs remain available. */
  html body.review-page .foundation-crafted.is-reading-flow .pillar-tabs,
  html body.review-page .journey-section.is-reading-flow .journey-navigation {
    display: none;
  }
  .pillar-mobile-label {
    display: block;
    color: var(--violet);
    font-size: var(--review-meta-size);
    margin-bottom: 12px;
  }
  html body.review-page .journey-section {
    min-height: 100dvh;
    padding-block: 56px;
  }
  .journey-section.is-reading-flow .journey-panels {
    display: grid;
    gap: 56px;
    position: relative;
  }
  .journey-section.is-reading-flow .journey-panel {
    grid-area: auto;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin: 0;
    position: relative;
    padding-top: 24px;
    border-top: 1px solid var(--review-dark-line);
  }
  .journey-section.is-reading-flow .journey-copy {
    order: -1;
  }
  .journey-section.is-reading-flow .journey-when {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .journey-section.is-reading-flow .journey-when::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lavender);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--lavender) 15%, transparent);
    flex: none;
  }
  .journey-section.is-reading-flow .journey-art {
    height: 300px;
  }
  html body.review-page .review-fit {
    min-height: 100dvh;
    display: grid;
    align-items: center;
    padding-block: 56px;
  }
  html body.review-page .sales-handoff {
    margin-block: 0;
  }
  html body.review-page :is(.sales-handoff, .review-fit, .journey-section) {
    scroll-margin-top: 0;
  }
  .handoff-stage {
    min-height: 100dvh;
    padding-block: max(48px, env(safe-area-inset-top)) max(48px, env(safe-area-inset-bottom));
  }
  .is-handoff-animated .handoff-stage {
    height: 100dvh;
  }
  /* These small surfaces are already almost opaque. Avoid recompositing a
     separate backdrop blur for every animated node on iOS. Keep navbar glass. */
  :is(.wf-node, .wf-source, .craft-glass) {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .wf-routes path {
    filter: none;
  }
  .wf-routes .wf-flow {
    filter: none;
    stroke-width: 3;
  }
  body.is-mobile-reading .terrain-nav:not(:focus-within):not(.is-menu-open),
  body.is-mobile-reading .floating-analysis {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }
}@media (min-width: 1000px) {
  .pillar-mobile-label {
    display: none;
  }
}/* Reduced motion exposes the whole timeline at desktop sizes as well. */@media (prefers-reduced-motion: reduce) and (min-width: 1000px) {
  .journey-section.is-reading-flow .journey-navigation {
    display: none;
  }
  .journey-section.is-reading-flow .journey-panels {
    gap: 64px;
  }
  .journey-section.is-reading-flow .journey-panel {
    grid-area: auto;
  }
}