/* ==========================================================================
   Anvixa — page-specific sections
   ========================================================================== */

/* --------------------------------------------------------------------------
   Numbered process rail (setup steps, delivery phases, demo agenda)
   -------------------------------------------------------------------------- */

.ax-steps {
  display: grid;
  gap: 0;
  border: 1px solid var(--ax-border);
  border-radius: var(--ax-r-lg);
  overflow: hidden;
  background: var(--ax-white);
}
.ax-step {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 24px;
  padding: 26px 28px;
  border-bottom: 1px solid var(--ax-border);
  align-items: start;
}
.ax-step:last-child { border-bottom: 0; }
.ax-step__marker {
  font-family: var(--ax-font-mono);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ax-accent-deep);
  padding-top: 3px;
}
.ax-step h3 { font-size: 1.0625rem; margin-bottom: 6px; }
.ax-step p { font-size: .9375rem; color: var(--ax-text-muted); margin: 0; }

@media (max-width: 620px) {
  .ax-step { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 22px 20px; }
}

.ax-section--ink .ax-steps { background: transparent; border-color: rgba(255, 255, 255, .12); }
.ax-section--ink .ax-step { border-bottom-color: rgba(255, 255, 255, .1); }
.ax-section--ink .ax-step__marker { color: var(--ax-accent); }

/* --------------------------------------------------------------------------
   Case study cards
   -------------------------------------------------------------------------- */

.ax-case {
  display: flex;
  flex-direction: column;
  background: var(--ax-white);
  border: 1px solid var(--ax-border);
  border-radius: var(--ax-r-lg);
  padding: 26px;
  transition: border-color var(--ax-dur) var(--ax-ease), box-shadow var(--ax-dur) var(--ax-ease);
}
.ax-case:hover { border-color: var(--ax-accent); box-shadow: var(--ax-shadow-md); }
.ax-case__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.ax-case__client { font-size: 1.0625rem; margin: 0; }
.ax-case__industry {
  display: block;
  font-family: var(--ax-font-mono);
  font-size: .6875rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ax-n-40);
  margin-top: 6px;
}
.ax-case__rows { display: grid; gap: 14px; margin-top: auto; }
.ax-case__row { display: grid; gap: 4px; }
.ax-case__label {
  font-family: var(--ax-font-mono);
  font-size: .625rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ax-n-40);
}
.ax-case__value { font-size: .9375rem; color: var(--ax-text-muted); }
.ax-case__row--outcome .ax-case__value { color: var(--ax-ink); font-weight: 500; }

/* --------------------------------------------------------------------------
   Scenario cards (problem → solution → outcome)
   -------------------------------------------------------------------------- */

.ax-scenario {
  border: 1px solid var(--ax-border);
  border-radius: var(--ax-r-lg);
  background: var(--ax-white);
  padding: 30px;
}
.ax-scenario__head { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 22px; }
.ax-scenario__head .ax-icon { margin-bottom: 0; }
.ax-scenario__head h3 { margin-bottom: 6px; }
.ax-scenario__summary { font-size: .9375rem; color: var(--ax-text-muted); margin: 0; }

.ax-flowrow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--ax-border); border: 1px solid var(--ax-border); border-radius: var(--ax-r-md); overflow: hidden; }
.ax-flowrow__cell { background: var(--ax-white); padding: 20px; }
.ax-flowrow__label {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: var(--ax-font-mono);
  font-size: .625rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.ax-flowrow__label .ax-i { width: 13px; height: 13px; }
.ax-flowrow__cell--challenge .ax-flowrow__label { color: var(--ax-warn); }
.ax-flowrow__cell--solution  .ax-flowrow__label { color: var(--ax-accent-deep); }
.ax-flowrow__cell--outcome   .ax-flowrow__label { color: var(--ax-positive); }
.ax-flowrow__cell p { font-size: .875rem; color: var(--ax-text-muted); margin: 0; line-height: 1.65; }
.ax-flowrow__cell--outcome p { color: var(--ax-ink); font-weight: 500; }
.ax-flowrow__cell--challenge { background: var(--ax-warn-soft); }
.ax-flowrow__cell--outcome { background: var(--ax-positive-soft); }

@media (max-width: 760px) { .ax-flowrow { grid-template-columns: minmax(0, 1fr); } }

/* --------------------------------------------------------------------------
   Architecture layers
   -------------------------------------------------------------------------- */

.ax-layer {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: 28px 30px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--ax-r-lg);
  background: rgba(255, 255, 255, .03);
}
.ax-layer + .ax-layer { margin-top: 14px; }
.ax-layer__id {
  font-family: var(--ax-font-mono);
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ax-accent);
}
.ax-layer__note {
  display: block;
  font-family: var(--ax-font-mono);
  font-size: .625rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ax-text-on-dark-muted);
  margin-top: 8px;
}
.ax-layer h3 { font-size: 1.125rem; margin-bottom: 8px; }
.ax-layer p { font-size: .9375rem; margin: 0; }
.ax-layer__stat {
  font-family: var(--ax-font-mono);
  font-size: .75rem;
  color: var(--ax-accent);
  white-space: nowrap;
  padding: 8px 14px;
  border: 1px solid rgba(25, 132, 199, .3);
  border-radius: var(--ax-r-pill);
}
@media (max-width: 900px) {
  .ax-layer { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .ax-layer__stat { justify-self: start; }
}

/* --------------------------------------------------------------------------
   Pricing tiers
   -------------------------------------------------------------------------- */

.ax-tiers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; align-items: start; }
@media (max-width: 1100px) { .ax-tiers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px)  { .ax-tiers { grid-template-columns: minmax(0, 1fr); } }

.ax-tier {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--ax-white);
  border: 1px solid var(--ax-border);
  border-radius: var(--ax-r-lg);
  padding: 28px 26px;
  position: relative;
}
.ax-tier--popular { border-color: var(--ax-accent); box-shadow: var(--ax-shadow-md); }
.ax-tier__flag {
  position: absolute;
  top: -11px;
  left: 26px;
  background: var(--ax-accent);
  color: var(--ax-ink);
  font-family: var(--ax-font-mono);
  font-size: .625rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: var(--ax-r-pill);
}
.ax-tier h3 { font-size: 1.1875rem; margin-bottom: 8px; }
.ax-tier__for { font-size: .875rem; color: var(--ax-text-muted); margin-bottom: 20px; }
.ax-tier__meta {
  display: grid;
  gap: 12px;
  padding: 16px 0;
  margin-bottom: 20px;
  border-block: 1px solid var(--ax-border);
}
.ax-tier__meta div { display: grid; gap: 3px; }
.ax-tier__meta dt {
  font-family: var(--ax-font-mono);
  font-size: .625rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--ax-n-40);
}
.ax-tier__meta dd { margin: 0; font-size: .875rem; color: var(--ax-ink); font-weight: 500; }
.ax-tier .ax-checks { margin-bottom: 24px; }
.ax-tier .ax-btn { margin-top: auto; }

/* --------------------------------------------------------------------------
   ROI table
   -------------------------------------------------------------------------- */

.ax-roi td.ax-roi__gain {
  font-weight: 600;
  color: var(--ax-ink);
  white-space: nowrap;
}
.ax-roi td.ax-roi__before { color: var(--ax-n-50); }

/* --------------------------------------------------------------------------
   Offices
   -------------------------------------------------------------------------- */

.ax-office { padding: 28px; border: 1px solid var(--ax-border); border-radius: var(--ax-r-lg); background: var(--ax-white); }
.ax-office h3 { font-size: 1.125rem; margin-bottom: 4px; }
.ax-office__country {
  display: block;
  font-family: var(--ax-font-mono);
  font-size: .6875rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ax-n-40);
  margin-bottom: 16px;
}
.ax-office p { font-size: .9375rem; color: var(--ax-text-muted); margin: 0; }

/* --------------------------------------------------------------------------
   Values grid — compact, no icons
   -------------------------------------------------------------------------- */

.ax-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--ax-border); border: 1px solid var(--ax-border); border-radius: var(--ax-r-lg); overflow: hidden; }
.ax-value { background: var(--ax-white); padding: 28px 26px; }
.ax-value h3 {
  font-family: var(--ax-font-mono);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ax-accent-deep);
  margin-bottom: 10px;
}
.ax-value p { font-size: .9375rem; color: var(--ax-text-muted); margin: 0; }
@media (max-width: 900px) { .ax-values { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ax-values { grid-template-columns: minmax(0, 1fr); } }

/* --------------------------------------------------------------------------
   Two-column "pill list" used for automations and included-scope
   -------------------------------------------------------------------------- */

.ax-rows {
  border: 1px solid var(--ax-border);
  border-radius: var(--ax-r-lg);
  overflow: hidden;
  background: var(--ax-white);
}
.ax-row {
  display: grid;
  grid-template-columns: minmax(0, 34%) minmax(0, 1fr);
  gap: 24px;
  padding: 20px 26px;
  border-bottom: 1px solid var(--ax-border);
  align-items: baseline;
}
.ax-row:last-child { border-bottom: 0; }
.ax-row__name { font-weight: 600; color: var(--ax-ink); font-size: .9375rem; }
.ax-row__text { font-size: .9375rem; color: var(--ax-text-muted); }
@media (max-width: 640px) {
  .ax-row { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 18px 20px; }
}

/* --------------------------------------------------------------------------
   Contact split
   -------------------------------------------------------------------------- */

.ax-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .78fr);
  gap: 56px;
  align-items: start;
}
@media (max-width: 940px) { .ax-contact-grid { grid-template-columns: minmax(0, 1fr); gap: 44px; } }

.ax-contact-panel {
  background: var(--ax-mist);
  border: 1px solid var(--ax-hairline);
  border-radius: var(--ax-r-lg);
  padding: 30px;
}
.ax-contact-panel h3 { font-size: 1.0625rem; margin-bottom: 18px; }
.ax-contact-list { list-style: none; margin: 0 0 26px; padding: 0; }
.ax-contact-list li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; font-size: .9375rem; }
.ax-contact-list li:last-child { margin-bottom: 0; }
.ax-contact-list svg { width: 17px; height: 17px; color: var(--ax-accent-deep); margin-top: 4px; }
.ax-contact-list a { text-decoration: none; font-weight: 500; }
.ax-contact-list a:hover { color: var(--ax-accent-deep); }
.ax-contact-list span { color: var(--ax-text-muted); }

.ax-form-card {
  background: var(--ax-white);
  border: 1px solid var(--ax-border);
  border-radius: var(--ax-r-lg);
  padding: 32px;
}

/* --------------------------------------------------------------------------
   Legal / prose pages
   -------------------------------------------------------------------------- */

.ax-legal { max-width: 780px; }
.ax-legal h2 {
  font-size: 1.375rem;
  margin-top: 2.4em;
  padding-top: 1.6em;
  border-top: 1px solid var(--ax-border);
}
.ax-legal > h2:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.ax-legal h3 { font-size: 1.0625rem; margin-top: 1.8em; }
.ax-page-privacy-policy .ax-legal h3 ~ p,
.ax-page-privacy-policy .ax-legal h3 ~ ul,
.ax-page-privacy-policy .ax-legal h3 ~ ol,
.ax-page-terms-of-service .ax-legal h3 ~ p,
.ax-page-terms-of-service .ax-legal h3 ~ ul,
.ax-page-terms-of-service .ax-legal h3 ~ ol,
.ax-page-refund-policy .ax-legal h3 ~ p,
.ax-page-refund-policy .ax-legal h3 ~ ul,
.ax-page-refund-policy .ax-legal h3 ~ ol {
  margin-left: 1.5rem;
}
.ax-legal p, .ax-legal li { color: var(--ax-n-70); }
.ax-legal__updated .ax-i { width: 14px; height: 14px; }
.ax-legal__updated {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ax-font-mono);
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ax-n-50);
  padding: 10px 16px;
  background: var(--ax-mist);
  border: 1px solid var(--ax-hairline);
  border-radius: var(--ax-r-pill);
  margin-bottom: 40px;
}

/* Security rows were here. Replaced by .ax-creds in editorial.css, which fixes
   the ragged alignment the wrapping flex line caused. */

/* --------------------------------------------------------------------------
   ROI figures
   -------------------------------------------------------------------------- */

.ax-card--roi { text-align: center; padding-block: 36px; }
.ax-roi-figure {
  display: block;
  font-family: var(--ax-font-display);
  font-size: clamp(2.25rem, 1.6rem + 2.2vw, 3.25rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1;
  color: var(--ax-accent-deep);
  margin-bottom: 12px;
}
.ax-card--roi .ax-step-num { margin-bottom: 18px; }

/* Agent-library tag walls run long, so give them room to breathe */
.ax-tags .ax-tag { white-space: normal; }
