/* Enterprise AI development chapter: architectural system map + indexed rail. */
.enterprise-ai { overflow: hidden; }
.enterprise-ai__grid { align-items: center; }
@media (min-width: 900px) { .enterprise-ai__grid > :first-child { grid-column: span 5; } .enterprise-ai__grid > :last-child { grid-column: span 7; } }
.enterprise-ai__content { --stack-gap: clamp(1.15rem, 2vw, 1.7rem); max-width: 34rem; }
.enterprise-ai__heading { margin: 0; font-size: var(--text-heading-lg); line-height: var(--lh-heading-tight); letter-spacing: var(--ls-tight); }
.enterprise-ai__lead { margin: 0; max-width: 52ch; color: var(--color-text-secondary); font-size: var(--text-lead-md); line-height: var(--lh-body); }
.enterprise-ai__content .btn { align-self: flex-start; margin-top: .25rem; }
.enterprise-ai__trust { display: flex; align-items: center; gap: .55rem; margin: .35rem 0 0; font: var(--fw-medium) var(--text-xs)/var(--lh-body-sm) var(--font-mono); color: var(--color-text-tertiary); }
.enterprise-ai__trust span { width: 7px; aspect-ratio: 1; border-radius: 50%; background: var(--color-highlight); box-shadow: 0 0 0 4px color-mix(in oklch, var(--color-highlight), transparent 82%); }

.enterprise-ai__visual-wrap { min-width: 0; }
.enterprise-ai__visual { position: relative; min-height: 470px; aspect-ratio: 1.28 / 1; isolation: isolate; }
.enterprise-ai__visual-aura { position: absolute; inset: 10% 13%; z-index: -2; border-radius: 50%; background: radial-gradient(circle, color-mix(in oklch, var(--color-accent-soft), transparent 24%), color-mix(in oklch, var(--color-glow-soft), transparent 46%) 42%, transparent 70%); filter: blur(22px); animation: enterprise-ai-ambient 14s ease-in-out infinite alternate; }
.enterprise-ai__routes { position: absolute; inset: 3%; width: 94%; height: 94%; overflow: visible; }
.enterprise-ai__routes path { stroke: color-mix(in oklch, var(--color-accent-border), var(--color-glow-border) 40%); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.enterprise-ai__routes .enterprise-ai__route-pulse { stroke: var(--color-glow); stroke-width: 2.4; stroke-dasharray: 12 220; filter: drop-shadow(0 0 4px var(--color-glow)); animation: enterprise-ai-route 7s linear infinite; }
.enterprise-ai__plane { position: absolute; z-index: -1; left: 50%; top: 50%; width: 49%; aspect-ratio: 1.22; border: 1px solid var(--color-accent-border); border-radius: 32px; background: linear-gradient(145deg, color-mix(in oklch, var(--color-glass-strong), transparent 8%), color-mix(in oklch, var(--color-glow-soft), transparent 70%)); box-shadow: var(--shadow-panel); transform: translate(-50%, -50%) rotate(-18deg); }
.enterprise-ai__plane span { position: absolute; height: 1px; left: 13%; right: 13%; background: linear-gradient(90deg, transparent, var(--color-glow-border), transparent); }.enterprise-ai__plane span:nth-child(1) { top: 28%; }.enterprise-ai__plane span:nth-child(2) { top: 50%; }.enterprise-ai__plane span:nth-child(3) { top: 72%; }
.enterprise-ai__core { position: absolute; z-index: 2; left: 50%; top: 50%; display: grid; place-items: center; width: 118px; aspect-ratio: 1; border: 1px solid var(--color-accent-border); border-radius: 50%; background: radial-gradient(circle, color-mix(in oklch, white, var(--color-glow) 26%), color-mix(in oklch, var(--color-accent), transparent 68%) 46%, transparent 72%); box-shadow: 0 0 0 16px color-mix(in oklch, var(--color-accent), transparent 94%), 0 0 48px color-mix(in oklch, var(--color-glow), transparent 58%), var(--shadow-node); transform: translate(-50%, -50%); animation: enterprise-ai-core 9s ease-in-out infinite alternate; }
.enterprise-ai__core::before, .enterprise-ai__core::after { content: ''; position: absolute; border: 1px solid var(--color-glow-border); border-radius: inherit; }.enterprise-ai__core::before { inset: 14px; }.enterprise-ai__core::after { inset: 29px; border-color: color-mix(in oklch, white, transparent 48%); }.enterprise-ai__core i, .enterprise-ai__core b, .enterprise-ai__core em { position: absolute; background: var(--color-glow); border-radius: 50%; box-shadow: var(--shadow-glow-sm); }.enterprise-ai__core i { width: 9px; height: 9px; }.enterprise-ai__core b { width: 5px; height: 5px; transform: translate(-21px, -18px); }.enterprise-ai__core em { width: 5px; height: 5px; transform: translate(22px, 19px); }
.enterprise-ai__node, .enterprise-ai__metric, .enterprise-ai__visual-copy { position: absolute; border: 1px solid color-mix(in oklch, var(--color-border), transparent 8%); background: color-mix(in oklch, var(--color-glass-strong), transparent 8%); box-shadow: var(--shadow-card), 0 1px 0 color-mix(in oklch, white, transparent 34%) inset; backdrop-filter: blur(16px) saturate(130%); -webkit-backdrop-filter: blur(16px) saturate(130%); }
.enterprise-ai__node { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .45rem; min-width: 110px; padding: .62rem .72rem; border-radius: var(--radius-md); transition: transform var(--transition-card), border-color var(--transition-card), box-shadow var(--transition-card), background var(--transition-card); }.enterprise-ai__node span, .enterprise-ai__visual-copy span { font: var(--fw-medium) var(--text-label-xs) var(--font-mono); letter-spacing: var(--ls-label-lg); color: var(--color-text-tertiary); }.enterprise-ai__node strong { font-size: .72rem; color: var(--color-text-primary); }.enterprise-ai__node i { width: 6px; height: 6px; border-radius: 50%; background: var(--color-highlight); box-shadow: 0 0 9px var(--color-highlight); }.enterprise-ai__node.is-active { border-color: var(--color-glow-border); background: color-mix(in oklch, var(--color-glass-strong), var(--color-glow-soft) 22%); box-shadow: var(--shadow-card-hover), 0 0 22px color-mix(in oklch, var(--color-glow), transparent 82%); transform: translateY(-3px); }
.enterprise-ai__node--solutions { left: 4%; top: 10%; }.enterprise-ai__node--agents { left: 1%; top: 44%; }.enterprise-ai__node--data { left: 8%; bottom: 8%; }.enterprise-ai__node--governance { right: 2%; top: 12%; }.enterprise-ai__node--cloud { right: 1%; bottom: 9%; }
.enterprise-ai__metric { display: flex; flex-direction: column; gap: .2rem; padding: .65rem .75rem; border-radius: var(--radius-md); }.enterprise-ai__metric span { font: var(--fw-medium) var(--text-label-xs) var(--font-mono); color: var(--color-text-tertiary); }.enterprise-ai__metric strong { font: var(--fw-bold) 1.05rem var(--font-heading); color: var(--color-text-primary); }.enterprise-ai__metric i { height: 3px; width: 54px; border-radius: 99px; background: linear-gradient(90deg, var(--color-highlight) 76%, var(--color-border) 76%); }.enterprise-ai__metric--health { right: 20%; top: 28%; }.enterprise-ai__metric--models { left: 23%; bottom: 22%; }
.enterprise-ai__visual-copy { z-index: 3; right: 20%; bottom: 17%; width: min(43%, 220px); padding: .8rem .9rem; border-radius: var(--radius-md); }.enterprise-ai__visual-copy strong { display: block; margin: .28rem 0; font: var(--fw-semibold) .78rem/1.25 var(--font-heading); color: var(--color-text-primary); }.enterprise-ai__visual-copy p { margin: 0; font-size: .66rem; line-height: 1.45; color: var(--color-text-secondary); }

.enterprise-ai__selector { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .55rem; margin-top: clamp(2.25rem, 5vw, 4rem); padding-top: 1rem; border-top: 1px solid var(--color-border); }
.enterprise-ai__choice { min-height: 104px; padding: .85rem .9rem; text-align: left; border: 1px solid transparent; border-radius: var(--radius-md); background: transparent; color: var(--color-text-secondary); cursor: pointer; transition: background var(--transition-card), border-color var(--transition-card), transform var(--transition-card), box-shadow var(--transition-card); }.enterprise-ai__choice span { display: block; margin-bottom: .55rem; font: var(--fw-medium) var(--text-label-xs) var(--font-mono); color: var(--color-text-tertiary); }.enterprise-ai__choice strong { display: block; font-size: .78rem; line-height: 1.25; color: var(--color-text-primary); }.enterprise-ai__choice small { display: block; margin-top: .38rem; font-size: .68rem; line-height: 1.35; color: var(--color-text-tertiary); }.enterprise-ai__choice:hover, .enterprise-ai__choice.is-active { border-color: var(--color-accent-border); background: color-mix(in oklch, var(--color-glass-medium), var(--color-accent-soft) 22%); box-shadow: var(--shadow-card); transform: translateY(-2px); }.enterprise-ai__choice.is-active span { color: var(--color-accent-strong); }.enterprise-ai__choice:focus-visible { outline: 2px solid var(--color-glow); outline-offset: 3px; }
@keyframes enterprise-ai-ambient { from { transform: scale(.95) translate3d(-1%, -1%, 0); opacity: .6; } to { transform: scale(1.05) translate3d(2%, 2%, 0); opacity: .9; } }
@keyframes enterprise-ai-route { to { stroke-dashoffset: -232; } }
@keyframes enterprise-ai-core { from { transform: translate(-50%, -50%) scale(.96); } to { transform: translate(-50%, -50%) scale(1.04); } }
@media (max-width: 899px) { .enterprise-ai__visual { width: min(100%, 640px); margin: 0 auto; }.enterprise-ai__selector { grid-template-columns: repeat(3, minmax(0, 1fr)); }.enterprise-ai__choice { min-height: 96px; } }
@media (max-width: 599px) { .enterprise-ai__visual { min-height: 350px; }.enterprise-ai__core { width: 92px; }.enterprise-ai__node { min-width: 0; padding: .48rem .55rem; gap: .28rem; }.enterprise-ai__node strong { font-size: .59rem; }.enterprise-ai__node span { font-size: .46rem; }.enterprise-ai__metric, .enterprise-ai__visual-copy { display: none; }.enterprise-ai__selector { display: flex; overflow-x: auto; padding-bottom: .45rem; scroll-snap-type: x proximity; }.enterprise-ai__choice { flex: 0 0 min(76vw, 250px); min-height: 110px; scroll-snap-align: start; }.enterprise-ai__node--solutions { left: 0; }.enterprise-ai__node--agents { left: 0; }.enterprise-ai__node--data { left: 3%; }.enterprise-ai__node--governance { right: 0; }.enterprise-ai__node--cloud { right: 0; } }
@media (prefers-reduced-motion: reduce) { .enterprise-ai__visual-aura, .enterprise-ai__routes .enterprise-ai__route-pulse, .enterprise-ai__core { animation: none; } }
