.ai-page-hero { padding:10px 0 58px; }
.ai-hero-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; align-items:center; }
.ai-hero-copy { min-width:0; }
.page-hero h1.ai-hero-title { max-width:none; font-size:clamp(49px,calc(4.5vw + 1px),57px); line-height:1.08; letter-spacing:-.035em; }
.ai-hero-title span { display:block; white-space:nowrap; }
.ai-hero-copy .page-lead { max-width:570px; }

.ai-hero-visual { position:relative; min-height:540px; overflow:hidden; cursor:crosshair; touch-action:pan-y; isolation:isolate; }
.ai-hero-visual::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.28; background-image:radial-gradient(#8390a4 .65px,transparent .65px); background-size:22px 22px; mask-image:linear-gradient(90deg,transparent,#000 12%,#000 100%); }
.ai-hero-visual::after { content:""; position:absolute; left:50%; top:10%; bottom:7%; z-index:-1; border-left:1px dashed rgba(91,105,128,.19); }
.ai-scene { position:absolute; left:50%; top:50%; width:620px; height:520px; transform:translate(-50%,-50%) scale(.88); transform-origin:center; }
.ai-item { position:absolute; z-index:4; will-change:transform; }
.ai-drift { animation:ai-drift var(--ai-speed,7s) ease-in-out infinite alternate; animation-delay:var(--ai-delay,0s); }
.ai-drift-1 { --ai-speed:8.4s; --ai-delay:-2s; --ai-r1:-1.1deg; --ai-r2:.5deg; }
.ai-drift-2 { --ai-speed:7.1s; --ai-delay:-4s; --ai-r1:.8deg; --ai-r2:-.5deg; }
.ai-drift-3 { --ai-speed:6.8s; --ai-delay:-1s; --ai-r1:.3deg; --ai-r2:1deg; }
.ai-drift-4 { --ai-speed:9.2s; --ai-delay:-4s; }
@keyframes ai-drift { from { transform:translate3d(-3px,-4px,0) rotate(var(--ai-r1,-.5deg)); } to { transform:translate3d(5px,6px,0) rotate(var(--ai-r2,.7deg)); } }

.ai-card { position:relative; width:194px; min-height:204px; overflow:hidden; border:1px solid rgba(255,255,255,.9); border-radius:5px; background:#fff; box-shadow:0 14px 38px rgba(25,37,57,.13),0 2px 5px rgba(25,37,57,.06); }
.ai-card::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(16,23,35,.035); pointer-events:none; }
.ai-card p { margin:0; padding:10px 11px 11px; color:#263044; font:700 10px/1.3 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }
.ai-card p span { display:block; margin-top:4px; color:#8a93a3; font-size:9px; font-weight:500; line-height:1.4; }
.ai-graphic { position:relative; height:110px; overflow:hidden; }
.ai-graphic::after { content:""; position:absolute; inset:0; opacity:.5; background-image:radial-gradient(rgba(50,72,111,.24) .6px,transparent .6px); background-size:10px 10px; mask-image:linear-gradient(135deg,#000,transparent 72%); }
.ai-area-1 { top:28px; left:7px; }
.ai-area-2 { top:28px; left:213px; }
.ai-area-3 { top:28px; right:7px; }

.ai-strategy { background:linear-gradient(145deg,#eaf1ff,#f8faff); }
.ai-strategy-path { position:absolute; z-index:1; left:28px; right:28px; top:50%; height:1px; border-top:2px dashed #89a2d5; transform:rotate(-8deg); }
.ai-strategy-node { position:absolute; z-index:3; width:44px; height:36px; display:grid; place-items:center; border:1px solid #dce4f3; border-radius:6px; color:#496189; background:#fff; box-shadow:0 6px 14px rgba(37,65,112,.09); font:800 9px/1 var(--font-mono); }
.ai-s1 { left:12px; bottom:13px; }
.ai-s2 { left:50%; top:26px; transform:translateX(-50%); }
.ai-s3 { right:12px; top:10px; color:#fff; background:var(--accent); }

.ai-ops { background:linear-gradient(145deg,#eeeaff,#faf9ff); }
.ai-ops-ring { position:absolute; z-index:1; left:50%; top:50%; width:76px; height:76px; border:1px dashed #9789d0; border-radius:50%; transform:translate(-50%,-50%); }
.ai-ops-core { position:absolute; z-index:4; left:50%; top:50%; width:23px; height:23px; border:6px solid #6e58c8; border-radius:50%; background:#fff; transform:translate(-50%,-50%); box-shadow:0 0 0 5px rgba(110,88,200,.08); }
.ai-ops-node { position:absolute; z-index:3; width:42px; height:32px; display:grid; place-items:center; border:1px solid rgba(74,55,150,.18); border-radius:6px; color:#5843ad; background:#fff; box-shadow:0 6px 14px rgba(67,49,142,.1); font:800 9px/1 var(--font-mono); }
.ai-o1 { left:10px; top:14px; }
.ai-o2 { right:10px; top:14px; }
.ai-o3 { left:50%; bottom:7px; transform:translateX(-50%); color:#fff; background:#6e58c8; }

.ai-automation { background:linear-gradient(145deg,#eaf8f4,#f7fcfa); }
.ai-auto-line { position:absolute; z-index:1; left:27px; right:27px; top:50%; height:2px; background:#75ae99; }
.ai-auto-line::before,.ai-auto-line::after { content:""; position:absolute; top:-17px; width:1px; height:34px; background:#75ae99; }
.ai-auto-line::before { left:0; transform:rotate(-50deg); }
.ai-auto-line::after { right:0; transform:rotate(50deg); }
.ai-auto-node { position:absolute; z-index:3; width:44px; height:38px; display:grid; place-items:center; border:1px solid rgba(32,91,69,.18); border-radius:7px; color:#21684f; background:#fff; box-shadow:0 7px 16px rgba(37,93,73,.1); font:800 9px/1 var(--font-mono); }
.ai-a1 { left:9px; top:11px; }
.ai-a2 { left:50%; bottom:8px; transform:translateX(-50%); }
.ai-a3 { right:9px; top:11px; color:#fff; background:#2ba977; }

.ai-impact { top:323px; left:50%; transform:translateX(-50%); }
.ai-impact-panel { width:500px; padding:14px 17px 17px; border:1px solid rgba(45,62,89,.16); border-radius:6px; background:rgba(255,255,255,.97); box-shadow:0 18px 48px rgba(22,37,62,.14); }
.ai-impact-title { margin-bottom:12px; padding-bottom:9px; border-bottom:1px solid #e7eaf0; color:#263044; font:700 9px/1 var(--font-mono); letter-spacing:.09em; text-transform:uppercase; }
.ai-impact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.ai-impact-card { min-height:92px; display:grid; grid-template-rows:48px auto; align-items:center; padding:8px 9px; border:1px solid #e2e7ef; border-radius:5px; background:#fafbfc; }
.ai-impact-card strong { color:#263044; font:700 10px/1.3 var(--font-mono); letter-spacing:.035em; text-align:center; text-transform:uppercase; }
.ai-impact-graphic { position:relative; width:78px; height:42px; margin:auto; }
.ai-speed i { position:absolute; left:8px; height:5px; border-radius:3px; background:#9eb6e8; transform-origin:left; animation:ai-speed 2.6s ease-in-out infinite alternate; }
.ai-speed i:nth-child(1) { top:6px; width:34px; }
.ai-speed i:nth-child(2) { top:18px; width:49px; animation-delay:-.8s; background:#668bd8; }
.ai-speed i:nth-child(3) { top:30px; width:63px; animation-delay:-1.6s; background:var(--accent); }
.ai-speed::after { content:""; position:absolute; right:5px; top:13px; width:13px; height:13px; border-top:3px solid var(--accent); border-right:3px solid var(--accent); transform:rotate(45deg); }
@keyframes ai-speed { from { transform:scaleX(.78); opacity:.7; } to { transform:scaleX(1); opacity:1; } }
.ai-efficiency::before { content:""; position:absolute; left:50%; top:50%; width:32px; height:32px; border:2px dashed #6fa893; border-radius:50%; transform:translate(-50%,-50%); animation:ai-spin 9s linear infinite; }
.ai-efficiency::after { content:""; position:absolute; left:50%; top:50%; width:13px; height:13px; border:5px solid #2ba977; border-radius:50%; background:#fff; transform:translate(-50%,-50%); box-shadow:-24px 0 0 -4px #a8d8c7,24px 0 0 -4px #a8d8c7; }
@keyframes ai-spin { to { transform:translate(-50%,-50%) rotate(360deg); } }
.ai-priority::before { content:""; position:absolute; left:50%; top:50%; width:38px; height:38px; border:1px solid #c9c0ea; border-radius:50%; transform:translate(-50%,-50%); box-shadow:inset 0 0 0 8px #f2effc,inset 0 0 0 9px #d9d1f2; }
.ai-priority::after { content:""; position:absolute; left:50%; top:50%; width:7px; height:7px; border-radius:50%; background:#6e58c8; transform:translate(-50%,-50%); box-shadow:14px -14px 0 -1px var(--accent); animation:ai-focus 2.8s ease-in-out infinite alternate; }
@keyframes ai-focus { from { box-shadow:10px -10px 0 -1px var(--accent); } to { box-shadow:17px -17px 0 -1px var(--accent); } }

.ai-flow { position:absolute; z-index:1; height:1px; background:linear-gradient(90deg,transparent,rgba(102,116,139,.34) 15%,rgba(102,116,139,.34) 85%,transparent); transform-origin:left center; }
.ai-flow::after { content:""; position:absolute; left:12%; top:-2px; width:5px; height:5px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px rgba(37,95,230,.08); animation:ai-signal 3.6s ease-in-out infinite; animation-delay:var(--ai-flow-delay,0s); }
@keyframes ai-signal { 0% { left:12%; opacity:0; } 18% { opacity:1; } 82% { opacity:1; } 100% { left:86%; opacity:0; } }
.ai-flow-1 { top:236px; left:104px; width:124px; transform:rotate(43deg); --ai-flow-delay:-.5s; }
.ai-flow-2 { top:236px; left:310px; width:87px; transform:rotate(90deg); --ai-flow-delay:-1.6s; }
.ai-flow-3 { top:236px; left:516px; width:124px; transform:rotate(137deg); --ai-flow-delay:-2.4s; }
.ai-orbit { position:absolute; z-index:0; left:50%; top:49%; width:520px; height:300px; border:1px solid rgba(37,95,230,.08); border-radius:50%; transform:translate(-50%,-50%) rotate(-8deg); }
.ai-orbit::before { content:""; position:absolute; inset:34px 72px; border:1px solid rgba(37,95,230,.06); border-radius:inherit; }

@media (max-width:1100px) {
  .ai-hero-grid { grid-template-columns:1fr; gap:32px; }
  .ai-hero-copy { max-width:760px; }
  .ai-hero-visual { min-height:520px; }
  .ai-scene { transform:translate(-50%,-50%) scale(.94); }
}

@media (max-width:720px) {
  .ai-page-hero { padding:10px 0 42px; }
  .page-hero h1.ai-hero-title { font-size:clamp(38px,10.5vw,48px); }
  .ai-hero-title span { white-space:normal; }
  .ai-hero-grid { gap:22px; }
}

@media (prefers-reduced-motion:reduce) {
  .ai-drift,.ai-flow::after,.ai-speed i,.ai-efficiency::before,.ai-priority::after { animation:none !important; }
}
