/* Homepage and Work page layout (from concept B, 19 Oct 2026). */


.ck-head { max-width: 760px; margin-bottom: 48px; }
.ck-head .lead { margin-top: 16px; }
.ck-sample { font-family: var(--mono); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.ck-proof { display: inline-flex; align-items: baseline; gap: 8px; padding: 8px 14px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); font-size: 14px; }
.ck-proof b { font-weight: 500; font-size: 18px; letter-spacing: -.02em; }
.ck-proof span { color: var(--muted); }
.ck-link { font-size: 15px; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--rule); }

/* Principles strip, shared */
.pstrip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-top: 24px; }
.pstrip li { list-style: none; padding: 20px 20px 20px 0; font-size: 16px; line-height: 1.35; letter-spacing: -.01em; display: flex; gap: 10px; }
.pstrip li + li { padding-left: 20px; border-left: 1px solid var(--line); }
.pstrip span { font-family: var(--mono); font-size: 12px; color: var(--muted); padding-top: 3px; }
.pstrip-wrap h2 { font-size: 15px; font-weight: 500; color: var(--muted); letter-spacing: -.005em; }

/* ============ A: Leak map ============ */
.lk { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: 12px; row-gap: 12px; background: var(--surface); border: 1px solid var(--line); border-radius: 24px; padding: 40px 32px 32px; }
.lk__stage { grid-row: 1; position: relative; text-align: center; padding-top: 4px; }
.lk__stage::before { content: ""; position: absolute; top: 21px; left: -6px; right: -6px; height: 2px; background: var(--rule); }
.lk__stage--first::before { left: 50%; }
.lk__stage--last::before { right: 50%; }
.lk__node { position: relative; z-index: 1; width: 36px; height: 36px; border-radius: 50%; background: var(--ink); color: #fff; display: inline-grid; place-items: center; font-family: var(--mono); font-size: 12px; }
.lk__stage--won .lk__node { background: var(--operate); }
.lk__stage p { margin-top: 12px; font-size: 15px; line-height: 1.3; letter-spacing: -.01em; }
.lk__leak { grid-row: 2; position: relative; margin: 6px 0 22px; padding: 12px 14px; border-radius: 12px; background: #fdf0ea; color: #8a2f12; font-size: 13.5px; line-height: 1.35; border: 1px dashed #e9a888; }
.lk__leak::before { content: ""; position: absolute; top: -14px; left: 50%; width: 2px; height: 12px; background: repeating-linear-gradient(to bottom, #e0582a 0 3px, transparent 3px 6px); }
.lk__leak b { display: block; font-weight: 500; font-size: 11px; font-family: var(--mono); letter-spacing: .05em; text-transform: uppercase; margin-bottom: 4px; color: var(--ember); }
.lk__band { border-radius: 14px; padding: 16px 18px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; color: #fff; }
.lk__band h3 { font-size: 20px; font-weight: 500; letter-spacing: -.02em; }
.lk__band p { font-size: 14.5px; opacity: .85; flex: 1 1 220px; }
.lk__band .lk__m { font-size: 14px; background: rgba(255,255,255,.14); padding: 6px 12px; border-radius: 999px; white-space: nowrap; }
.lk__band .lk__m b { font-weight: 500; font-size: 16px; }
.lk__band a { color: #fff; font-size: 14px; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.4); }
.lk__band--find { grid-row: 3; grid-column: 1 / 3; background: var(--find); }
.lk__band--convert { grid-row: 4; grid-column: 2 / 6; background: var(--convert); }
.lk__band--operate { grid-row: 5; grid-column: 1 / 7; background: var(--operate); }
.lk__key { grid-row: 6; grid-column: 1 / -1; display: flex; gap: 20px; flex-wrap: wrap; font-size: 13px; color: var(--muted); margin-top: 8px; }

/* ============ B: Show the work ============ */
.sw { display: grid; gap: 28px; }
.sw__row { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 56px; align-items: center; padding: 48px; border-radius: 28px; }
.sw__row--find { background: var(--tint-sky); --c: var(--find); }
.sw__row--convert { background: var(--tint-peach); --c: var(--convert); }
.sw__row--operate { background: var(--tint-sage); --c: var(--operate); }
.sw__row:nth-child(even) .sw__copy { order: 2; }
.sw__copy h3 { font-size: clamp(28px, 3vw, 40px); line-height: 1.05; letter-spacing: -.03em; font-weight: 500; margin: 6px 0 14px; }
.sw__copy p { font-size: 17px; line-height: 1.5; color: var(--ink-2); }
.sw__copy .ck-proof { margin: 22px 0 18px; }
.sw__names { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.sw__names li { list-style: none; font-size: 13px; padding: 5px 10px; border-radius: 999px; background: rgba(255,255,255,.7); color: var(--ink-2); }
.mock { background: var(--surface); border-radius: 18px; box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 24px 48px -24px rgba(28,26,23,.25); padding: 22px; font-size: 14px; }
.mock__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.mock__app { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; }
.mock__app i { width: 10px; height: 10px; border-radius: 50%; background: var(--c); }
.ai-q { background: var(--paper); border-radius: 12px; padding: 12px 14px; margin-left: 20%; }
.ai-a { margin-top: 14px; line-height: 1.55; color: var(--ink-2); }
.ai-a ol { margin: 8px 0 0 18px; }
.ai-a li { margin: 3px 0; }
.ai-flag { margin-top: 14px; display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 10px; background: #fdf0ea; color: #8a2f12; font-size: 13px; }
.ai-src { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.ai-src span { font-size: 12px; padding: 4px 8px; border: 1px solid var(--line); border-radius: 6px; color: var(--muted); }
.ai-src span.fix { border-color: var(--find); color: var(--find); }
.inbox li { list-style: none; display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 12px 0; border-top: 1px solid var(--line); }
.inbox li:first-child { border-top: 0; }
.inbox .who { font-weight: 500; }
.inbox .src { font-size: 12px; color: var(--muted); }
.inbox .t { grid-row: span 2; align-self: center; text-align: right; font-family: var(--mono); font-size: 13px; }
.inbox .t small { display: block; font-family: var(--font); font-size: 11px; color: var(--muted); }
.inbox .hot { color: var(--convert); }
.hichip { display: inline-block; font-size: 11px; padding: 2px 7px; border-radius: 999px; background: var(--convert-tint); color: var(--convert-deep); margin-left: 6px; }
.rep { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.rep div { background: var(--paper); border-radius: 10px; padding: 12px; }
.rep b { display: block; font-size: 22px; font-weight: 500; letter-spacing: -.02em; }
.rep span { font-size: 12px; color: var(--muted); }
.rep-bars { display: flex; align-items: flex-end; gap: 6px; height: 70px; margin: 16px 0 6px; }
.rep-bars i { flex: 1; background: var(--operate-tint); border-radius: 4px 4px 0 0; }
.rep-bars i.x { background: var(--ember); }
.rep-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.rep-ok { background: var(--operate); color: #fff; padding: 6px 12px; border-radius: 999px; font-size: 12.5px; }

/* ============ C: Proof first ============ */
.concept-c .strip { display: none; }
.pf { display: grid; grid-template-columns: 1.25fr 1fr; grid-template-rows: auto auto; gap: 20px; }
.pf__card { background: var(--surface); border: 1px solid var(--line); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.pf__card--big { grid-row: span 2; }
.pf__tag { display: flex; justify-content: space-between; font-size: 13px; color: var(--muted); }
.pf__tag b { font-weight: 500; color: var(--c); }
.pf__card h3 { font-size: 22px; font-weight: 500; letter-spacing: -.02em; line-height: 1.2; }
.pf__who { font-size: 14px; color: var(--muted); margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line); }
.pf__big { font-size: clamp(56px, 6vw, 88px); line-height: .95; letter-spacing: -.05em; font-weight: 500; color: var(--c); }
.cpa { display: grid; gap: 14px; margin: 8px 0; }
.cpa__row { display: grid; grid-template-columns: 90px 1fr 56px; align-items: center; gap: 12px; font-size: 14px; }
.cpa__bars { display: grid; gap: 4px; }
.cpa__bars i { display: block; height: 14px; border-radius: 4px; }
.cpa__bars .b { width: 100%; background: var(--line); }
.cpa__bars .a { background: var(--convert); }
.cpa__row em { font-style: normal; font-family: var(--mono); color: var(--convert); text-align: right; }
.cpa__key { display: flex; gap: 16px; font-size: 12px; color: var(--muted); }
.cpa__key i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; }
.share { display: flex; align-items: center; gap: 20px; }
.share svg { width: 120px; height: 120px; flex: none; }
.share p { font-size: 15px; line-height: 1.4; color: var(--ink-2); }
.clock { display: grid; gap: 8px; }
.clock__bar { height: 12px; border-radius: 6px; background: var(--line); position: relative; }
.clock__bar i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; }
.clock__lab { display: flex; justify-content: space-between; font-size: 13px; color: var(--muted); }
.pr3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--ink); margin-top: 72px; }
.pr3 > div { padding: 24px 24px 0 0; }
.pr3 > div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.pr3 h3 { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 500; letter-spacing: -.02em; }
.pr3 h3 i { width: 10px; height: 10px; border-radius: 50%; background: var(--c); }
.pr3 p { margin: 8px 0 14px; color: var(--ink-2); font-size: 16px; }
.pr3 ul { display: grid; gap: 6px; margin-bottom: 16px; }
.pr3 li { list-style: none; font-size: 14px; color: var(--muted); }

/* Responsive */
@media (max-width: 1000px) {
  .sw__row { grid-template-columns: 1fr; gap: 32px; padding: 32px; }
  .sw__row:nth-child(even) .sw__copy { order: 0; }
  .pf { grid-template-columns: 1fr; }
  .pf__card--big { grid-row: auto; }
}
@media (max-width: 760px) {
  .lk { grid-template-columns: 1fr; padding: 24px 18px; row-gap: 0; }
  .lk__stage, .lk__leak, .lk__band, .lk__key { grid-row: auto !important; grid-column: 1 / -1 !important; }
  .lk__stage { display: flex; align-items: center; gap: 14px; text-align: left; padding: 8px 0; }
  .lk__stage::before { top: 0; bottom: 0; left: 17px !important; right: auto !important; width: 2px; height: auto; }
  .lk__stage p { margin: 0; }
  .lk__leak { margin: 2px 0 10px 50px; }
  .lk__leak::before { display: none; }
  .lk__band { margin-top: 10px; }
  .lk__band:first-of-type { margin-top: 24px; }
  .pstrip { grid-template-columns: 1fr 1fr; }
  .pstrip li:nth-child(3) { padding-left: 0; border-left: 0; }
  .pstrip li:nth-child(n+3) { border-top: 1px solid var(--line); }
  .sw__row { padding: 22px 18px; border-radius: 20px; }
  .mock { padding: 16px; }
  .rep b { font-size: 18px; }
  .pr3 { grid-template-columns: 1fr; }
  .pr3 > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); margin-top: 20px; }
  .cpa__row { grid-template-columns: 70px 1fr 48px; }
}
.lk__band h3 { color: #fff; }
.inbox .who { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.hichip { margin-left: 0; }
.pf__also { display: flex; align-items: baseline; gap: 12px; padding: 16px; border-radius: 14px; background: var(--convert-tint); margin-top: 8px; }
.pf__also b { font-size: 36px; font-weight: 500; letter-spacing: -.03em; color: var(--convert); }
.pf__also span { font-size: 14px; color: var(--ink-2); }
.ck-proof b { white-space: nowrap; } @media (max-width:760px){ .ck-proof { border-radius: 14px; flex-wrap: wrap; } }

/* ===== B v2 ===== */
/* Logo marquee: one slim row instead of a 2x7 grid */
.mq { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 32px; padding: 40px 0 8px; }
.mq__label { font-size: 14px; color: var(--muted); white-space: nowrap; }
.mq__view { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.mq__track { display: flex; gap: 64px; width: max-content; animation: mq 48s linear infinite; }
.mq__track li { list-style: none; flex: none; display: grid; place-items: center; height: 44px; }
.mq__track img { height: 30px; width: auto; max-width: 140px; object-fit: contain; filter: grayscale(1); opacity: .6; transition: opacity .2s, filter .2s; }
.mq__track img:hover { opacity: 1; filter: none; }
.mq__view:hover .mq__track { animation-play-state: paused; }
@keyframes mq { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .mq__track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; } .mq__track li[aria-hidden] { display: none; } }

/* Practice panels: the practice name is the hero of each panel */
.sw__title { font-size: 15px; font-weight: 500; color: var(--muted); letter-spacing: -.005em; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.sw__title::before { content: ""; width: 18px; height: 3px; border-radius: 2px; background: var(--ember); }
.sw__mark { display: flex; align-items: flex-start; gap: 10px; color: var(--c); }
.sw__n { font-family: var(--mono); font-size: 13px; padding-top: 10px; opacity: .8; }
.sw__word { font-size: clamp(52px, 6.6vw, 100px); line-height: .88; letter-spacing: -.055em; font-weight: 500; }
.concept-b .sw__copy h3 { font-size: clamp(22px, 2.2vw, 30px); margin: 18px 0 10px; letter-spacing: -.025em; }
.concept-b .sw__row { padding: 44px 48px; }

/* Start: one neutral path, no extra labels to remember */
.st { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: start; padding-top: 40px; border-top: 1px solid var(--ink); }
.st__head .lead { margin: 14px 0 24px; }
.st__path { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; position: relative; }
.st__path li { list-style: none; position: relative; padding: 0 20px 0 0; }
.st__path li::before { content: ""; position: absolute; top: 17px; left: 36px; right: 0; height: 2px; background: var(--rule); }
.st__path li:last-child::before { background: repeating-linear-gradient(90deg, var(--rule) 0 6px, transparent 6px 12px); }
.st__n { position: relative; z-index: 1; display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--ink); color: #fff; font-family: var(--mono); font-size: 13px; margin-bottom: 18px; }
.st__path li:first-child .st__n { background: var(--ember); }
.st__path h3 { font-size: 20px; font-weight: 500; letter-spacing: -.02em; }
.st__d { font-family: var(--mono); font-size: 12px; color: var(--muted); margin: 4px 0 10px; }
.st__path p:last-child { font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.st__alt { margin-top: 28px; }
@media (max-width: 1000px) { .st { grid-template-columns: 1fr; gap: 32px; } }
@media (max-width: 760px) {
  .mq { grid-template-columns: 1fr; gap: 14px; padding-top: 28px; }
  .mq__label { text-align: center; }
  .mq__track { gap: 40px; }
  .mq__track img { height: 24px; }
  .concept-b .sw__row { padding: 24px 18px; }
  .sw__word { font-size: 52px; }
  .st__path { grid-template-columns: 1fr; gap: 22px; }
  .st__path li { display: grid; grid-template-columns: 36px 1fr; gap: 14px; padding: 0; }
  .st__path li::before { top: 40px; bottom: -22px; left: 17px; right: auto; width: 2px; height: auto; }
  .st__path li:last-child::before { display: none; }
  .st__n { margin: 0; }
}
/* Thinking: one slim band */
.nb { display: flex; align-items: center; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; padding: 22px 28px; border-radius: 18px; background: var(--tint-lilac); }
.nb__t { font-size: 20px; letter-spacing: -.015em; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.nb__e { font-size: 13px; color: var(--lilac-deep); padding: 4px 10px; border-radius: 999px; background: rgba(75,69,102,.1); }
.nb__cta { display: flex; align-items: center; gap: 20px; }
@media (max-width: 760px) { .nb { padding: 20px; } .nb__t { font-size: 18px; } }

/* Closer: lead magnet, light and plain instead of the dark glow card */
.lm { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 56px; align-items: center; padding: 56px; border-radius: 28px; background: var(--tint-sky); border: 1px solid #dbe4ec; }
.lm__tag { display: inline-block; font-size: 13px; padding: 5px 12px; border-radius: 999px; background: var(--find); color: #fff; }
.lm__h { font-size: clamp(36px, 4.4vw, 60px); line-height: 1.02; letter-spacing: -.04em; font-weight: 500; margin: 18px 0 18px; text-wrap: balance; }
.lm__p { font-size: 18px; line-height: 1.5; color: var(--ink-2); max-width: 540px; }
.lm__fine { margin-top: 14px; font-size: 14px; color: var(--muted); }
.lm__form { background: var(--surface); border-radius: 20px; padding: 24px; box-shadow: 0 24px 48px -28px rgba(27,39,49,.35); display: grid; gap: 14px; }
.lm__f { display: grid; gap: 6px; font-size: 13px; color: var(--muted); }
.lm__f input { font: inherit; font-size: 16px; color: var(--ink); padding: 13px 14px; border: 1px solid var(--rule); border-radius: 12px; background: var(--canvas); }
.lm__f input:focus { outline: 2px solid var(--find); outline-offset: 1px; border-color: transparent; }
.lm__btn { justify-content: center; height: 50px; margin-top: 4px; border: 0; cursor: pointer; font-size: 16px; }
.lm__engines { display: flex; justify-content: center; gap: 16px; font-size: 12.5px; color: var(--muted); }
.lm__engines i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--rule); margin-right: 6px; vertical-align: 1px; animation: lmdot 1.6s ease-in-out infinite; }
.lm__engines span:nth-child(2) i { animation-delay: .3s; } .lm__engines span:nth-child(3) i { animation-delay: .6s; }
@keyframes lmdot { 50% { background: var(--find); } }
@media (prefers-reduced-motion: reduce) { .lm__engines i { animation: none; } }
.lm__alt { margin-top: 18px; text-align: center; }
@media (max-width: 1000px) { .lm { grid-template-columns: 1fr; gap: 32px; padding: 36px; } }
@media (max-width: 760px) { .lm { padding: 24px 18px; border-radius: 20px; } .lm__p { font-size: 16px; } .lm__form { padding: 18px; } }

/* ===== B v4 ===== */
/* Hero: the promise on its own line */
.hero__punch { margin-top: 14px; font-size: 22px; line-height: 1.3; letter-spacing: -.02em; font-weight: 500; color: var(--ink); }

/* Nav practice colours live in styles.css (neutral at rest, coloured on hover and current page). */
/* Hero: who it's for, one quiet line */
.hero__for { margin-top: 14px; font-size: 14px; line-height: 1.45; color: var(--muted); max-width: 42ch; }

/* Thinking band: tighter, and it reads as its own band */
.concept-b .section--tight:has(.nb) { padding-top: 72px; }
.nb { background: var(--lilac-deep); color: #fff; }
.nb__e { background: rgba(255,255,255,.14); color: #fff; }
.nb .btn--primary { background: #fff; color: var(--ink); }
.nb .link { color: #fff; }
.concept-b .section--team { padding-top: 32px; }

/* Team: dark card, people front and centre */
.tm { background: var(--ink); color: #fff; border-radius: 28px; padding: 56px; position: relative; overflow: hidden; }
.tm::before { content: ""; position: absolute; inset: -40% -10% auto auto; width: 70%; height: 120%; background:
  radial-gradient(closest-side, rgba(59,91,120,.45), transparent), radial-gradient(closest-side at 70% 60%, rgba(163,80,43,.35), transparent), radial-gradient(closest-side at 30% 80%, rgba(47,93,58,.35), transparent); filter: blur(10px); pointer-events: none; }
.tm > * { position: relative; }
.tm__h { font-size: clamp(36px, 4.6vw, 64px); line-height: 1; letter-spacing: -.045em; font-weight: 500; max-width: 760px; }
.tm__sub { margin-top: 14px; font-size: 18px; color: rgba(255,255,255,.7); }
.tm .team { margin-top: 40px; }
.tm .person__name { color: #fff; }
.tm .person__role { color: rgba(255,255,255,.6); }
.tm .person__photo { border: 1px solid rgba(255,255,255,.08); }
.tm__cap { display: grid; grid-template-columns: 1fr 1fr 1.1fr; gap: 0; margin-top: 40px; border-top: 1px solid rgba(255,255,255,.14); }
.tm__cap > div { padding: 24px 24px 0 0; }
.tm__cap > div + div { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.14); }
.tm__cap dt { font-size: clamp(44px, 5vw, 72px); line-height: 1; letter-spacing: -.05em; font-weight: 500; background: linear-gradient(90deg, #9fc0dc, #e9a07a 55%, #9ccaa6); -webkit-background-clip: text; background-clip: text; color: transparent; }
.tm__cap dd { margin: 10px 0 0; font-size: 15px; line-height: 1.4; color: rgba(255,255,255,.72); max-width: 280px; }
.tm__note { font-size: 13px; color: rgba(255,255,255,.55); align-self: center; }
.tm__note span { display: inline-block; margin-right: 8px; padding: 2px 8px; border-radius: 999px; background: #f3c969; color: var(--ink); font-size: 11px; }
@media (max-width: 760px) {
  .tm { padding: 28px 18px; border-radius: 20px; }
  .tm__cap { grid-template-columns: 1fr 1fr; }
  .tm__cap > div:nth-child(3) { grid-column: 1 / -1; border-left: 0; padding-left: 0; }
  .tm__cap > div + div:nth-child(2) { padding-left: 16px; }
  .hero__punch { font-size: 19px; }
  .concept-b .section--tight:has(.nb) { padding-top: 48px; }
}
.tm .tm__h, .tm .tm__h * { color: #fff; }

/* ===== Team v2: light, compact; people on top, their agent bench below ===== */
.tm2__head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 40px; align-items: end; margin-bottom: 36px; }
.tm2__sub { font-size: 18px; line-height: 1.45; color: var(--ink-2); }
.tm2__team { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 16px !important; }
.tm2__team .person__photo { aspect-ratio: 1 / 1; }
.tm2__team .person { position: relative; }
.tm2__team .person::after { content: ""; display: block; width: 2px; height: 26px; margin: 10px auto 0; background: linear-gradient(var(--rule), transparent); }
.tm2__team .person__name { margin-top: 12px; }
.ag { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 28px; align-items: center; padding: 26px 28px; border-radius: 20px; background: var(--ink); color: #fff; }
.ag__stat b { display: block; font-size: 48px; line-height: 1; letter-spacing: -.045em; font-weight: 500; }
.ag__stat span { display: block; margin-top: 6px; font-size: 14px; color: rgba(255,255,255,.65); }
.ag__field { display: grid; grid-template-columns: repeat(auto-fill, 14px); gap: 7px; justify-content: center; }
.ag__d { width: 14px; height: 14px; border-radius: 4px; opacity: .9; animation: agp 3.2s ease-in-out infinite; animation-delay: calc(var(--k) * -3.2s); }
.ag__d--f { background: #6f93b4; } .ag__d--c { background: #c9774f; } .ag__d--o { background: #5f9a6c; }
@keyframes agp { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .ag__d { animation: none; } }
.ag__tools { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; max-width: 220px; }
.ag__tools li { list-style: none; font-size: 12px; padding: 3px 8px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.8); }
.ag__note { grid-column: 1 / -1; font-size: 12.5px; color: rgba(255,255,255,.5); margin-top: -8px; }
.ag__note span { display: inline-block; margin-right: 8px; padding: 2px 8px; border-radius: 999px; background: #f3c969; color: var(--ink); font-size: 11px; }
@media (max-width: 900px) {
  .tm2__head { grid-template-columns: 1fr; gap: 12px; }
  .ag { grid-template-columns: 1fr 1fr; }
  .ag__field { grid-column: 1 / -1; grid-row: 1; justify-content: start; }
}
@media (max-width: 760px) {
  .tm2__team { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .tm2__team .person::after { display: none; }
  .ag { padding: 20px 18px; gap: 18px; }
  .ag__stat b { font-size: 38px; }
  .ag__d { width: 11px; height: 11px; }
  .ag__field { grid-template-columns: repeat(auto-fill, 11px); gap: 6px; }
}
.tm2__team .person__photo img.crop { top: -30%; }

/* ===== Results strip: compact, number beside its label, practice colour ===== */
.concept-b .strip { margin-top: 16px; }
.concept-b .ledger__cell { min-height: 0; padding: 18px 22px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 16px; row-gap: 4px; align-items: center; position: relative; }
.concept-b .ledger__cell::before { content: ""; position: absolute; left: 22px; right: 22px; top: 0; height: 2px; border-radius: 0 0 2px 2px; background: var(--pc, var(--line)); }
.concept-b .ledger__cell:has(.dot--convert) { --pc: var(--convert); }
.concept-b .ledger__cell:has(.dot--find) { --pc: var(--find); }
.concept-b .ledger__cell:has(.dot--operate) { --pc: var(--operate); }
.concept-b .ledger__num { grid-row: 1 / 3; font-size: clamp(26px, 2.3vw, 34px); color: var(--pc, var(--ink)); }
.concept-b .ledger__label { margin: 0; font-size: 14px; line-height: 1.3; align-self: end; }
.concept-b .ledger__meta { margin: 0; padding: 0; font-size: 12px; align-self: start; }
.concept-b .ledger__meta .dot { display: none; }
/* Less air between the logos and What we do */
.concept-b #work { padding-top: 88px; }
.concept-b .mq { padding-bottom: 0; }
@media (max-width: 760px) {
  .concept-b .ledger__cell { grid-template-columns: 1fr; padding: 14px 16px; }
  .concept-b .ledger__num { grid-row: auto; font-size: 26px; }
  .concept-b .ledger__cell::before { left: 16px; right: 16px; }
  .concept-b #work { padding-top: 56px; }
}

/* ===== Team v3: calmer. Text left, small portraits right, light agent strip ===== */
.tm3 { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 48px; align-items: end; }
.tm3__head .h2 { font-size: clamp(32px, 3.6vw, 48px); }
.tm3__sub { margin-top: 16px; font-size: 17px; line-height: 1.5; color: var(--ink-2); max-width: 400px; }
.tm3 .tm2__team { gap: 12px !important; }
.tm3 .tm2__team .person::after { display: none; }
.tm3 .person__photo { aspect-ratio: 4 / 5; border-radius: 14px; }
.tm3 .tm2__team .person__photo img.crop { width: 135%; left: -17.5%; top: -25.6%; }
.tm3 .person__name { font-size: 15px; margin-top: 10px; }
.tm3 .person__role { font-size: 13px; }
.ag2 { margin-top: 28px; display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 330px); gap: 32px; align-items: center; padding: 22px 26px; border-radius: 18px; background: var(--surface); border: 1px solid var(--line); }
.ag2__stat b { display: block; font-size: 44px; line-height: 1; letter-spacing: -.045em; font-weight: 500; }
.ag2__stat span { display: block; margin-top: 6px; font-size: 13.5px; color: var(--muted); }
.ag2__field { grid-template-columns: repeat(auto-fill, 12px); gap: 6px; justify-content: start; }
.ag2__field .ag__d { width: 12px; height: 12px; border-radius: 3px; }
.ag2__field .ag__d--f { background: var(--find); } .ag2__field .ag__d--c { background: var(--convert); } .ag2__field .ag__d--o { background: var(--operate); }
.ag2__tools p { font-size: 13.5px; color: var(--muted); margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
.ag2__tools p b { font-size: 20px; color: var(--ink); font-weight: 500; letter-spacing: -.02em; }
.ag2__tools em { font-style: normal; font-size: 11px; padding: 2px 8px; border-radius: 999px; background: #f6e3a8; color: var(--ink); }
.ag2__tools ul { display: flex; flex-wrap: wrap; gap: 10px 16px; }
.ag2__tools .built { list-style: none; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ink-2); }
.ag2__tools .built__mark { width: 14px; height: 14px; }
.ag2__tools .built.has-mark .built__mark { background: var(--brand); opacity: 1; }
@media (max-width: 1000px) {
  .tm3 { grid-template-columns: 1fr; gap: 28px; }
  .ag2 { grid-template-columns: auto 1fr; }
  .ag2__tools { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .ag2 { grid-template-columns: 1fr; padding: 18px; gap: 18px; }
  .ag2__stat b { font-size: 38px; }
}
.ag2__tools .built::before, .ag2__tools .built::after { display: none !important; content: none !important; }

/* ===== Work concept ===== */
.wk-hero { padding: 96px 0 40px; }
.wk-h1 { font-size: clamp(44px, 5.6vw, 76px); max-width: 900px; }
.wk-lead { margin-top: 20px; max-width: 620px; }
.wk-filter { display: flex; gap: 8px; margin-top: 36px; flex-wrap: wrap; }
.wk-filter button { font: inherit; font-size: 14px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--rule); background: transparent; color: var(--ink-2); cursor: pointer; }
.wk-filter button[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.wk-list .wrap { display: grid; gap: 16px; }
.wk-case { display: grid; grid-template-columns: 220px minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; padding: 32px 36px; border-radius: 22px; background: var(--surface); border: 1px solid var(--line); position: relative; overflow: hidden; }
.wk-case::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--c); }
.wk-case[hidden] { display: none; }
.wk-case__n { font-family: var(--mono); font-size: 12px; color: var(--muted); }
.wk-case__logo { height: 36px; display: flex; align-items: center; margin: 14px 0 12px; }
.wk-case__logo img { height: 28px; width: auto; max-width: 150px; object-fit: contain; filter: grayscale(1); opacity: .85; }
.wk-wordmark { font-size: 19px; font-weight: 500; letter-spacing: -.02em; }
.wk-case__who { font-size: 15px; font-weight: 500; }
.wk-case__meta { font-size: 13px; color: var(--muted); margin-top: 2px; }
.wk-tag { display: inline-block; margin-top: 14px; font-size: 12px; padding: 3px 10px; border-radius: 999px; color: var(--c); background: color-mix(in srgb, var(--c) 10%, transparent); }
.wk-case__before { font-size: 18px; line-height: 1.35; letter-spacing: -.015em; }
.wk-case__before span { display: block; font-size: 12px; color: var(--muted); margin-bottom: 6px; letter-spacing: 0; }
.wk-case__big { margin-top: 20px; font-size: clamp(44px, 4.6vw, 64px); line-height: 1; letter-spacing: -.05em; font-weight: 500; color: var(--c); white-space: nowrap; }
.wk-case__bigl { margin-top: 6px; font-size: 14px; color: var(--ink-2); }
.wk-case__more { display: flex; gap: 24px; margin: 16px 0 18px; flex-wrap: wrap; }
.wk-case__more:empty { display: none; }
.wk-case__more li { list-style: none; font-size: 13px; color: var(--muted); }
.wk-case__more b { display: block; font-size: 22px; font-weight: 500; color: var(--ink); letter-spacing: -.02em; }
.wk-soon { font-size: 13px; color: var(--muted); }
.wk-case__vis { background: var(--canvas); border-radius: 16px; padding: 24px; }
.wk-bars { display: grid; gap: 12px; }
.wk-b { display: grid; grid-template-columns: 64px 1fr 48px; gap: 10px; align-items: center; font-size: 13px; }
.wk-b__t { display: grid; gap: 3px; }
.wk-b__t i { display: block; height: 10px; border-radius: 3px; }
.wk-b__t .o { background: var(--rule); width: 100%; }
.wk-b em { font-style: normal; font-family: var(--mono); text-align: right; }
.wk-key { font-size: 12px; color: var(--muted); display: flex; gap: 6px; align-items: center; }
.wk-key i { width: 9px; height: 9px; border-radius: 2px; background: var(--rule); display: inline-block; }
.wk-key i + i { margin-left: 10px; }
.wk-ringwrap { display: flex; gap: 20px; align-items: center; }
.wk-ring { width: 110px; height: 110px; flex: none; }
.wk-ringwrap p { font-size: 14px; line-height: 1.45; color: var(--ink-2); }
.wk-ringwrap b { color: var(--find); font-weight: 500; }
.wk-time { display: grid; gap: 14px; }
.wk-time div { display: grid; grid-template-columns: 48px 1fr 84px; gap: 10px; align-items: center; font-size: 13px; }
.wk-time i { display: block; height: 10px; border-radius: 5px; background: var(--rule); min-width: 6px; }
.wk-time i.n { background: var(--operate); }
.wk-time em { font-style: normal; font-family: var(--mono); color: var(--ink-2); }
.wk-score__t { position: relative; height: 56px; margin-top: 8px; }
.wk-score__t::before { content: ""; position: absolute; left: 0; right: 0; top: 34px; height: 10px; border-radius: 5px; background: var(--rule); }
.wk-score__t span { position: absolute; top: 34px; height: 10px; border-radius: 5px; background: var(--find); }
.wk-score__t i { position: absolute; top: 0; transform: translateX(-50%); font-style: normal; font-size: 13px; font-family: var(--mono); padding: 2px 8px; border-radius: 6px; }
.wk-score__t i.a { background: var(--line); color: var(--ink-2); }
.wk-score__t i.b { background: var(--find); color: #fff; }
.wk-score__s { display: flex; justify-content: space-between; font-size: 12px; color: var(--muted); margin-top: 6px; }
.wk-logos { padding-top: 40px; }
.concept-work #contact { padding-top: 72px; }
@media (max-width: 1100px) { .wk-case { grid-template-columns: 180px 1fr; } .wk-case__vis { grid-column: 1 / -1; } }
@media (max-width: 760px) {
  .wk-hero { padding: 56px 0 24px; }
  .wk-case { grid-template-columns: 1fr; gap: 20px; padding: 22px 18px 22px 22px; }
  .wk-case__id { display: grid; grid-template-columns: 1fr auto; column-gap: 12px; }
  .wk-case__n, .wk-case__logo, .wk-case__who, .wk-case__meta { grid-column: 1; }
  .wk-tag { grid-column: 2; grid-row: 1 / 3; align-self: start; margin-top: 0; }
  .wk-case__big { font-size: 44px; }
  .wk-case__vis { padding: 16px; }
}
/* Lead magnet engines with real marks */
.lm__engines { display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; }
.lm__engines .built { list-style: none; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); }
.lm__engines .built::before, .lm__engines .built::after { display: none !important; content: none !important; }
.lm__engines .built__mark { width: 14px; height: 14px; }
.lm__engines .built.has-mark .built__mark { background: var(--brand); opacity: 1; }

/* Live form extras */
.lm__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lm__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lm__consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.4; color: var(--muted); }
.lm__consent input { margin-top: 2px; accent-color: var(--ink); }
.lm__msg { font-size: 14px; min-height: 20px; text-align: center; }
.lm__msg.is-err { color: #a3361b; } .lm__msg.is-ok { color: var(--operate); font-weight: 500; }
.lm__form.is-done .lm__f, .lm__form.is-done .lm__row, .lm__form.is-done .lm__consent, .lm__form.is-done .lm__btn { display: none; }
.lm__form { position: relative; }
@media (max-width: 760px) { .lm__row { grid-template-columns: 1fr; } }
.lm__f { min-width: 0; }
.lm__f input { width: 100%; box-sizing: border-box; min-width: 0; }

/* Hero: before AI / after AI (19 Oct 2026). Replaces the illustrative diagnosis panel. */
.ba { margin-top: 72px; display: grid; grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr); align-items: stretch; gap: 0; }
.ba__col { margin: 0; padding: 32px; border-radius: 28px; border: 1px solid var(--line); background: rgba(255,255,255,.75); display: flex; flex-direction: column; }
.ba__k { font-size: clamp(22px, 2.2vw, 30px); font-weight: 500; letter-spacing: -.03em; color: var(--ink); margin-bottom: 22px; }
.ba__col--before .ba__k { color: var(--muted); }
.ba figcaption { margin-top: auto; padding-top: 22px; font-size: 16px; line-height: 1.5; color: var(--ink-2); }
.ba__arrow { display: grid; place-items: center; color: var(--muted); font-size: 22px; }
.serp { display: grid; gap: 17px; }
.serp div { display: grid; gap: 5px; transition: opacity .6s ease, filter .6s ease; transition-delay: calc(var(--i) * 70ms); }
.serp i { display: block; height: 10px; border-radius: 5px; background: #8fb0d3; }
.serp i::before { content: none; }
.serp div::before { content: ""; display: block; width: 34%; height: 6px; border-radius: 3px; background: #b9cdb6; margin-bottom: 2px; }
.serp i + i { height: 7px; background: #dcd6cb; width: 82%; }
.serp div:nth-child(3n) i:first-child { width: 64%; } .serp div:nth-child(3n+1) i:first-child { width: 78%; } .serp div:nth-child(3n+2) i:first-child { width: 56%; }
.ba.is-in .serp div { opacity: .7; }
.ans { border-radius: 18px; background: var(--canvas); padding: 20px; }
.ans__q { font-size: 15px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 10px 14px; margin-left: 18%; }
.ans__lines { display: grid; gap: 7px; margin: 18px 0 16px; }
.ans__lines i { height: 7px; border-radius: 4px; background: var(--line); } .ans__lines i:nth-child(2) { width: 88%; } .ans__lines i:nth-child(3) { width: 60%; }
.ans__names { display: grid; gap: 8px; }
.ans__names li { list-style: none; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; background: #fff; border: 1px solid var(--line); font-size: 14px; color: var(--muted); opacity: 0; transform: translateY(8px); transition: opacity .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1); transition-delay: calc(.5s + var(--i) * 220ms); }
.ans__names li b { font-family: var(--mono); font-weight: 400; font-size: 12px; color: var(--ink); }
.ans__names li i { height: 9px; border-radius: 5px; background: var(--ink); opacity: .75; width: var(--w); }
.ans__names li.you { border: 1.5px dashed var(--ember); background: transparent; color: var(--ember); justify-content: center; font-size: 15px; }
.ba.is-in .ans__names li { opacity: 1; transform: none; }
@media (max-width: 760px) {
  .ba { grid-template-columns: 1fr; margin-top: 48px; gap: 0; }
  .ba__arrow { height: 44px; transform: rotate(90deg); }
  .ba__col { padding: 22px 18px; border-radius: 18px; }
  .serp div:nth-child(n+6) { display: none; }
}
@media (prefers-reduced-motion: reduce) { .serp div, .ans__names li { transition: none; } }

/* Hero before/after: one story per practice, with tabs (19 Oct 2026). */
.ba3 { margin-top: 72px; }
.ba3__tabs { display: flex; justify-content: center; gap: 6px; margin-bottom: 18px; }
.ba3__tabs button { position: relative; overflow: hidden; border: 1px solid var(--line); background: rgba(255,255,255,.8); color: var(--muted); font-size: 15px; padding: 9px 18px; border-radius: 999px; cursor: pointer; }
.ba3__tabs button[aria-selected="true"] { color: var(--c); border-color: color-mix(in srgb, var(--c) 35%, transparent); background: color-mix(in srgb, var(--c) 8%, #fff); }
.ba3__tabs button::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 0; background: var(--c); }
.ba3.is-auto .ba3__tabs button[aria-selected="true"]::after { animation: ba3-fill 7s linear forwards; }
@keyframes ba3-fill { to { width: 100%; } }
.ba3 .ba { margin-top: 0; }
.ba3 [data-p] { display: none; }
.ba3[data-on="find"] [data-p="find"], .ba3[data-on="convert"] [data-p="convert"], .ba3[data-on="operate"] [data-p="operate"] { display: flex; flex-direction: column; flex: 1; }
.ba3 .ba__col { padding-top: 28px; }

/* Convert scenes */
.cv1 { border-radius: 18px; background: var(--canvas); padding: 20px; display: grid; gap: 12px; }
.cv1 .row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px; border-radius: 12px; background: #fff; border: 1px solid var(--line); font-size: 14px; color: var(--ink); transition: opacity .6s ease; }
.cv1 .row i { display: block; height: 8px; border-radius: 4px; background: var(--rule); width: 46%; }
.cv1 .t { font-family: var(--mono); font-size: 12.5px; color: var(--muted); white-space: nowrap; }
.cv1 span { white-space: nowrap; }
.cv1 .tg { font-size: 12.5px; padding: 3px 9px; border-radius: 999px; background: var(--paper); color: var(--ink-2); }
.cv2 .row { opacity: 0; transform: translateY(8px); transition: opacity .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1); transition-delay: calc(.4s + var(--i) * 260ms); }
.ba.is-in .cv2 .row { opacity: 1; transform: none; }
.ba.is-in .cv2 .row.late { opacity: .5; }
.cv2 .row.win { border-color: color-mix(in srgb, var(--convert) 45%, transparent); }
.cv2 .row.win .t { color: var(--convert); }
.cv2 .row.win .tg { background: var(--convert-tint); color: var(--convert-deep); }
.cv2 .q { font-size: 15px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 10px 14px; margin-left: 18%; }
.cv2 .sent { font-size: 13px; color: var(--muted); margin: -2px 0 2px; text-align: right; }

/* Operate scenes */
.op1 { border-radius: 18px; background: var(--canvas); padding: 18px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.op1 i { height: 22px; border-radius: 5px; background: #fff; border: 1px solid var(--line); }
.op1 i:nth-child(5n+1) { background: var(--paper); }
.op1 i.x { background: #e9e4da; }
.op2 { border-radius: 18px; background: var(--canvas); padding: 20px; display: grid; gap: 10px; }
.op2 .row { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 12px; background: #fff; border: 1px solid var(--line); font-size: 15px; color: var(--ink); opacity: 0; transform: translateY(8px); transition: opacity .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1); transition-delay: calc(.4s + var(--i) * 260ms); }
.op2 .ok { width: 20px; height: 20px; border-radius: 50%; background: var(--operate-tint); color: var(--operate); display: grid; place-items: center; font-size: 12px; flex: none; }
.op2 .row.you { border: 1.5px dashed var(--ember); color: var(--ember); }
.op2 .row.you .ok { background: #fdf0ea; color: var(--ember); }
.op2 .by { margin-left: auto; font-size: 12.5px; color: var(--muted); }
.ba.is-in .op2 .row { opacity: 1; transform: none; }
@media (max-width: 760px) { .ba3 { margin-top: 48px; } .ba3__tabs button { font-size: 14px; padding: 8px 14px; } .op1 i:nth-child(n+21) { display: none; } }
@media (prefers-reduced-motion: reduce) { .cv2 .row, .op2 .row { transition: none; } }

/* Thinking band title is an h2 now; keep the band's white text */
.nb__t { color: inherit; }

/* Free AI check: inline field errors, same look as the contact form */
.lm__f input, .lm__consent input { scroll-margin-top: 120px; }
.lm__f input[aria-invalid="true"] { border-color: var(--convert); background: var(--surface); }
.lm__consent input[aria-invalid="true"] { outline: 2px solid var(--convert); outline-offset: 2px; }
.lm__err { display: flex; align-items: flex-start; gap: 8px; font-size: 13.5px; line-height: 20px; color: var(--convert-deep); }
.lm__err:empty { display: none; }
.lm__err::before { content: "!"; flex: none; width: 16px; height: 16px; margin-top: 2px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--convert-tint); color: var(--convert-deep); font-size: 11px; font-weight: 500; line-height: 1; }
.lm__err--consent { margin-top: -8px; }
