.agentic-concept {
  position: relative;
  z-index: 1;
  overflow: clip;
}

.agentic-concept section {
  scroll-margin-top: 76px;
}

/* Width comes from the shared .shell rule in product-page.css. */
.agentic-shell {
  position: relative;
  z-index: 2;
}

.agentic-hero {
  position: relative;
  display: flex;
  min-height: max(760px, 100svh);
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 138, 61, 0.14);
  background:
    radial-gradient(circle at 74% 48%, rgba(54, 255, 171, 0.022), transparent 26%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.008), transparent 42%);
}

.agentic-hero::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      transparent calc(50% - 1px),
      rgba(246, 239, 234, 0.07) 50%,
      transparent calc(50% + 1px)
    ),
    linear-gradient(
      0deg,
      transparent calc(50% - 1px),
      rgba(246, 239, 234, 0.04) 50%,
      transparent calc(50% + 1px)
    );
  opacity: 0.5;
  content: '';
  pointer-events: none;
}

.agentic-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(34px, 4vw, 64px);
  align-items: center;
  padding: var(--section-pad-y) 0 var(--section-pad-y-tight);
}

.agentic-hero__copy {
  position: relative;
  z-index: 3;
}

.agentic-hero__copy h1 {
  max-width: 9.2ch;
  margin: 0;
  color: #f8f2ee;
  font-size: clamp(4.5rem, 6.6vw, 6.75rem);
  font-weight: 680;
  letter-spacing: -0.075em;
  line-height: 0.88;
}

.agentic-hero__copy h1 span {
  color: var(--mint);
}

.agentic-hero__copy > p {
  max-width: 35rem;
  margin: 28px 0 0;
  color: #aa9f9a;
  font-size: clamp(1.05rem, 1.4vw, 1.28rem);
  line-height: 1.52;
}

.agentic-action {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-height: 56px;
  margin-top: 30px;
  padding: 8px 10px 8px 22px;
  border: 1px solid rgba(54, 255, 171, 0.55);
  border-radius: 10px;
  background: var(--mint);
  color: #05261d;
  font-size: 0.86rem;
  font-weight: 730;
  letter-spacing: 0.035em;
  text-transform: uppercase;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

.agentic-action svg,
.deploy-button svg {
  width: 34px;
  height: 34px;
  padding: 9px;
  border-radius: 50%;
  background: #13211d;
  color: var(--mint);
  transition: transform 180ms ease;
}

.agentic-action:hover,
.agentic-action:focus-visible {
  box-shadow: 0 16px 44px rgba(54, 255, 171, 0.12);
  transform: translateY(-2px);
}

.agentic-action:hover svg {
  transform: translateX(2px);
}

/* Behaviour traits, sitting as one quiet line above the surface shot */
.surface-traits {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 40px;
  align-items: center;
  justify-content: center;
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
}

.surface-traits li {
  display: flex;
  gap: 10px;
  align-items: center;
  color: #8a817d;
  font-size: 0.82rem;
  letter-spacing: -0.005em;
}

.surface-traits b {
  color: #ddd4cf;
  font-weight: 600;
}

.surface-traits svg {
  width: 19px;
  height: 19px;
  flex: none;
  fill: none;
  stroke: var(--mint);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  opacity: 0.75;
}

/* hairline separators between traits, not around them */
.surface-traits li + li {
  position: relative;
}

.surface-traits li + li::before {
  position: absolute;
  left: -20px;
  width: 1px;
  height: 15px;
  background: rgba(246, 239, 234, 0.14);
  content: '';
}

/* Layering only. Size is set by the aspect-ratio block below — a fixed
   min-height here would win at narrow widths and stretch the frame past its
   own ratio, leaving dead space under the cards. */
.hero-flow {
  position: relative;
  isolation: isolate;
}

.hero-flow::after {
  position: absolute;
  z-index: -1;
  inset: -12% -16%;
  background: radial-gradient(
    ellipse 50% 45% at 55% 45%,
    rgba(54, 255, 171, 0.065),
    transparent 70%
  );
  content: '';
  pointer-events: none;
}

/* ============================================================
   Hero flow — Asset Library 147:7677. The three cards and the
   fill toast are the design's own layers, placed at their node
   coordinates inside the 820x719 frame. The step loop is
   unchanged: the rail fills, each card lights in turn, then the
   fill toast arrives on step 4.
   ============================================================ */

.hero-flow {
  position: relative;
  width: min(820px, 100%);
  margin: 0 auto;
  aspect-ratio: 820 / 719;
}

.flow-rail {
  position: absolute;
  z-index: 1;
  top: 11.127%;
  left: 1.463%;
  width: 2px;
  height: 75.939%;
  background: rgba(246, 239, 234, 0.1);
  border-radius: 2px;
}

.flow-rail i {
  display: block;
  width: 100%;
  height: var(--flow-progress, 0%);
  background: linear-gradient(180deg, rgba(54, 255, 171, 0.4), var(--mint));
  border-radius: inherit;
  box-shadow: 0 0 14px rgba(54, 255, 171, 0.45);
  transition: height 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-flow[data-step='1'] {
  --flow-progress: 34%;
}
.hero-flow[data-step='2'] {
  --flow-progress: 67%;
}
.hero-flow[data-step='3'],
.hero-flow[data-step='4'] {
  --flow-progress: 100%;
}

.flow-card,
.flow-toast {
  position: absolute;
  margin: 0;
}

.flow-card img,
.flow-toast img {
  display: block;
  width: 100%;
  height: auto;
}

/* node coordinates within the 820x719 frame. The mandate card and
   the toast carry a mint glow, so their exports bleed past the node
   box; their offsets subtract that bleed. */
.flow-card {
  z-index: 2;
}
.flow-toast {
  z-index: 3;
}

.flow-card--market {
  left: 4.146%;
  top: 7.788%;
  width: 73.171%;
}
.flow-card--agent {
  left: 12.927%;
  top: 37.274%;
  width: 84.146%;
}
.flow-card--mandate {
  left: 0.61%;
  top: 56.328%;
  width: 100%;
}
.flow-toast {
  left: 66.22%;
  top: 82.615%;
  width: 35%;
}

/* active-step highlight, carried over from the previous loop */
.flow-card::after {
  position: absolute;
  inset: 0;
  border: 1px solid transparent;
  content: '';
  pointer-events: none;
  transition:
    border-color 500ms ease,
    box-shadow 500ms ease;
}

/* each card's corner is 32 in the design; as a percentage of the ring's
   own box it stays circular at any scale */
.flow-card--market::after {
  border-radius: 5.333% / 16.667%;
}
.flow-card--agent::after {
  border-radius: 4.638% / 19.876%;
}
/* the mandate card sits at 34,44 inside its 820x289 canvas, so its ring
   is inset unevenly; the glow is the design's own (mint 12%, 22 blur),
   moved out of the SVG because its filter region clipped it to a square */
.flow-card--mandate::after {
  inset: 15.2249% 2.9268% 15.2249% 4.1463%;
  border-radius: 4.199% / 15.92%;
  box-shadow: 0 0 44px rgba(54, 255, 171, 0.12);
}

.hero-flow[data-step='1'] .flow-card--market::after,
.hero-flow[data-step='2'] .flow-card--agent::after,
.hero-flow[data-step='3'] .flow-card--mandate::after,
.hero-flow[data-step='4'] .flow-card--mandate::after {
  border-color: rgba(54, 255, 171, 0.42);
  box-shadow: 0 0 22px rgba(54, 255, 171, 0.08);
}

.hero-flow[data-step='3'] .flow-card--mandate::after,
.hero-flow[data-step='4'] .flow-card--mandate::after {
  box-shadow: 0 0 52px rgba(54, 255, 171, 0.16);
}

.flow-toast {
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 420ms ease,
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.hero-flow[data-step='4'] .flow-toast {
  opacity: 1;
  transform: translateY(0);
}

.agent-record,
.agent-mandate {
  position: relative;
  min-height: 0;
  display: flex;
  align-items: center;
  padding: var(--section-pad-y) 0;
  border-bottom: 1px solid rgba(246, 239, 234, 0.075);
}

.agent-record {
  background:
    radial-gradient(circle at 77% 47%, rgba(54, 255, 171, 0.04), transparent 28%),
    linear-gradient(100deg, rgba(255, 138, 61, 0.025), transparent 42%);
}

.agent-record__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.68fr) minmax(0, 1.32fr);
  gap: clamp(54px, 7.5vw, 124px);
  align-items: center;
}

.section-label {
  margin: 0 0 26px;
  color: var(--mint);
  font-family: var(--mono);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.27em;
  text-transform: uppercase;
}

.section-copy h2 {
  margin: 0;
  color: #f8f2ee;
  font-size: clamp(3.55rem, 5.3vw, 6.3rem);
  font-weight: 660;
  letter-spacing: -0.065em;
  line-height: 0.94;
}

.section-copy > p:last-child {
  max-width: 31rem;
  margin: 30px 0 0;
  color: #aaa09b;
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 1.58;
}

.record-composition {
  min-width: 0;
}

.record-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(246, 239, 234, 0.16);
  border-radius: 22px;
  background:
    radial-gradient(ellipse 70% 40% at 78% 0%, rgba(54, 255, 171, 0.05), transparent 60%),
    rgba(24, 20, 19, 0.82);
  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.24),
    0 0 70px rgba(54, 255, 171, 0.05);
}

.record-card::before {
  position: absolute;
  top: 0;
  right: 12%;
  left: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(54, 255, 171, 0.5), transparent);
  content: '';
}

.record-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 34px 22px;
  border-bottom: 1px solid rgba(246, 239, 234, 0.12);
}

.agent-identity--record {
  align-items: flex-start;
}
.agent-identity--record h3 {
  font-size: 1.55rem;
}
.agent-identity--record p {
  font-size: 0.92rem;
}
.model-mark--small {
  width: 46px;
  height: 46px;
}
.model-mark--small img {
  width: 30px;
  height: 30px;
}
.asset-tags--small {
  margin-top: 16px;
}
.asset-tags--small .asset-tag {
  min-height: 27px;
  padding: 4px 8px;
  font-size: 0.68rem;
}

.record-pnl {
  min-width: 185px;
  text-align: right;
}
.record-spark {
  display: block;
  width: 150px;
  height: 46px;
  margin: -5px 0 7px auto;
}
.record-pnl > span {
  display: block;
  color: #8c8380;
  font-size: 0.8rem;
}
.record-pnl strong {
  display: block;
  margin-top: 3px;
  color: var(--mint);
  font-family: var(--mono);
  font-size: 1.65rem;
  font-weight: 600;
  letter-spacing: -0.04em;
  text-shadow: 0 0 28px rgba(54, 255, 171, 0.3);
}
.record-spark__area {
  fill: var(--mint);
  opacity: 0.08;
  stroke: none !important;
}
.record-spark__dot {
  fill: var(--mint);
  stroke: none !important;
  filter: drop-shadow(0 0 6px rgba(54, 255, 171, 0.9));
}

.record-metrics {
  margin: 0;
  padding: 0 34px;
}
.record-metrics > div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  min-height: 60px;
  border-bottom: 1px solid rgba(246, 239, 234, 0.1);
}

.record-metrics dt {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) 1fr;
  align-items: center;
  gap: 16px;
  color: #bcb2ae;
  font-size: 0.94rem;
}
.record-metrics dt small {
  color: #6f6764;
  font-size: 0.72rem;
}
.record-metrics dd {
  margin: 0;
  color: #f8f2ee;
  font-family: var(--mono);
  font-size: 1.35rem;
  font-weight: 600;
}
.record-metrics dd.is-positive {
  color: var(--mint);
}
.record-metrics dd.is-negative {
  color: #ff6571;
}

.record-deploy {
  width: calc(100% - 68px);
  min-height: 46px;
  margin: 16px 34px 22px;
  border: 0;
  border-radius: 10px;
  background: var(--mint);
  color: #05261d;
  cursor: pointer;
  font-weight: 720;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease;
}

.record-deploy:hover,
.record-deploy:focus-visible {
  box-shadow: 0 12px 34px rgba(54, 255, 171, 0.22);
  transform: translateY(-1px);
}

.agent-switch {
  display: flex;
  justify-content: center;
  width: min(472px, 100%);
  margin-left: auto;
}

.agent-selector {
  --dwell: 4.4s;
  display: inline-flex;
  gap: 2px;
  max-width: 100%;
  margin-top: 20px;
  padding: 4px;
  border: 1px solid rgba(246, 239, 234, 0.12);
  border-radius: 999px;
  background: rgba(22, 18, 17, 0.72);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.agent-selector button {
  position: relative;
  display: flex;
  min-width: 0;
  gap: 8px;
  align-items: center;
  padding: 8px 16px 10px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #9c928d;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  transition:
    color 200ms ease,
    background 200ms ease;
}

.agent-selector button img {
  width: 17px;
  height: 17px;
  flex: none;
  opacity: 0.55;
  transition: opacity 200ms ease;
}

.agent-selector button:hover {
  color: #ded5d0;
}
.agent-selector button:hover img {
  opacity: 0.85;
}

.agent-selector button[aria-selected='true'] {
  background: rgba(246, 239, 234, 0.07);
  color: #f6efea;
}

.agent-selector button[aria-selected='true'] img {
  opacity: 1;
}

/* dwell bar under the live tab; its animation also drives the auto-shuffle */
.agent-selector button::after {
  position: absolute;
  bottom: 5px;
  left: 16px;
  width: 0;
  height: 1.5px;
  border-radius: 999px;
  background: var(--mint);
  content: '';
}

.agent-selector[data-auto='on'] button[aria-selected='true']::after {
  animation: deckDwell var(--dwell) linear forwards;
}

.agent-selector[data-auto='paused'] button::after {
  animation-play-state: paused;
}

@keyframes deckDwell {
  from {
    width: 0;
  }
  to {
    width: calc(100% - 32px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .agent-selector button::after {
    animation: none !important;
  }
  .agent-selector button[aria-selected='true']::after {
    width: calc(100% - 32px);
  }
}

.agent-mandate {
  min-height: 0;
  background:
    radial-gradient(circle at 54% 62%, rgba(255, 138, 61, 0.045), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.008), transparent);
}

.mandate-copy {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 42px;
}

.mandate-copy .section-copy h2 {
  max-width: 13ch;
}
.mandate-copy .section-copy > p:last-child {
  max-width: 48rem;
}

.agentic-inline-link {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 24px;
  min-height: 52px;
  margin-bottom: 5px;
  padding: 0 18px;
  border: 1px solid rgba(255, 138, 61, 0.42);
  border-radius: 8px;
  color: #e8dfda;
  font-size: 0.9rem;
  transition:
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.agentic-inline-link span {
  color: var(--execution);
  font-size: 1.5rem;
}
.agentic-inline-link:hover {
  border-color: var(--execution);
  color: #fff;
  transform: translateY(-2px);
}

.deployed-agent {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(246, 239, 234, 0.2);
  border-radius: 22px;
  background:
    radial-gradient(ellipse 60% 42% at 22% 0%, rgba(255, 138, 61, 0.05), transparent 62%),
    rgba(24, 20, 19, 0.78);
  box-shadow:
    0 30px 92px rgba(0, 0, 0, 0.27),
    0 0 70px rgba(255, 138, 61, 0.04);
}

.deployed-agent::before {
  position: absolute;
  top: 0;
  right: 12%;
  left: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 138, 61, 0.45), transparent);
  content: '';
}

.deployed-agent__summary {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr);
  align-items: center;
  min-height: clamp(120px, 14vw, 156px);
  padding: 28px 34px;
  border-bottom: 1px solid rgba(246, 239, 234, 0.14);
}

.deployed-identity {
  display: flex;
  gap: 20px;
  align-items: center;
}
.deployed-name {
  display: flex;
  align-items: center;
  gap: 14px;
}
.deployed-name h3 {
  margin: 0;
  font-size: 1.55rem;
  font-weight: 640;
  letter-spacing: -0.04em;
}
.deployed-name span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--mint);
  font-size: 0.75rem;
}
.deployed-name span::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 10px currentColor;
  content: '';
  animation: livePulse 2.4s ease-in-out infinite;
}
.deployed-identity p {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 8px 0 0;
  color: #a19894;
  font-size: 0.82rem;
}
.deployed-identity p i {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #766c69;
}

.live-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
}
.live-metrics > div {
  min-height: 72px;
  padding: 9px 24px;
  border-left: 1px solid rgba(246, 239, 234, 0.13);
}
.live-metrics dt,
.mandate-terms dt {
  color: #827a77;
  font-family: var(--mono);
  font-size: 0.61rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.live-metrics dd {
  margin: 12px 0 0;
  color: var(--mint);
  font-family: var(--mono);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: 630;
  letter-spacing: -0.05em;
}
.live-metrics dd small {
  display: block;
  margin-top: 7px;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0;
}
.live-metrics dd.is-neutral {
  color: #f7f1ed;
}
.live-metrics dd.is-negative {
  color: #ff6571;
}

.mandate-rail {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 26px;
  align-items: center;
  padding: 24px 34px 26px;
}

.mandate-terms {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
}
.mandate-terms > div {
  min-height: 57px;
  padding: 4px 22px;
  border-right: 1px solid rgba(246, 239, 234, 0.1);
}
.mandate-terms > div:first-child {
  padding-left: 0;
}
.mandate-terms dd {
  margin: 12px 0 0;
  color: #eee8e4;
  font-family: var(--mono);
  font-size: 0.82rem;
  font-weight: 620;
  white-space: nowrap;
}
.mandate-terms dd.used {
  display: flex;
  gap: 10px;
  align-items: center;
}
.mandate-terms dd.used span {
  position: relative;
  overflow: hidden;
  width: 46px;
  height: 5px;
  background: rgba(246, 239, 234, 0.14);
  border-radius: 99px;
}
.mandate-terms dd.used span::before {
  position: absolute;
  inset: 0;
  width: var(--used-pct, 95%);
  background: linear-gradient(90deg, var(--execution), #ffc44d);
  border-radius: inherit;
  content: '';
  transition: width 400ms ease;
}
.agent-controls {
  display: flex;
  gap: 10px;
}
.control-button {
  display: inline-flex;
  min-height: 48px;
  gap: 9px;
  align-items: center;
  padding: 0 16px;
  border: 1px solid rgba(246, 239, 234, 0.1);
  border-radius: 10px;
  background: rgba(246, 239, 234, 0.045);
  color: #bcb3af;
  cursor: pointer;
}
.control-button span {
  font-family: var(--mono);
  font-size: 0.8rem;
}
.control-button b {
  font-size: 0.78rem;
  font-weight: 560;
}
.control-button--stop {
  border-color: rgba(255, 77, 94, 0.26);
  background: rgba(255, 77, 94, 0.06);
  color: #ff5968;
}
.control-button[aria-pressed='true'] {
  box-shadow: inset 0 0 0 1px currentColor;
}
.deployed-agent.is-stopped .deployed-name span {
  color: #ff5968;
}
.deployed-agent.is-stopped .live-metrics {
  opacity: 0.48;
}

.concept-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 700ms ease,
    transform 800ms cubic-bezier(0.16, 1, 0.3, 1);
}
.concept-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1120px) {
  .agentic-hero__inner,
  .agent-record__layout {
    grid-template-columns: 1fr;
  }
  .agentic-hero__inner {
    gap: 62px;
    padding-top: 138px;
  }
  .agentic-hero__copy h1 {
    max-width: 9ch;
  }
  .hero-flow {
    width: min(760px, 100%);
    margin: 0 auto;
  }
  .hero-agent-card {
    margin: 0 auto;
  }
  .agent-record__layout {
    gap: 66px;
  }
  .section-copy > p:last-child {
    max-width: 42rem;
  }
  .record-composition {
    width: min(820px, 100%);
    margin-left: auto;
  }
  .deployed-agent__summary {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .live-metrics > div:first-child {
    border-left: 0;
  }
  .mandate-rail {
    grid-template-columns: 1fr;
  }
  .agent-controls {
    justify-content: flex-end;
  }
}

@media (max-width: 820px) {
  .agentic-hero__inner {
    grid-template-columns: minmax(0, 1fr);
  }
  .hero-agent-card {
    gap: 34px;
  }
  .hero-spark {
    width: 40%;
  }
  .agent-record,
  .agent-mandate {
    min-height: auto;
  }
  .agent-switch {
    width: 100%;
  }
  .mandate-copy {
    display: block;
  }
  .agentic-inline-link {
    margin-top: 30px;
  }
  .live-metrics {
    grid-template-columns: 1fr 1fr;
  }
  .live-metrics > div:nth-child(3) {
    border-left: 0;
  }
  .live-metrics > div:nth-child(n + 3) {
    border-top: 1px solid rgba(246, 239, 234, 0.1);
  }
  .mandate-terms {
    grid-template-columns: 1fr 1fr;
  }
  .mandate-terms > div {
    border-bottom: 1px solid rgba(246, 239, 234, 0.1);
  }
  .mandate-terms > div:nth-child(even) {
    border-right: 0;
  }
  .mandate-terms > div:first-child {
    padding-left: 22px;
  }
}

@media (max-width: 560px) {
  .agentic-hero {
    min-height: auto;
  }
  .agentic-hero__inner {
    gap: 48px;
    padding: 134px 0 72px;
  }
  .agentic-hero__copy h1 {
    font-size: clamp(3.5rem, 17vw, 4.5rem);
  }
  .agentic-hero__copy > p {
    margin-top: 24px;
    font-size: 1rem;
  }
  .agentic-action {
    min-height: 52px;
    margin-top: 28px;
  }
  .surface-traits {
    gap: 12px 22px;
    margin-top: 30px;
    font-size: 0.76rem;
  }
  .surface-traits li + li::before {
    display: none;
  }
  .hero-agent-card {
    gap: 62px;
    padding: 25px 22px;
    border-radius: 18px;
  }
  .model-mark {
    width: 44px;
    height: 44px;
  }
  .model-mark img {
    width: 32px;
    height: 32px;
  }
  .agent-identity h2 {
    font-size: 1.5rem;
  }
  .agent-identity p {
    font-size: 0.82rem;
  }
  .hero-spark {
    top: 94px;
    right: 22px;
    width: calc(100% - 44px);
    height: 66px;
    opacity: 0.78;
  }
  .agent-card__foot {
    align-items: stretch;
  }
  .asset-tag {
    min-height: 32px;
    padding: 5px 8px;
    font-size: 0.69rem;
  }
  .deploy-button {
    min-height: 44px;
    padding-left: 16px;
    font-size: 0.8rem;
  }
  .deploy-button svg {
    width: 28px;
    height: 28px;
  }
  .section-copy h2 {
    font-size: clamp(3.2rem, 15.5vw, 4.25rem);
  }
  .agent-record,
  .agent-mandate {
    padding: 88px 0;
  }
  .agent-record__layout {
    gap: 50px;
  }
  .record-card__head {
    display: grid;
    padding: 25px 22px 20px;
  }
  .record-pnl {
    width: 100%;
    text-align: left;
  }
  .record-spark {
    width: 130px;
    margin: 0 0 6px;
  }
  .record-pnl strong {
    font-size: 1.4rem;
  }
  .record-metrics {
    padding: 0 22px;
  }
  .record-metrics > div {
    min-height: 74px;
  }
  .record-metrics dt {
    display: block;
    font-size: 0.82rem;
  }
  .record-metrics dt small {
    display: block;
    margin-top: 4px;
  }
  .record-metrics dd {
    font-size: 1.05rem;
  }
  .record-deploy {
    width: calc(100% - 44px);
    margin: 20px 22px 24px;
  }
  .agent-selector button {
    padding: 8px 12px 10px;
    font-size: 0.78rem;
  }
  .mandate-copy {
    margin-bottom: 46px;
  }
  .deployed-agent__summary {
    padding: 24px 20px;
  }
  .deployed-identity {
    align-items: flex-start;
  }
  .deployed-name {
    display: block;
  }
  .deployed-name h3 {
    font-size: 1.3rem;
  }
  .deployed-name span {
    margin-top: 6px;
  }
  .deployed-identity p {
    flex-wrap: wrap;
    font-size: 0.72rem;
  }
  .live-metrics > div {
    padding: 15px 12px;
  }
  .live-metrics dd {
    font-size: 1.1rem;
  }
  .mandate-rail {
    padding: 20px;
  }
  .mandate-terms {
    grid-template-columns: 1fr;
  }
  .mandate-terms > div {
    padding: 16px 0;
    border-right: 0;
  }
  .mandate-terms > div:first-child {
    padding-left: 0;
  }
  .agent-controls {
    justify-content: stretch;
  }
  .control-button {
    flex: 1;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .concept-reveal {
    opacity: 1;
    transform: none;
  }
  .flow-rail i {
    height: 100%;
    transition: none;
  }
  .deployed-name span::before {
    animation: none;
  }
}

.agentic-cta {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(340px, 46svh, 440px);
  padding: 96px 24px;
  overflow: hidden;
  text-align: center;
  border-bottom: 1px solid rgba(54, 255, 171, 0.14);
  isolation: isolate;
}

.agentic-cta__image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.agentic-cta::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at center, rgba(21, 16, 16, 0.18), rgba(21, 16, 16, 0.7) 74%),
    linear-gradient(180deg, rgba(21, 16, 16, 0.42), rgba(21, 16, 16, 0.88));
  content: '';
  pointer-events: none;
}

.agentic-cta__inner {
  width: min(760px, 100%);
  margin: 0 auto;
}

.agentic-cta__eyebrow {
  margin: 0 0 18px;
  color: var(--mint);
  font-family: var(--mono);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.agentic-cta h2 {
  margin: 0;
  color: #f8f2ee;
  font-family: var(--display);
  font-size: clamp(2.6rem, 4.6vw, 4rem);
  font-weight: 650;
  letter-spacing: -0.05em;
  line-height: 1;
}

.agentic-cta__inner > p:not(.agentic-cta__eyebrow):not(.agentic-cta__disclosure) {
  max-width: 46ch;
  margin: 18px auto 30px;
  color: rgba(248, 242, 238, 0.78);
  font-size: 1.05rem;
  line-height: 1.6;
}

.agentic-cta__disclosure {
  margin: 26px 0 0;
  color: #9a8f8b;
  font-size: 0.78rem;
}

/* Overnight activity log */
.night-log {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 0;
  padding: var(--section-pad-y) 0;
  background:
    radial-gradient(ellipse 42% 55% at 76% 42%, rgba(54, 255, 171, 0.05), transparent 70%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.01), transparent 40%);
  border-bottom: 1px solid rgba(246, 239, 234, 0.075);
}

.night-log__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(54px, 7vw, 116px);
  align-items: center;
}

.log-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(246, 239, 234, 0.16);
  border-radius: 22px;
  background:
    radial-gradient(ellipse 70% 34% at 24% 0%, rgba(54, 255, 171, 0.05), transparent 60%),
    rgba(24, 20, 19, 0.82);
  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.24),
    0 0 70px rgba(54, 255, 171, 0.05);
}

.log-card::before {
  position: absolute;
  top: 0;
  right: 12%;
  left: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(54, 255, 171, 0.5), transparent);
  content: '';
}

.log-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 30px;
  border-bottom: 1px solid rgba(246, 239, 234, 0.12);
}

.log-card__head h3 {
  margin: 0;
  color: #f6efea;
  font-size: 1.05rem;
  font-weight: 640;
  letter-spacing: -0.02em;
}
.log-card__head p {
  margin: 6px 0 0;
  color: #8d8480;
  font-family: var(--mono);
  font-size: 0.68rem;
}

.log-count {
  padding: 6px 12px;
  border: 1px solid rgba(54, 255, 171, 0.4);
  border-radius: 99px;
  color: var(--mint);
  font-family: var(--mono);
  font-size: 0.64rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.log-feed {
  margin: 0;
  padding: 10px 30px 22px;
  list-style: none;
}

.log-event {
  position: relative;
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 20px;
  padding: 15px 0 15px 26px;
}

.log-event::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 6.5px;
  width: 1px;
  background: rgba(246, 239, 234, 0.13);
  content: '';
}

.log-event:first-child::before {
  top: 24px;
}
.log-event:last-child::before {
  bottom: calc(100% - 24px);
}

.log-event::after {
  position: absolute;
  top: 18px;
  left: 2px;
  width: 10px;
  height: 10px;
  background: #3a332f;
  border: 1px solid rgba(246, 239, 234, 0.3);
  border-radius: 50%;
  content: '';
}

.log-event.is-match::after,
.log-event.is-exec::after {
  background: var(--mint);
  border-color: transparent;
  box-shadow: 0 0 14px rgba(54, 255, 171, 0.7);
}

.log-event time {
  padding-top: 1px;
  color: #8d8480;
  font-family: var(--mono);
  font-size: 0.72rem;
}
.log-event strong {
  display: block;
  color: #f0eae6;
  font-size: 0.9rem;
  font-weight: 630;
  letter-spacing: -0.015em;
}
.log-event.is-match strong,
.log-event.is-exec strong {
  color: var(--mint);
}
.log-event p {
  margin: 5px 0 0;
  color: #948b87;
  font-size: 0.78rem;
  line-height: 1.5;
}

/* Product surface shot */
.surface-shot {
  position: relative;
  padding: clamp(90px, 11vh, 140px) 0 0;
  border-bottom: 1px solid rgba(246, 239, 234, 0.075);
}

.section-copy--center {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.section-copy--center h2 {
  font-size: clamp(2.9rem, 4.6vw, 4.4rem);
}
.section-copy--center > p:last-child {
  max-width: 46ch;
  margin-right: auto;
  margin-left: auto;
}

.surface-shot__frame {
  margin: clamp(44px, 6vh, 72px) 0 0;
  overflow: hidden;
  border: 1px solid rgba(246, 239, 234, 0.14);
  border-radius: 24px 24px 0 0;
  border-bottom: 0;
  box-shadow: 0 -30px 90px rgba(0, 0, 0, 0.3);
}

.surface-shot__frame img {
  display: block;
  width: 100%;
  aspect-ratio: 2200 / 1160;
  object-fit: cover;
  object-position: 50% 22%;
}

@media (max-width: 1060px) {
  .night-log__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .night-log {
    min-height: 0;
  }
}

@media (max-width: 720px) {
  .log-card__head {
    padding: 18px 20px;
  }
  .log-feed {
    padding: 8px 20px 16px;
  }
  .log-event {
    grid-template-columns: 44px 1fr;
    gap: 12px;
  }
  .surface-shot__frame img {
    aspect-ratio: 4 / 3;
  }
}

/* ============================================================
   real record component (Asset Library 53:367) on this page —
   the shared agent-pick/ax styles do the look; these overrides
   free it from the homepage stack context and keep this page's
   richer sparkline + metric sublabels
   ============================================================ */

.record-composition .agent-pick--page {
  position: static;
  z-index: auto;
  width: 100%;
  max-width: none;
}

.agent-pick--page .ax-body {
  display: block;
}

.ap-icon--page i,
.ap-icon--page span,
.ap-spark--page {
  width: 138px;
  height: 44px;
  flex: none;
}

.ap-spark--page path {
  stroke-dasharray: none;
  stroke-dashoffset: 0;
}

.agent-pick--page .ax-row span small {
  display: block;
  margin-top: 1px;
  color: rgba(255, 255, 255, 0.38);
  font-size: 10.5px;
  font-weight: 400;
}

.agent-pick--page .ax-row {
  align-items: flex-start;
  min-height: 44px;
}
.agent-pick--page .ax-row > b {
  padding-top: 2px;
}

.ap-foot--page {
  border-bottom: 0;
}

/* ============================================================
   agent deck — the Asset Library cards themselves (167:1055
   Snap, 167:1060 Surge, 167:1065 Drift), each exported at 3x as
   its own layer. The three sit at the design's depths: front at
   x0/y111.8 full size, middle at x27.2/y50.4 scaled .9004, back
   at x54.9/y-6.7 scaled .7828. Picking an agent shuffles its
   card to the front and pushes the others back on one curve.
   ============================================================ */

.agent-deck {
  --deck-blur-1: 1.4px;
  --deck-blur-2: 1.9px;
  --deck-dim-1: 0.76;
  --deck-dim-2: 0.7;
  position: relative;
  width: min(472px, 100%);
  margin-left: auto;
  aspect-ratio: 472 / 739;
  cursor: pointer;
}

.deck-card {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin: 0;
  transform-origin: 0 0;
  transition:
    transform 0.62s cubic-bezier(0.32, 0.9, 0.24, 1),
    filter 0.62s cubic-bezier(0.32, 0.9, 0.24, 1);
  will-change: transform;
}

.deck-card img {
  display: block;
  width: 100%;
  height: auto;
}

.deck-card.is-0 {
  transform: translate(0, 17.826%) scale(1);
  z-index: 3;
}

.deck-card.is-1 {
  transform: translate(5.753%, 8.038%) scale(0.9004);
  z-index: 2;
  filter: blur(var(--deck-blur-1)) brightness(var(--deck-dim-1));
  cursor: pointer;
}

.deck-card.is-2 {
  transform: translate(11.634%, -1.063%) scale(0.7828);
  z-index: 1;
  filter: blur(var(--deck-blur-2)) brightness(var(--deck-dim-2));
  cursor: pointer;
}

.deck-card:not(.is-0):hover {
  filter: blur(0.3px) brightness(1.12);
}

/* sits over the Deploy button drawn into the card */
.deck-deploy {
  position: absolute;
  top: 89.295%;
  left: 8.521%;
  width: 83.028%;
  height: 7.525%;
  border-radius: 999px;
}

.deck-card:not(.is-0) .deck-deploy {
  pointer-events: none;
}

.deck-deploy span {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip-path: inset(50%);
  white-space: nowrap;
}

.deck-deploy:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .deck-card {
    transition: none;
  }
}

/* ============================================================
   Bound by your mandate — Asset Library 147:8199. The deployed
   strip, the stop-trading sheet and the remove confirmation are
   the design's own layers, placed at their node coordinates in
   the 1464x900 frame and revealed in that order.
   ============================================================ */

.mandate-stack {
  position: relative;
  width: min(1180px, 100%);
  margin: 54px auto 0;
  aspect-ratio: 1464 / 900;
}

.ms-layer {
  position: absolute;
  margin: 0;
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 700ms ease,
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ms-layer img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
}

/* The layers are real glass (sheet #191919 at 38%, modal at 80%, strip
   white at 4%). SVG cannot carry Figma's background blur, so the frost
   is applied here; radii are the panels' own, as a percentage of each
   layer so they stay circular at any scale. */
.ms-layer::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: '';
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  backdrop-filter: blur(18px) saturate(125%);
}

.ms-layer--strip::before {
  border-radius: 4.199% / 12.698%;
}
.ms-layer--sheet::before {
  border-radius: 5.192% / 3.749%;
}
.ms-layer--modal::before {
  border-radius: 3.558% / 10.867%;
}

/* node coordinates within the 1464x900 frame */
.ms-layer--sheet {
  left: 28.415%;
  top: 18.111%;
  width: 35.314%;
  z-index: 1;
}
.ms-layer--strip {
  left: 1.639%;
  top: 2.222%;
  width: 52.049%;
  z-index: 2;
}
.ms-layer--modal {
  left: 55.943%;
  top: 39.333%;
  width: 42.35%;
  z-index: 3;
}

.concept-reveal.is-visible .ms-layer,
.mandate-stack.is-visible .ms-layer {
  opacity: 1;
  transform: none;
}

.mandate-stack.is-visible .ms-layer--sheet {
  transition-delay: 140ms;
}
.mandate-stack.is-visible .ms-layer--modal {
  transition-delay: 280ms;
}

@media (prefers-reduced-motion: reduce) {
  .ms-layer {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
