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

.consulting-hero-visual { position: relative; min-height: 600px; overflow: hidden; cursor: crosshair; touch-action: pan-y; isolation: isolate; }
.consulting-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%); }
.consulting-hero-visual::after { content: ""; position: absolute; left: 50%; top: 10%; bottom: 6%; z-index: -1; border-left: 1px dashed rgba(91,105,128,.19); }
.cs-scene { position: absolute; left: 50%; top: 50%; width: 620px; height: 600px; transform: translate(-50%,-50%) scale(.88); transform-origin: center; }
.cs-item { position: absolute; z-index: 4; will-change: transform; }
.cs-drift { animation: cs-drift var(--cs-speed,7s) ease-in-out infinite alternate; animation-delay: var(--cs-delay,0s); }
.cs-drift-1 { --cs-speed:8.4s; --cs-delay:-2s; --cs-r1:-1.1deg; --cs-r2:.5deg; }
.cs-drift-2 { --cs-speed:7.1s; --cs-delay:-4s; --cs-r1:.8deg; --cs-r2:-.5deg; }
.cs-drift-3 { --cs-speed:6.8s; --cs-delay:-1s; --cs-r1:.3deg; --cs-r2:1deg; }
.cs-drift-4 { --cs-speed:8.8s; --cs-delay:-5s; --cs-r1:-.6deg; --cs-r2:.8deg; }
.cs-drift-5 { --cs-speed:8.2s; --cs-delay:-3s; }
.cs-drift-6 { --cs-speed:9.2s; --cs-delay:-4s; }
@keyframes cs-drift { from { transform:translate3d(-3px,-4px,0) rotate(var(--cs-r1,-.5deg)); } to { transform:translate3d(5px,6px,0) rotate(var(--cs-r2,.7deg)); } }

.cs-card { position: relative; width: var(--cs-w,198px); min-height:190px; 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); }
.cs-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; }
.cs-card p { margin:0; padding:10px 11px 11px; color:#263044; font:700 10px/1.3 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }
.cs-card p span { display:block; margin-top:4px; color:#8a93a3; font-size:9px; font-weight:500; line-height:1.4; }
.cs-graphic { position:relative; height:96px; overflow:hidden; }
.cs-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%); }
.cs-area-1 { top:42px; left:7px; --cs-w:198px; }
.cs-area-2 { top:42px; left:211px; --cs-w:198px; }
.cs-area-3 { top:42px; right:7px; --cs-w:198px; }

.cs-commercial { background:linear-gradient(145deg,#eaf1ff,#f8faff); }
.cs-compass-ring { position:absolute; z-index:2; left:50%; top:50%; width:56px; height:56px; border:1px dashed #8fa9e0; border-radius:50%; transform:translate(-50%,-50%); }
.cs-compass-ring::before,.cs-compass-ring::after { content:""; position:absolute; left:50%; top:50%; background:#b3c4e8; transform:translate(-50%,-50%); }
.cs-compass-ring::before { width:76px; height:1px; }
.cs-compass-ring::after { width:1px; height:76px; }
.cs-compass-arrow { position:absolute; z-index:3; left:50%; top:50%; width:24px; height:44px; background:linear-gradient(to bottom,var(--accent) 0 50%,#9fb8ef 50%); clip-path:polygon(50% 0,100% 50%,62% 43%,50% 100%,38% 43%,0 50%); transform:translate(-50%,-50%) rotate(34deg); }
.cs-compass-dot { position:absolute; z-index:4; left:50%; top:50%; width:11px; height:11px; border:4px solid #fff; border-radius:50%; background:var(--accent); transform:translate(-50%,-50%); }

.cs-allocation { background:linear-gradient(145deg,#fff3df,#fffbf2); }
.cs-allocation-bars { position:absolute; z-index:2; left:23px; right:23px; bottom:17px; height:50px; display:flex; align-items:end; gap:9px; border-bottom:1px solid #d9c69f; }
.cs-allocation-bars i { flex:1; height:var(--h); border-radius:3px 3px 0 0; background:#f2aa36; }
.cs-allocation-bars i:nth-child(2) { background:#ffd06b; }
.cs-allocation-bars i:nth-child(3) { background:var(--accent); }
.cs-allocation-bars i:nth-child(4) { background:#85a5ec; }
.cs-allocation-arrow { position:absolute; z-index:3; left:29px; top:15px; width:103px; height:35px; border-top:2px solid #8e6c28; border-radius:50%; transform:rotate(-10deg); }
.cs-allocation-arrow::after { content:""; position:absolute; right:-1px; top:-5px; width:8px; height:8px; border-top:2px solid #8e6c28; border-right:2px solid #8e6c28; transform:rotate(30deg); }

.cs-funnel { display:grid; place-content:center; gap:4px; background:linear-gradient(145deg,#eaf8f4,#f7fcfa); }
.cs-funnel i { position:relative; z-index:2; height:14px; background:#2ba977; }
.cs-funnel i::after { position:absolute; inset:0; display:grid; place-items:center; color:#fff; font:800 9px/1 var(--font-mono); letter-spacing:.07em; }
.cs-funnel .cs-f1 { width:110px; clip-path:polygon(0 0,100% 0,91% 100%,9% 100%); }
.cs-funnel .cs-f1::after { content:"AUDIENCE + OFFER"; }
.cs-funnel .cs-f2 { width:80px; margin-inline:auto; background:#67c4a2; clip-path:polygon(0 0,100% 0,86% 100%,14% 100%); }
.cs-funnel .cs-f2::after { content:"MESSAGE"; color:#174f3d; }
.cs-funnel .cs-f3 { width:48px; margin-inline:auto; background:var(--accent); clip-path:polygon(0 0,100% 0,75% 100%,25% 100%); }
.cs-funnel .cs-f3::after { content:"CONVERT"; }

.cs-operating { background:linear-gradient(145deg,#eeeaff,#faf9ff); }
.cs-ops-line { position:absolute; z-index:1; left:21%; right:21%; top:50%; height:1px; background:#9585d6; }
.cs-ops-line::before,.cs-ops-line::after { content:""; position:absolute; top:-16px; width:1px; height:32px; background:#9585d6; }
.cs-ops-line::before { left:0; transform:rotate(-52deg); }
.cs-ops-line::after { right:0; transform:rotate(52deg); }
.cs-ops-node { position:absolute; z-index:3; width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(74,55,150,.18); border-radius:7px; color:#5843ad; background:#fff; box-shadow:0 6px 14px rgba(67,49,142,.1); font:800 9px/1 var(--font-mono); }
.cs-ops-node.cs-n1 { left:9%; top:12%; }
.cs-ops-node.cs-n2 { left:50%; bottom:7%; transform:translateX(-50%); }
.cs-ops-node.cs-n3 { right:9%; top:12%; }
.cs-ops-hub { position:absolute; z-index:4; left:50%; top:43%; width:18px; height:18px; border:5px solid #6e58c8; border-radius:50%; background:#fff; transform:translate(-50%,-50%); }

.cs-activation { top:260px; left:50%; transform:translateX(-50%); }
.cs-activation-box { width:500px; padding:11px 13px 13px; border:1px solid rgba(42,59,87,.16); border-radius:6px; background:rgba(255,255,255,.96); box-shadow:0 18px 48px rgba(22,37,62,.14); }
.cs-activation-label { margin-bottom:8px; padding-bottom:8px; border-bottom:1px solid #e7eaf0; color:#263044; font:700 9px/1 var(--font-mono); letter-spacing:.09em; text-transform:uppercase; }
.cs-platforms { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.cs-platform { min-height:60px; display:flex; align-items:center; gap:9px; padding:9px 10px; border:1px solid #e0e5ed; border-radius:4px; background:#fafbfc; }
.cs-platform-logo { width:32px; height:32px; flex:0 0 32px; display:grid; place-items:center; border-radius:7px; }
.cs-platform-logo img { width:27px; height:27px; object-fit:contain; }
.cs-meta-logo { color:#0866ff; font:700 29px/1 Arial,sans-serif; transform:translateY(-2px); }
.cs-linkedin-logo { background:#0a66c2; }
.cs-linkedin-logo img { width:16px; height:auto; filter:invert(1); }
.cs-platform strong { font-size:13px; white-space:nowrap; }

.cs-outcomes { top:400px; left:50%; transform:translateX(-50%); }
.cs-dashboard { width:402px; display:grid; grid-template-columns:118px 1fr; gap:20px; align-items:end; padding:15px 19px; border:1px solid rgba(45,62,89,.16); border-radius:6px; background:rgba(255,255,255,.96); box-shadow:0 17px 42px rgba(22,37,62,.12); }
.cs-metric small { color:#8b94a4; font:600 9px/1.3 var(--font-mono); letter-spacing:.07em; text-transform:uppercase; }
.cs-metric strong { display:block; margin-top:4px; font-size:29px; letter-spacing:-.04em; }
.cs-metric em { display:inline-block; margin-top:5px; padding:3px 5px; border-radius:3px; color:#168052; background:#e9f7f0; font:normal 700 9px/1 var(--font-mono); }
.cs-chart { height:76px; display:flex; align-items:end; gap:6px; border-bottom:1px solid #dfe4ec; background:repeating-linear-gradient(to top,transparent 0 24px,#edf0f4 25px); }
.cs-chart i { flex:1; height:var(--h); min-width:6px; border-radius:2px 2px 0 0; background:#b9c8ea; animation:cs-bars 2.8s ease-in-out infinite alternate; animation-delay:var(--d); transform-origin:bottom; }
.cs-chart i:nth-child(3n) { background:var(--accent); }
@keyframes cs-bars { from { transform:scaleY(.82); opacity:.75; } to { transform:scaleY(1); opacity:1; } }

.cs-flow { position:absolute; z-index:1; height:1px; background:linear-gradient(90deg,transparent,rgba(102,116,139,.32) 15%,rgba(102,116,139,.32) 85%,transparent); transform-origin:left center; }
.cs-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:cs-signal 3.6s ease-in-out infinite; animation-delay:var(--cs-flow-delay,0s); }
@keyframes cs-signal { 0% { left:12%; opacity:0; } 18% { opacity:1; } 82% { opacity:1; } 100% { left:86%; opacity:0; } }
.cs-flow-1 { top:246px; left:104px; width:207px; transform:rotate(4deg); --cs-flow-delay:-.5s; }
.cs-flow-2 { top:246px; left:310px; width:18px; transform:rotate(90deg); --cs-flow-delay:-1.6s; }
.cs-flow-3 { top:246px; left:516px; width:207px; transform:rotate(176deg); --cs-flow-delay:-2.4s; }
.cs-flow-4 { top:355px; left:310px; width:59px; transform:rotate(90deg); --cs-flow-delay:-1.1s; }
.cs-orbit { position:absolute; z-index:0; left:50%; top:47%; width:500px; height:300px; border:1px solid rgba(37,95,230,.08); border-radius:50%; transform:translate(-50%,-50%) rotate(-8deg); }
.cs-orbit::before { content:""; position:absolute; inset:34px 70px; border:1px solid rgba(37,95,230,.06); border-radius:inherit; }

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

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

@media (prefers-reduced-motion:reduce) {
  .cs-drift,.cs-flow::after,.cs-chart i { animation:none !important; }
}
