/* ============================================================
   AVX FINAL DIRECTIVE LAYER — extends avx-visual-system.css
   Square-state language, scene backgrounds, typography depth,
   run-once motion, pricing card system. 2026-07-29.
   ============================================================ */

/* --- Scene backgrounds (large single-scene SVGs, ~12-16% effective) --- */
.avx-scene{position:relative;isolation:isolate}
.avx-scene::before{content:"";position:absolute;inset:0;z-index:-1;
  background-position:center 20%;background-repeat:no-repeat;background-size:min(1600px,120%) auto;
  opacity:.55;pointer-events:none}
.avx-scene-revenue-path::before{background-image:url('avx-revenue-path.svg?v=20260803c')}
.avx-scene-capacity::before{background-image:url('avx-capacity-network.svg?v=20260803c')}
.avx-scene-conversation::before{background-image:url('avx-nova-conversation-path.svg?v=20260803c')}
.avx-scene-ledger::before{background-image:url('avx-evidence-ledger.svg?v=20260803c')}
.avx-scene-blueprint-map::before{background-image:url('avx-blueprint-map.svg?v=20260803c')}
.avx-scene-routing::before{background-image:url('avx-industry-routing-grid.svg?v=20260803c')}
.avx-scene-command-net::before{background-image:url('avx-command-network.svg?v=20260803c')}
.avx-scene-retention::before{background-image:url('avx-retention-loop.svg?v=20260803c')}

/* --- Typography depth (§7 exact) --- */
.avx-display,.avx-statement{color:#E8E3D8;text-shadow:0 2px 18px rgba(0,0,0,.72),0 1px 0 rgba(255,255,255,.035)}
.avx-word-revenue,.avx-pillar-title.is-active{color:#28E884;text-shadow:0 0 18px rgba(40,232,132,.18),0 2px 16px rgba(0,0,0,.78)}
.avx-word-authority{color:#D2B579;text-shadow:0 0 18px rgba(176,141,87,.16),0 2px 14px rgba(0,0,0,.72)}
.section-ghost-word{color:transparent;-webkit-text-stroke:1px rgba(232,227,216,.045);text-shadow:0 18px 40px rgba(0,0,0,.36);opacity:.72}
p,li,label,.nav a,.btn,button{text-shadow:none}

/* --- Square-state language (§4) --- */
.avx-sq{display:inline-block;width:12px;height:12px;flex:0 0 12px;border:1.4px solid #263033;background:transparent;vertical-align:-1px}
.avx-sq.is-detected{border-color:#AEB8B7}
.avx-sq.is-active{border-color:#16B968}
.avx-sq.is-confirmed{border-color:#28E884;background:#28E884}
.avx-sq.is-provider{border-color:#B08D57}
.avx-sq.is-provider{position:relative}
.avx-sq.is-human{border-color:#E8E3D8}
.avx-sq.is-suppressed{border-color:#263033;opacity:.45}

/* --- Four-pillar revenue path (§10) --- */
.avx-pillar-path{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin:40px 0 8px}
.avx-pillar{position:relative;padding:26px 22px 22px;border:1px solid #263033;background:rgba(16,23,25,.72);min-height:100%}
.avx-pillar+.avx-pillar{border-left:none}
.avx-pillar::before{content:"";position:absolute;top:-7px;left:22px;width:13px;height:13px;border:1.5px solid #263033;background:#0A0F11;transition:border-color .5s,background .5s}
.avx-pillar.is-active::before{border-color:#16B968}
.avx-pillar.is-confirmed::before{border-color:#28E884;background:#28E884}
.avx-pillar.is-retain.is-confirmed::before{box-shadow:0 0 0 4px rgba(176,141,87,.14)}
.avx-pillar-kicker{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;color:#8A9593;margin:0 0 8px}
.avx-pillar h3{font-size:20px;letter-spacing:.06em;margin:0 0 8px;color:#E8E3D8}
.avx-pillar p{color:#CFC9BD;font-size:14.5px;margin:0 0 10px}
.avx-pillar ul{list-style:none;margin:0;padding:0}
.avx-pillar ul li{color:#8A9593;font-size:13px;padding:3px 0 3px 18px;position:relative}
.avx-pillar ul li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border:1.2px solid #263033}
.avx-pillar.is-active ul li::before{border-color:#16B968}
.avx-pathline{position:relative;height:2px;background:#263033;margin:0 0 -1px;overflow:hidden}
.avx-pathline i{position:absolute;inset:0;background:linear-gradient(90deg,#16B968,#28E884);transform:scaleX(0);transform-origin:left}
.avx-run .avx-pathline i{animation:avxPathFill 5.5s cubic-bezier(.4,0,.2,1) forwards}
@keyframes avxPathFill{to{transform:scaleX(1)}}
@media(max-width:860px){.avx-pillar-path{grid-template-columns:1fr}.avx-pillar+.avx-pillar{border-left:1px solid #263033;border-top:none}}

/* --- Managed vs DIY table (§12) --- */
.avx-vs{width:100%;border-collapse:collapse;margin-top:26px}
.avx-vs th,.avx-vs td{border:1px solid #263033;padding:14px 18px;text-align:left;font-size:14.5px}
.avx-vs th{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;color:#8A9593;background:rgba(16,23,25,.8)}
.avx-vs td:first-child{color:#8A9593}
.avx-vs td:last-child{color:#E8E3D8;background:rgba(22,185,104,.045)}

/* --- Short proof strip (§13) --- */
.avx-proof-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid #263033;background:rgba(16,23,25,.8);padding:22px 26px;margin-top:26px}
.avx-proof-step{display:flex;align-items:center;gap:10px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;color:#8A9593}
.avx-proof-step .avx-sq{transition:all .4s}
.avx-proof-arrow{color:#263033}
.avx-run .avx-proof-step:nth-child(1) .avx-sq{animation:avxDetect .5s .3s forwards}
.avx-run .avx-proof-step:nth-child(3) .avx-sq{animation:avxProvider .5s 1.5s forwards}
.avx-run .avx-proof-step:nth-child(5) .avx-sq{animation:avxConfirm .5s 2.6s forwards}
.avx-run .avx-proof-step:nth-child(5) span{animation:avxTextGreen .5s 2.6s forwards}
@keyframes avxDetect{to{border-color:#AEB8B7}}
@keyframes avxProvider{to{border-color:#B08D57}}
@keyframes avxConfirm{to{border-color:#28E884;background:#28E884}}
@keyframes avxTextGreen{to{color:#28E884}}

/* --- Pricing (§16) --- */
.avx-plan-price{color:#E8E3D8;text-shadow:0 2px 20px rgba(0,0,0,.78),0 0 18px rgba(232,227,216,.04)}
.plan-engine{border-color:rgba(40,232,132,.52)!important;background:linear-gradient(180deg,rgba(22,185,104,.075),rgba(16,23,25,.98))!important;box-shadow:0 24px 60px rgba(0,0,0,.42),inset 0 1px 0 rgba(140,255,193,.08)!important}
.avx-coverage{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.12em;color:#8A9593;margin:10px 0 4px}
.avx-coverage b{display:flex;align-items:center;gap:6px;font-weight:500}
.avx-plan-outcome{color:#CFC9BD;font-size:15px;margin:10px 0 2px}
.avx-plan-term{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;color:#8A9593}
.avx-drawer{border:1px solid #263033;background:rgba(10,15,17,.6);margin-top:12px}
.avx-drawer summary{cursor:pointer;padding:12px 16px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.12em;color:#AEB8B7;list-style:none}
.avx-drawer summary::-webkit-details-marker{display:none}
.avx-drawer summary::after{content:"+";float:right;color:#8A9593}
.avx-drawer[open] summary::after{content:"–"}
.avx-drawer .drawer-body{padding:4px 16px 16px;color:#CFC9BD;font-size:13.5px}

/* --- Live operational sequence (Meet Nova §17) --- */
.avx-opseq{display:flex;flex-direction:column;gap:0;border:1px solid #263033;background:rgba(16,23,25,.85);padding:22px 26px}
.avx-opseq-row{display:flex;align-items:center;gap:12px;padding:9px 0;font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.1em;color:#8A9593;opacity:.45;transition:opacity .5s}
.avx-opseq-row b{color:#AEB8B7;font-weight:500}
.avx-run .avx-opseq-row{animation:avxRowOn .45s forwards}
.avx-run .avx-opseq-row:nth-child(1){animation-delay:.2s}
.avx-run .avx-opseq-row:nth-child(2){animation-delay:1.1s}
.avx-run .avx-opseq-row:nth-child(3){animation-delay:2.0s}
.avx-run .avx-opseq-row:nth-child(4){animation-delay:2.9s}
.avx-run .avx-opseq-row:nth-child(5){animation-delay:3.8s}
.avx-run .avx-opseq-row:nth-child(5) b{color:#28E884}
@keyframes avxRowOn{to{opacity:1}}

/* --- Run-once viewport trigger helper --- */
.avx-once{--seen:0}

/* --- Reduced motion: completed states, no animation --- */
@media (prefers-reduced-motion: reduce){
  .avx-run .avx-pathline i{animation:none;transform:scaleX(1)}
  .avx-run .avx-proof-step .avx-sq,.avx-proof-step .avx-sq{animation:none}
  .avx-proof-step:nth-child(1) .avx-sq{border-color:#AEB8B7}
  .avx-proof-step:nth-child(3) .avx-sq{border-color:#B08D57}
  .avx-proof-step:nth-child(5) .avx-sq{border-color:#28E884;background:#28E884}
  .avx-proof-step:nth-child(5) span{color:#28E884}
  .avx-opseq-row{animation:none;opacity:1}
  .avx-opseq-row:nth-child(5) b{color:#28E884}
}

/* --- Mobile scene lighter --- */
@media(max-width:640px){.avx-scene::before{opacity:.35;background-size:200% auto}}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:1000px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid-4{grid-template-columns:1fr}}

/* opseq layout fix: label/value columns */
.avx-opseq .avx-op{display:grid;grid-template-columns:14px 220px 1fr;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid rgba(122,132,140,.14)}
.avx-opseq .avx-op:last-child{border-bottom:none}
.avx-opseq .avx-op b{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--warm-bone,#e8e4da);font-weight:600}
.avx-opseq .avx-op i{font-family:'IBM Plex Mono',monospace;font-style:normal;font-size:11px;letter-spacing:.1em;color:var(--titanium,#7a848c)}
@media(max-width:640px){.avx-opseq .avx-op{grid-template-columns:14px 1fr;grid-auto-rows:auto}.avx-opseq .avx-op i{grid-column:2}}

/* --- Business AI Expansion hero plates (Jul 30 2026, delivered set) ---
   1600x900 static plates. Sit behind hero content via .avx-scene layer.
   No motion; reduced-motion safe by construction. Luxury field treatment. */
.avx-plate::before{background-position:center 12%;background-size:min(1680px,128%) auto;opacity:.62;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,1) 0%,rgba(0,0,0,.92) 62%,rgba(0,0,0,.28) 100%);
  mask-image:linear-gradient(180deg,rgba(0,0,0,1) 0%,rgba(0,0,0,.92) 62%,rgba(0,0,0,.28) 100%)}
.avx-plate-revenue-field::before{background-image:url('images/avx-hero-revenue-field.svg?v=20260803c')}
.avx-plate-system-blueprint::before{background-image:url('images/avx-hero-system-blueprint.svg?v=20260803c')}
.avx-plate-four-lanes::before{background-image:url('images/avx-hero-four-lanes.svg?v=20260803c')}
.avx-plate-configurable-grid::before{background-image:url('images/avx-hero-configurable-grid.svg?v=20260803c')}
.avx-plate-conversation-arch::before{background-image:url('images/avx-hero-conversation-architecture.svg?v=20260803c')}
.avx-plate-capacity-network::before{background-image:url('images/avx-hero-capacity-network.svg?v=20260803c')}
.avx-plate-evidence-ledger::before{background-image:url('images/avx-hero-evidence-ledger.svg?v=20260803c')}
.avx-plate-business-operations::before{background-image:url('images/avx-hero-business-operations-map.svg?v=20260803c')}
.avx-plate-studio-orchestration::before{background-image:url('images/avx-hero-studio-orchestration.svg?v=20260803c')}
.avx-plate-partnership-network::before{background-image:url('images/avx-client-partnership-network.svg?v=20260803c')}
/* homepage hero keeps its cinematic photo; the plate rides above it, under the gradient text guard */
.hero-cinematic.avx-plate::before{z-index:1;opacity:.5}
.hero-cinematic.avx-plate::after{z-index:1}
.hero-cinematic.avx-plate>.container{z-index:2}
@media(max-width:640px){.avx-plate::before{opacity:.4;background-size:210% auto;background-position:center 8%}}


/* --- Managed means managed (partnership component, namespaced .mp-*) --- */
.managed-partnership .mp-kicker{font:600 12px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--green);margin-bottom:12px}
.managed-partnership .mp-h2{font-size:clamp(24px,3.4vw,34px);line-height:1.14;margin:0 0 10px;letter-spacing:-.015em;font-weight:730;color:var(--bone);font-family:var(--display)}
.managed-partnership .mp-lead{color:var(--soft);max-width:680px;font-size:16px}
.managed-partnership .mp-cad{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
.managed-partnership .mp-cd{background:var(--carbon);border:1px solid var(--border);border-radius:14px;padding:20px}
.managed-partnership .mp-cd.mp-cmd{border-color:var(--deep-bronze);background:linear-gradient(180deg,var(--carbon),rgba(176,141,87,.05))}
.managed-partnership .mp-cn{font-weight:700;font-size:16px;margin:0;color:var(--bone)}
.managed-partnership .mp-ct{font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:6px 0 9px;color:var(--green)}
.managed-partnership .mp-cd.mp-cmd .mp-ct{color:var(--bronze)}
.managed-partnership .mp-p{margin:0;font-size:13.5px;color:var(--soft)}
.managed-partnership .mp-own{margin-top:10px;font-size:12px;color:var(--muted)}
.managed-partnership .mp-cust{margin-top:16px;font-size:13.5px;color:var(--soft);border-left:3px solid var(--bronze);padding:6px 0 6px 14px}
.managed-partnership .mp-cta{margin-top:22px}
.managed-partnership .mp-btn{font-size:15px;font-weight:600;padding:14px 22px;border-radius:10px;border:1px solid var(--carbon-border);color:var(--bone);background:var(--carbon);transition:border-color .15s,transform .15s;display:inline-block;text-decoration:none}
.managed-partnership .mp-btn:hover{border-color:var(--green);transform:translateY(-1px)}
.managed-partnership .mp-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}
@media(max-width:640px){.managed-partnership .mp-cad{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.managed-partnership .mp-btn{transition:none}.managed-partnership .mp-btn:hover{transform:none}}

.price .avx-cadence{font:500 11.5px/1.5 var(--mono);color:var(--bronze-hi);margin:8px 0 0;letter-spacing:.02em}


/* --- Client partnership (component, namespaced .cp-* under #client-partnership) --- */
#client-partnership{position:relative}
#client-partnership .cp-kicker{font:600 12px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--green);margin-bottom:12px}
#client-partnership .cp-h2{font-size:clamp(25px,3.6vw,36px);line-height:1.12;margin:0 0 12px;letter-spacing:-.015em;font-weight:730;color:var(--bone);font-family:var(--display)}
#client-partnership .cp-lead{color:var(--soft);max-width:680px;font-size:17px}
#client-partnership .cp-path{list-style:none;counter-reset:cp;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:34px 0 0;padding:0}
#client-partnership .cp-step{background:var(--carbon);border:1px solid var(--border);border-radius:12px;padding:16px 12px;text-align:center}
/* CONNECTOR HIERARCHY (doc 11): 4 of the 5 ledger steps read green, which coated
   the strip. Idle now reads muted titanium; bronze marks the authority step.
   .cp-last is kept as an alias of .is-authority so the existing markup keeps
   working while the shared token becomes the source of truth. */
#client-partnership .cp-step .cp-n{font:700 11px/1 var(--mono);color:var(--avx-conn-idle-text,#7C888B);letter-spacing:.05em}
#client-partnership .cp-step .cp-l{font-size:13px;margin-top:7px;color:var(--soft)}
#client-partnership .cp-step.cp-last,
#client-partnership .cp-step.is-authority{border-color:var(--deep-bronze)}
#client-partnership .cp-step.cp-last .cp-n,
#client-partnership .cp-step.is-authority .cp-n{color:var(--bronze)}
#client-partnership .cp-step.is-confirmed{border-color:var(--green)}
#client-partnership .cp-step.is-confirmed .cp-n{color:var(--green)}
#client-partnership .cp-owners{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px;padding:0;list-style:none}
#client-partnership .cp-ow{flex:1;min-width:220px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}
#client-partnership .cp-ow .cp-role{font:600 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
#client-partnership .cp-ow.cp-spec .cp-role{color:var(--soft)}
#client-partnership .cp-ow.cp-strat .cp-role{color:var(--green)}
#client-partnership .cp-ow.cp-spon{border-color:var(--deep-bronze)}
#client-partnership .cp-ow.cp-spon .cp-role{color:var(--bronze)}
#client-partnership .cp-ow .cp-tag{font:600 9px/1 var(--mono);letter-spacing:.08em;border:1px solid var(--carbon-border);border-radius:5px;padding:3px 6px;margin-left:6px;color:var(--muted);vertical-align:middle}
#client-partnership .cp-ow.cp-spon .cp-tag{border-color:var(--deep-bronze);color:var(--bronze)}
#client-partnership .cp-ow .cp-d{font-size:13.5px;color:var(--soft)}
#client-partnership .cp-support{margin-top:20px;font:600 15px/1.5 var(--body);color:var(--bone)}
#client-partnership .cp-support b.cp-g{color:var(--green)}#client-partnership .cp-support b.cp-z{color:var(--bronze)}
@media(max-width:720px){#client-partnership .cp-path{grid-template-columns:1fr 1fr}}
@media(max-width:440px){#client-partnership .cp-path{grid-template-columns:1fr}}
/* --- Pass-2 plate refinements (visual QA) --- */
/* centered hero on why-altavex: ledger rows must sit as a faint field, not compete with copy */
.avx-plate-evidence-ledger::before{opacity:.22;background-position:center -8%;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.5) 55%,rgba(0,0,0,.12) 100%);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.5) 55%,rgba(0,0,0,.12) 100%)}
/* partnership plate carries its own labels; keep it as a faint texture so it never duplicates HTML copy */
.avx-plate-partnership-network::before{opacity:.12}
/* pricing hero: soften so plan labels never fight the H1 */
.avx-plate-capacity-network::before{opacity:.5;background-position:72% 12%}
