:root {
  --bg: #030307;
  --bg-2: #06060c;
  --bg-3: #0b0b14;
  --line: rgba(255,255,255,0.06);
  --line-2: rgba(255,255,255,0.1);
  --lav: #9B8EC4;
  --lav-l: #C9BEEA;
  --lav-d: #7A6BB0;
  --lav-glow: rgba(155,142,196,0.22);
  --w: #ffffff;
  --w90: rgba(255,255,255,0.92);
  --w70: rgba(255,255,255,0.7);
  --w55: rgba(255,255,255,0.55);
  --w35: rgba(255,255,255,0.35);
  --serif: 'Instrument Serif', Georgia, serif;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --max: 1240px;
  --pad: 28px;
}
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
body { background:var(--bg); color:var(--w90); font-family:var(--sans); font-size:16px; line-height:1.55; overflow-x:hidden; font-weight:400; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
img,svg { display:block; max-width:100%; }
em { font-family:var(--serif); font-style:italic; font-weight:400; letter-spacing:.005em; }
button { font-family:inherit; cursor:pointer; }
input,select,textarea { font-family:inherit; font-size:15px; }

.grain { position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.04; mix-blend-mode:overlay; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.aurora { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.aur { position:absolute; border-radius:50%; filter:blur(160px); opacity:.38; }
.a1 { width:780px; height:780px; background:radial-gradient(circle, #4A3F7A 0%, transparent 70%); top:-260px; left:-200px; animation:af 22s ease-in-out infinite; }
.a2 { width:560px; height:560px; background:radial-gradient(circle, #6B5EA8 0%, transparent 70%); top:30%; right:-160px; animation:af 26s ease-in-out infinite reverse; }
.a3 { width:680px; height:680px; background:radial-gradient(circle, #3A2F6A 0%, transparent 70%); bottom:-260px; left:30%; animation:af 30s ease-in-out infinite; }
@keyframes af { 0%,100%{transform:translate(0,0)} 50%{transform:translate(80px,-60px) scale(1.12)} }
.grid-bg { position:fixed; inset:0; z-index:0; pointer-events:none; background-image:linear-gradient(rgba(155,142,196,0.04) 1px, transparent 1px),linear-gradient(90deg, rgba(155,142,196,0.04) 1px, transparent 1px); background-size:60px 60px; mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%); }

.container { max-width:var(--max); margin:0 auto; padding:0 var(--pad); position:relative; z-index:2; }

#nav { position:fixed; top:0; left:0; right:0; z-index:100; padding:0; transition:background .35s var(--ease), backdrop-filter .35s var(--ease), border-color .35s; border-bottom:1px solid transparent; }
#nav.scrolled { background:rgba(3,3,7,0.85); backdrop-filter:blur(20px) saturate(180%); border-bottom-color:var(--line); }
.nav-inner { max-width:var(--max); margin:0 auto; padding:0 var(--pad); display:flex; align-items:center; justify-content:space-between; height:72px; }
.logo { display:inline-flex; align-items:center; }
.logo-svg { height:32px; width:auto; }
.nav-links { display:flex; align-items:center; gap:8px; }
.nav-links > li > a { font-size:14px; font-weight:500; color:var(--w70); transition:color .2s, background .2s; padding:8px 14px; border-radius:8px; display:inline-flex; align-items:center; gap:6px; }
.nav-links > li > a:hover { color:var(--w); background:rgba(255,255,255,0.04); }
.nav-cta { background:var(--w) !important; color:var(--bg) !important; padding:9px 18px !important; border-radius:8px !important; font-weight:600 !important; transition:background .2s, transform .2s !important; margin-left:8px; }
.nav-cta:hover { background:var(--lav-l) !important; transform:translateY(-1px); }
.has-mega.open > a { color:var(--w); background:rgba(255,255,255,0.06); }
.has-mega.open > a svg { transform:rotate(180deg); }
.has-mega > a svg { transition:transform .25s var(--ease); }
.hamburger { display:none; flex-direction:column; gap:4px; background:none; border:none; padding:6px; }
.hamburger span { width:22px; height:1.5px; background:var(--w); border-radius:1px; }

.mega-wrap { position:absolute; top:100%; left:0; right:0; pointer-events:none; }
.mega { position:absolute; top:0; left:0; right:0; max-width:var(--max); margin:0 auto; padding:0 var(--pad); opacity:0; transform:translateY(-8px); transition:opacity .3s var(--ease), transform .3s var(--ease); pointer-events:none; }
.mega.open { opacity:1; transform:translateY(0); pointer-events:auto; }
.mega-inner { background:rgba(8,8,14,0.97); backdrop-filter:blur(40px) saturate(180%); border:1px solid var(--line-2); border-radius:18px; padding:32px; box-shadow:0 40px 100px -20px rgba(0,0,0,.85), 0 0 0 1px rgba(155,142,196,0.06), inset 0 1px 0 rgba(255,255,255,0.04); display:grid; grid-template-columns:1fr 2.4fr; gap:32px; margin-top:8px; }
.mega-side { padding:8px 8px 8px 0; }
.ms-eyebrow { font-size:11px; font-weight:600; letter-spacing:.16em; color:var(--lav-l); text-transform:uppercase; margin-bottom:14px; }
.mega-side h4 { font-family:var(--sans); font-size:1.05rem; font-weight:500; color:var(--w90); line-height:1.4; margin-bottom:18px; letter-spacing:-.01em; }
.ms-link { display:inline-flex; align-items:center; font-size:13px; color:var(--lav-l); font-weight:500; gap:4px; transition:gap .2s, color .2s; }
.ms-link:hover { color:var(--w); gap:8px; }
.mega-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.mega-card { position:relative; padding:20px; background:rgba(255,255,255,0.025); border:1px solid var(--line); border-radius:12px; transition:border-color .3s, background .3s; overflow:hidden; display:block; }
.mega-card:hover { border-color:rgba(155,142,196,0.35); background:rgba(155,142,196,0.06); }
.mc-bg { position:absolute; inset:0; opacity:.18; transition:opacity .4s; pointer-events:none; }
.mega-card:hover .mc-bg { opacity:.4; }
.mc-software .mc-bg, .mc-iot .mc-bg { background:radial-gradient(circle at 80% 20%, #6ED9E4 0%, transparent 50%), linear-gradient(135deg,transparent,#9B8EC4 200%); }
.mc-steel .mc-bg { background:radial-gradient(circle at 80% 20%, #ff7a3a 0%, transparent 50%), linear-gradient(135deg,transparent,#9B8EC4 200%); }
.mc-pharma .mc-bg { background:radial-gradient(circle at 80% 20%, #4ade80 0%, transparent 50%), linear-gradient(135deg,transparent,#9B8EC4 200%); }
.mc-re .mc-bg { background:radial-gradient(circle at 80% 20%, #f59e0b 0%, transparent 50%), linear-gradient(135deg,transparent,#9B8EC4 200%); }
.mc-mfg .mc-bg { background:radial-gradient(circle at 80% 20%, #ec4899 0%, transparent 50%), linear-gradient(135deg,transparent,#9B8EC4 200%); }
.mc-custom .mc-bg, .mprod .mc-bg, .msvc .mc-bg { background:radial-gradient(circle at 80% 20%, #9B8EC4 0%, transparent 50%); }
.mc-num { font-family:var(--serif); font-style:italic; font-size:22px; color:var(--lav-l); margin-bottom:10px; position:relative; z-index:1; }
.mega-card h5 { font-size:.98rem; font-weight:600; color:var(--w); margin-bottom:6px; position:relative; z-index:1; letter-spacing:-.01em; }
.mega-card p { font-size:.82rem; color:var(--w55); line-height:1.5; position:relative; z-index:1; }
.mc-arrow { position:absolute; top:18px; right:18px; color:var(--w35); font-size:16px; transition:color .3s, transform .3s; z-index:1; }
.mega-card:hover .mc-arrow { color:var(--lav-l); transform:translate(2px,-2px); }
.mega-grid-svc, .mega-grid-prod { grid-template-columns:repeat(3,1fr); }
.msvc-icon { font-size:18px; color:var(--lav); margin-bottom:10px; line-height:1; position:relative; z-index:1; }
.mprod-tag { font-size:9px; font-weight:600; letter-spacing:.14em; color:var(--lav-l); text-transform:uppercase; margin-bottom:8px; position:relative; z-index:1; }

#hero { position:relative; padding:140px 0 80px; overflow:hidden; }
.hero-wrap { display:flex; flex-direction:column; align-items:center; text-align:center; max-width:920px; margin:0 auto; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:10px; padding:6px 16px; background:rgba(255,255,255,0.04); border:1px solid var(--line); border-radius:100px; font-size:12px; font-weight:500; letter-spacing:.01em; color:var(--w70); margin-bottom:36px; }
.dot { width:6px; height:6px; background:var(--lav); border-radius:50%; box-shadow:0 0 12px var(--lav); animation:pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1; transform:scale(1)} 50%{opacity:.4; transform:scale(1.4)} }
.hero-h1 { font-family:var(--sans); font-size:clamp(2.6rem,6.4vw,5.4rem); font-weight:600; line-height:1.02; letter-spacing:-.04em; color:var(--w); margin-bottom:28px; }
.hero-h1 .line { display:block; overflow:hidden; }
.hero-h1 .word { display:inline-block; }
.hero-sub { font-size:clamp(1.05rem,1.4vw,1.2rem); color:var(--w70); max-width:620px; margin-bottom:36px; line-height:1.55; }
.hero-cta { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-bottom:60px; }
.btn-primary { display:inline-flex; align-items:center; gap:8px; background:var(--w); color:var(--bg); padding:14px 24px; border-radius:10px; font-size:14px; font-weight:600; border:none; transition:transform .2s var(--ease), background .2s, box-shadow .3s; letter-spacing:-.005em; position:relative; overflow:hidden; }
.btn-primary::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, var(--lav-l), var(--w)); opacity:0; transition:opacity .3s; }
.btn-primary:hover::before { opacity:1; }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 10px 30px -10px rgba(201,190,234,.5); }
.btn-primary > * { position:relative; z-index:1; }
.btn-secondary { display:inline-flex; align-items:center; gap:8px; background:transparent; color:var(--w90); padding:14px 24px; border-radius:10px; font-size:14px; font-weight:500; border:1px solid var(--line-2); transition:background .2s, border-color .2s, transform .2s; }
.btn-secondary:hover { background:rgba(255,255,255,0.04); border-color:var(--w35); transform:translateY(-2px); }
.btn-full { width:100%; justify-content:center; padding:16px 24px; }

.hero-meta { display:flex; align-items:center; gap:28px; padding:18px 28px; background:rgba(255,255,255,0.025); border:1px solid var(--line); border-radius:14px; }
.hm-item { display:flex; align-items:baseline; gap:6px; font-size:14px; color:var(--w70); }
.hm-v { font-family:var(--sans); font-size:22px; font-weight:600; color:var(--w); letter-spacing:-.02em; }
.hm-l { font-size:12px; color:var(--w55); margin-left:6px; }
.hm-d { width:1px; height:24px; background:var(--line-2); }

.hero-mock-wrap { width:100%; max-width:1180px; margin:80px auto 0; padding:0 var(--pad); perspective:2400px; position:relative; z-index:2; }
.mock-frame { background:rgba(11,11,20,0.78); border:1px solid var(--line-2); border-radius:16px; box-shadow:0 40px 100px -20px rgba(0,0,0,.7), 0 0 0 1px rgba(155,142,196,0.08), inset 0 1px 0 rgba(255,255,255,0.05); overflow:hidden; backdrop-filter:blur(24px); transform:rotateX(12deg); transition:transform .5s var(--ease); position:relative; z-index:2; }
.mock-glow { position:absolute; inset:-40px; background:radial-gradient(ellipse at center, rgba(155,142,196,0.25) 0%, transparent 60%); filter:blur(40px); z-index:1; opacity:.6; }
.mock-bar { display:flex; align-items:center; gap:8px; padding:12px 16px; border-bottom:1px solid var(--line); background:rgba(255,255,255,0.02); }
.mock-bar > span:not(.mb-url):not(.mb-tag) { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,0.12); }
.mb-url { margin-left:14px; font-size:11px; color:var(--w55); font-family:'SF Mono', monospace; flex:1; }
.mb-tag { font-size:10px; padding:2px 8px; background:rgba(74,222,128,.15); color:#4ade80; border-radius:4px; font-weight:600; letter-spacing:.08em; }
.mock-grid { display:grid; grid-template-columns:220px 1fr; min-height:440px; }
.mock-side { border-right:1px solid var(--line); padding:20px 14px; background:rgba(255,255,255,0.015); }
.ms-title { font-size:10px; letter-spacing:.15em; color:var(--w35); font-weight:600; padding:0 10px 12px; }
.ms-item { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:8px; font-size:13px; color:var(--w70); transition:background .15s; cursor:pointer; }
.ms-item:hover { background:rgba(255,255,255,0.04); }
.ms-item.active { background:rgba(155,142,196,0.14); color:var(--w); }
.dotg { width:7px; height:7px; border-radius:50%; background:#4ade80; box-shadow:0 0 8px #4ade80; }
.dotg.amb { background:#fbbf24; box-shadow:0 0 8px #fbbf24; }
.ms-divider { height:1px; background:var(--line); margin:14px 10px; }
.ms-meta { padding:6px 12px; font-size:12px; color:var(--w55); display:flex; justify-content:space-between; }
.mock-main { padding:24px; display:flex; flex-direction:column; gap:18px; }
.mm-row { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.mm-stat { padding:16px; background:rgba(255,255,255,0.03); border:1px solid var(--line); border-radius:10px; }
.mms-l { font-size:11px; color:var(--w55); text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; }
.mms-v { font-size:24px; font-weight:600; color:var(--w); letter-spacing:-.02em; }
.mms-d { font-size:11px; color:var(--w55); margin-top:4px; }
.mms-d.up { color:#4ade80; }
.mm-chart { height:160px; padding:8px; background:rgba(255,255,255,0.02); border:1px solid var(--line); border-radius:10px; }
.mm-chart svg { width:100%; height:100%; }
.chartline { stroke-dasharray:1500; stroke-dashoffset:1500; animation:draw 3s ease-out forwards; animation-delay:1.5s; }
@keyframes draw { to { stroke-dashoffset:0; } }
.mm-logs { display:flex; flex-direction:column; gap:6px; }
.mm-log { display:flex; align-items:center; gap:12px; padding:8px 12px; background:rgba(255,255,255,0.02); border-left:2px solid var(--lav); border-radius:4px; font-size:12px; font-family:'SF Mono', monospace; color:var(--w70); }
.lt { color:var(--w35); }
.ll { padding:1px 6px; border-radius:3px; font-weight:600; font-size:10px; }
.ll.ok { background:rgba(74,222,128,.15); color:#4ade80; }
.ll.inf { background:rgba(155,142,196,.18); color:var(--lav-l); }
.ll.warn { background:rgba(251,191,36,.15); color:#fbbf24; }

.logos-strip { padding:80px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(0,0,0,.4); position:relative; z-index:2; }
.logos-label { text-align:center; font-size:12px; color:var(--w55); letter-spacing:.12em; text-transform:uppercase; margin-bottom:32px; font-weight:500; }
.logos-marquee { overflow:hidden; mask-image:linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%); }
.lm-track { display:flex; align-items:center; gap:48px; animation:scroll 40s linear infinite; width:max-content; }
.lm-item { font-family:var(--sans); font-weight:600; font-size:18px; letter-spacing:.12em; color:var(--w35); white-space:nowrap; transition:color .3s; }
.lm-item:hover { color:var(--w70); }
.lm-dot { color:var(--lav); font-size:6px; }
@keyframes scroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }

.pin-section { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:0 var(--pad); position:relative; z-index:2; }
.bigtext-wrap { text-align:center; }
.bigtext-h { font-family:var(--sans); font-size:clamp(2.5rem,8vw,7rem); font-weight:600; line-height:1.05; letter-spacing:-.045em; color:var(--w); }
.bt-line { display:block; opacity:.18; transition:opacity .4s; }
.bt-line.is-active { opacity:1; }
.bt-line em { color:var(--lav-l); }

.section { padding:140px 0; position:relative; z-index:2; }
.section-alt { background:linear-gradient(180deg, transparent, rgba(155,142,196,0.025) 50%, transparent); }
.sec-head { max-width:760px; margin-bottom:80px; }
.eyebrow { display:inline-block; font-size:11px; font-weight:600; letter-spacing:.16em; color:var(--lav-l); text-transform:uppercase; margin-bottom:20px; }
.sec-title { font-size:clamp(2rem,4.4vw,3.6rem); font-weight:600; line-height:1.05; letter-spacing:-.03em; color:var(--w); margin-bottom:24px; }
.sec-sub { font-size:1.1rem; color:var(--w70); max-width:580px; line-height:1.55; }

.cap-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cap-card { padding:36px 32px; background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015)); border:1px solid var(--line); border-radius:16px; transition:border-color .35s, background .35s; position:relative; overflow:hidden; }
.cap-glow { position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:radial-gradient(circle at center, rgba(155,142,196,.18) 0%, transparent 30%); opacity:0; transition:opacity .5s; pointer-events:none; }
.cap-card:hover .cap-glow { opacity:1; }
.cap-card:hover { border-color:rgba(155,142,196,0.3); }
.cap-card::after { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, rgba(201,190,234,0.4), transparent); opacity:0; transition:opacity .4s; }
.cap-card:hover::after { opacity:1; }
.cap-card > * { position:relative; z-index:1; }
.cap-num { font-family:var(--serif); font-size:42px; color:var(--lav); margin-bottom:24px; line-height:1; font-style:italic; }
.cap-card h3 { font-size:1.4rem; font-weight:600; color:var(--w); margin-bottom:12px; letter-spacing:-.015em; }
.cap-card p { color:var(--w70); font-size:.95rem; margin-bottom:20px; line-height:1.6; }
.cap-list li { font-size:.88rem; color:var(--w55); padding:6px 0; border-top:1px solid var(--line); display:flex; align-items:center; gap:10px; }
.cap-list li::before { content:''; width:4px; height:4px; background:var(--lav); border-radius:50%; }

.metrics-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:80px; }
.metric { padding:36px 28px; background:rgba(255,255,255,0.025); border:1px solid var(--line); border-radius:14px; }
.metric-v { font-size:clamp(2.4rem,4.4vw,3.6rem); font-weight:600; color:var(--w); letter-spacing:-.035em; line-height:1; background:linear-gradient(135deg, var(--w), var(--lav-l)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; margin-bottom:14px; }
.metric-l { font-size:.9rem; color:var(--w55); line-height:1.5; }
.quotes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.quote { padding:32px 28px; background:rgba(255,255,255,0.025); border:1px solid var(--line); border-radius:14px; transition:border-color .3s; }
.quote:hover { border-color:rgba(155,142,196,.25); }
.quote p { color:var(--w90); line-height:1.55; margin-bottom:24px; font-style:italic; font-family:var(--serif); font-size:1.25rem; }
.quote footer { display:flex; flex-direction:column; gap:2px; padding-top:18px; border-top:1px solid var(--line); }
.quote strong { font-size:.92rem; color:var(--w); font-weight:600; font-style:normal; }
.quote span { font-size:.82rem; color:var(--w55); }

.proc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; }
.proc { padding:32px 28px; background:rgba(255,255,255,0.025); border:1px solid var(--line); border-radius:14px; transition:border-color .3s, background .3s; position:relative; }
.proc:hover { border-color:rgba(155,142,196,.3); background:rgba(155,142,196,0.06); }
.proc-line { position:absolute; top:50px; right:-22px; width:18px; height:1px; background:linear-gradient(90deg, var(--lav), transparent); }
.proc-n { font-family:var(--serif); font-size:38px; color:var(--lav); font-style:italic; margin-bottom:18px; line-height:1; }
.proc h3 { font-size:1.25rem; color:var(--w); margin-bottom:10px; font-weight:600; letter-spacing:-.015em; }
.proc p { font-size:.9rem; color:var(--w70); margin-bottom:18px; line-height:1.55; }
.proc ul li { font-size:.82rem; color:var(--w55); padding:5px 0; border-top:1px solid var(--line); display:flex; gap:8px; }
.proc ul li::before { content:'·'; color:var(--lav); font-weight:bold; }

.section-cta { padding:120px 0; }
.cta-wrap { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; padding:60px; background:linear-gradient(135deg, rgba(155,142,196,0.1), rgba(155,142,196,0.02)); border:1px solid rgba(155,142,196,0.2); border-radius:24px; backdrop-filter:blur(20px); position:relative; overflow:hidden; }
.cta-wrap::before { content:''; position:absolute; top:-100px; right:-100px; width:300px; height:300px; background:radial-gradient(circle, var(--lav-glow), transparent 70%); filter:blur(40px); }
.cta-wrap > * { position:relative; z-index:1; }
.cta-list { margin-top:32px; display:flex; flex-direction:column; gap:12px; }
.cta-list li { display:flex; align-items:center; gap:12px; color:var(--w90); font-size:.95rem; }
.cta-list li span { width:22px; height:22px; background:var(--lav); color:var(--bg); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; flex-shrink:0; }
.cta-form { display:flex; flex-direction:column; gap:14px; }
.cta-form .row label { display:flex; flex-direction:column; gap:6px; font-size:12px; color:var(--w70); font-weight:500; letter-spacing:.02em; }
.cta-form input, .cta-form select, .cta-form textarea { padding:12px 14px; background:rgba(0,0,0,0.35); border:1px solid var(--line); border-radius:8px; color:var(--w); transition:border-color .2s, background .2s; outline:none; font-family:inherit; resize:vertical; }
.cta-form input:focus, .cta-form select:focus, .cta-form textarea:focus { border-color:var(--lav); background:rgba(0,0,0,.5); }
.cta-form select { cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 5l3 3 3-3' stroke='%23999' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; }
.btn-full { width:100%; justify-content:center; }
#lead-submit-btn:disabled { opacity:.65; cursor:not-allowed; transform:none !important; }
.form-msg { margin-top:4px; padding:12px 16px; border-radius:8px; font-size:13px; font-weight:500; line-height:1.5; }
.form-msg--ok { background:rgba(74,222,128,0.1); border:1px solid rgba(74,222,128,0.25); color:#4ade80; }
.form-msg--err { background:rgba(248,113,113,0.1); border:1px solid rgba(248,113,113,0.25); color:#f87171; }

#footer { padding:80px 0 40px; border-top:1px solid var(--line); position:relative; z-index:2; background:rgba(0,0,0,.4); }
.footer-wrap { display:grid; grid-template-columns:1.5fr 2fr; gap:80px; margin-bottom:60px; }
.footer-brand p { color:var(--w55); font-size:.9rem; max-width:320px; margin-top:18px; line-height:1.6; }
.footer-cols { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.footer-cols h5 { font-size:12px; color:var(--w); font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin-bottom:18px; }
.footer-cols ul { display:flex; flex-direction:column; gap:10px; }
.footer-cols a { font-size:.88rem; color:var(--w55); transition:color .2s; }
.footer-cols a:hover { color:var(--w); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:32px; border-top:1px solid var(--line); font-size:.82rem; color:var(--w35); }

.reveal-up, .reveal-up.is-in { opacity:1 !important; transform:none !important; animation:none !important; }
.hero-h1 .word { display:inline-block; opacity:1 !important; transform:none !important; }

/* INDUSTRY PAGES */
.ind-page-hero { padding:160px 0 80px; position:relative; }
.ind-page-hero .container { display:flex; flex-direction:column; align-items:flex-start; max-width:920px; }
.ind-back { font-size:13px; color:var(--w55); margin-bottom:24px; display:inline-flex; align-items:center; gap:6px; transition:color .2s, gap .2s; }
.ind-back:hover { color:var(--w); gap:10px; }
.ind-page-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:6px 14px; background:rgba(155,142,196,.1); border:1px solid rgba(155,142,196,.25); border-radius:100px; font-size:12px; color:var(--lav-l); font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin-bottom:24px; }
.ind-page-title { font-size:clamp(2.4rem,5.6vw,4.6rem); font-weight:600; line-height:1.04; letter-spacing:-.035em; color:var(--w); margin-bottom:24px; }
.ind-page-sub { font-size:1.15rem; color:var(--w70); max-width:640px; margin-bottom:36px; line-height:1.55; }
.ind-page-cta { display:flex; gap:14px; margin-bottom:60px; }
.ind-hero-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:0; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); width:100%; max-width:720px; }
.ihs { padding:0 24px; border-right:1px solid var(--line); }
.ihs:last-child { border-right:none; }
.ihs-v { font-size:1.8rem; font-weight:600; color:var(--w); letter-spacing:-.02em; line-height:1; margin-bottom:6px; }
.ihs-l { font-size:12px; color:var(--w55); }

.svc-section { padding:120px 0; }
.svc-grid-page { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.svc-card { padding:32px 28px; background:linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.012)); border:1px solid var(--line); border-radius:14px; transition:border-color .35s, background .35s; position:relative; overflow:hidden; }
.svc-card:hover { border-color:rgba(155,142,196,0.32); background:linear-gradient(180deg, rgba(155,142,196,0.06), rgba(255,255,255,0.012)); }
.svc-card::after { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, rgba(201,190,234,0.4), transparent); opacity:0; transition:opacity .35s; }
.svc-card:hover::after { opacity:1; }
.svc-icon { width:48px; height:48px; background:rgba(155,142,196,0.12); border:1px solid rgba(155,142,196,0.2); border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:20px; color:var(--lav-l); font-size:20px; font-weight:600; }
.svc-card h3 { font-size:1.15rem; color:var(--w); margin-bottom:10px; font-weight:600; letter-spacing:-.015em; }
.svc-card p { font-size:.92rem; color:var(--w70); line-height:1.55; margin-bottom:14px; }
.svc-tags { display:flex; flex-wrap:wrap; gap:6px; }
.svc-tag { font-size:10px; color:var(--w55); padding:3px 8px; background:rgba(255,255,255,.04); border:1px solid var(--line); border-radius:100px; letter-spacing:.04em; }

.product-spot { padding:120px 0; }
.product-spot-wrap { display:grid; grid-template-columns:1fr 1.2fr; gap:60px; align-items:center; padding:60px; background:linear-gradient(135deg, rgba(155,142,196,0.08), rgba(155,142,196,0.02)); border:1px solid rgba(155,142,196,0.18); border-radius:24px; }
.ps-tag { font-size:11px; color:var(--lav-l); letter-spacing:.16em; font-weight:600; text-transform:uppercase; margin-bottom:14px; }
.product-spot h2 { font-size:2.4rem; font-weight:600; color:var(--w); margin-bottom:16px; letter-spacing:-.03em; }
.product-spot > .product-spot-wrap > div > p { color:var(--w70); margin-bottom:20px; line-height:1.55; }
.ps-features { display:flex; flex-direction:column; gap:10px; margin-top:20px; }
.psf { display:flex; gap:12px; align-items:flex-start; font-size:.92rem; color:var(--w90); }
.psf::before { content:'◆'; color:var(--lav); flex-shrink:0; margin-top:2px; }
.ind-vis-card { background:rgba(11,11,20,0.78); border:1px solid var(--line-2); border-radius:16px; padding:24px; backdrop-filter:blur(20px); box-shadow:0 30px 80px -20px rgba(0,0,0,.6); }

.case-section { padding:120px 0; }
.case-card { padding:60px; background:rgba(255,255,255,0.025); border:1px solid var(--line); border-radius:24px; }
.case-card blockquote p { font-family:var(--serif); font-size:1.8rem; line-height:1.4; color:var(--w); margin-bottom:32px; font-style:italic; letter-spacing:-.01em; }
.case-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding-top:32px; border-top:1px solid var(--line); }
.cs-item { }
.cs-v { font-size:2rem; font-weight:600; color:var(--w); letter-spacing:-.025em; line-height:1; margin-bottom:6px; background:linear-gradient(135deg, var(--w), var(--lav-l)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.cs-l { font-size:.85rem; color:var(--w55); }
.case-foot { display:flex; align-items:center; gap:14px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.case-avatar { width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg, var(--lav-d), var(--lav-l)); display:flex; align-items:center; justify-content:center; color:var(--w); font-weight:600; }
.case-foot strong { display:block; font-size:.95rem; color:var(--w); }
.case-foot span { font-size:.82rem; color:var(--w55); }

.related-section { padding:120px 0 80px; }
.related-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.related-card { padding:24px; background:rgba(255,255,255,0.025); border:1px solid var(--line); border-radius:14px; transition:border-color .35s, background .35s; }
.related-card:hover { border-color:rgba(155,142,196,.32); background:rgba(155,142,196,.06); }
.related-card .ic-tag { font-size:10px; letter-spacing:.14em; color:var(--lav-l); font-weight:600; text-transform:uppercase; margin-bottom:8px; }
.related-card h4 { font-size:1rem; color:var(--w); margin-bottom:8px; font-weight:600; }
.related-card p { font-size:.85rem; color:var(--w55); line-height:1.5; }

@media (max-width:1024px) {
  .cap-grid, .quotes-grid { grid-template-columns:repeat(2,1fr); }
  .metrics-grid, .proc-grid, .svc-grid-page { grid-template-columns:repeat(2,1fr); }
  .cta-wrap, .footer-wrap, .product-spot-wrap { grid-template-columns:1fr; gap:48px; }
  .footer-cols { grid-template-columns:repeat(3,1fr); }
  .mega-inner { grid-template-columns:1fr; }
  .mega-grid { grid-template-columns:repeat(2,1fr); }
  .related-grid { grid-template-columns:repeat(2,1fr); }
  .proc-line { display:none; }
}
@media (max-width:760px) {
  .nav-links { display:none; }
  .hamburger { display:flex; }
  .hero-h1 { font-size:2.4rem; }
  .hero-meta { flex-direction:column; gap:14px; padding:18px; }
  .hm-d { display:none; }
  .mock-grid { grid-template-columns:1fr; }
  .mock-side { display:none; }
  .mm-row { grid-template-columns:1fr; }
  .cap-grid, .quotes-grid, .metrics-grid, .proc-grid, .svc-grid-page { grid-template-columns:1fr; }
  .footer-cols { grid-template-columns:1fr; gap:32px; }
  .footer-bottom { flex-direction:column; gap:12px; }
  .cta-wrap, .case-card, .product-spot-wrap { padding:32px 24px; }
  .section, .svc-section, .product-spot, .case-section, .related-section { padding:80px 0; }
  .related-grid { grid-template-columns:1fr; }
  .ind-hero-stats { grid-template-columns:1fr; gap:14px; }
  .ihs { border-right:none; border-bottom:1px solid var(--line); padding:14px 0; }
  .ihs:last-child { border-bottom:none; }
}

/* ===== FUTURISTIC EFFECTS v4.1 ===== */
/* Vignette over background to deepen edges */
body::before { content:''; position:fixed; inset:0; z-index:0; pointer-events:none; background:radial-gradient(ellipse at center, transparent 0%, transparent 40%, rgba(0,0,0,0.65) 100%); }

/* Beam light running down on key sections */
.beam { position:absolute; top:0; left:50%; width:1px; height:100%; background:linear-gradient(180deg, transparent, rgba(201,190,234,0.3) 50%, transparent); pointer-events:none; opacity:.5; }
.beam.b2 { left:20%; opacity:.25; }
.beam.b3 { left:80%; opacity:.25; }

/* Scan-line accent for sections */
.scan { position:absolute; left:0; right:0; top:0; height:1px; background:linear-gradient(90deg, transparent, rgba(201,190,234,0.5) 50%, transparent); pointer-events:none; }

/* Section divider gradient line */
.section, .svc-section, .product-spot, .case-section, .related-section { position:relative; }
.section::before, .svc-section::before, .product-spot::before, .case-section::before { content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:60%; max-width:600px; height:1px; background:linear-gradient(90deg, transparent, rgba(155,142,196,0.18), transparent); }

/* Gradient text on sec titles */
.sec-title em { background:linear-gradient(135deg, var(--lav-l), var(--lav)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* Cap-card content badges */
.cap-num { background:linear-gradient(135deg, var(--lav-l), var(--lav-d)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

/* Animated dotted border for primary button */
.btn-primary::after { content:''; position:absolute; inset:0; border-radius:10px; padding:1px; background:linear-gradient(135deg, rgba(201,190,234,0.6), transparent 50%, rgba(201,190,234,0.6)); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; transition:opacity .3s; }
.btn-primary:hover::after { opacity:1; }

/* Floating particles */
.particles { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.particle { position:absolute; width:3px; height:3px; border-radius:50%; background:var(--lav-l); opacity:.0; box-shadow:0 0 8px var(--lav-l); animation:particleFloat 18s linear infinite; }
@keyframes particleFloat {
  0% { transform:translateY(110vh) translateX(0); opacity:0; }
  10% { opacity:.6; }
  50% { transform:translateY(40vh) translateX(40px); opacity:.4; }
  90% { opacity:.5; }
  100% { transform:translateY(-10vh) translateX(80px); opacity:0; }
}

/* Logo extra polish */
.logo-svg .logo-orb { transform-origin:16px 16px; animation:logoSpin 18s linear infinite; }
@keyframes logoSpin { to { transform:rotate(360deg); } }

/* Mega menu image accent */
.mega-card { transition:border-color .35s, background .35s; }
.mega-card::before { content:''; position:absolute; inset:0; background:radial-gradient(80% 60% at 50% 0%, rgba(201,190,234,0.0), transparent); transition:background .35s; pointer-events:none; }
.mega-card:hover::before { background:radial-gradient(80% 60% at 50% 0%, rgba(201,190,234,0.06), transparent); }

/* Mega menu image-style cards: stronger faded background images */
.mega-card .mc-bg { opacity:.22; }
.mega-card:hover .mc-bg { opacity:.55; }

/* Improve mega border opacity */
.mega-inner { background:rgba(5,5,10,0.985); }

/* Section background slight gradient */
#capabilities, #process { background:linear-gradient(180deg, transparent, rgba(155,142,196,0.018) 50%, transparent); }

/* Hover shimmer on quote */
.quote { position:relative; overflow:hidden; transition:border-color .35s; }
.quote::after { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, rgba(201,190,234,0.4), transparent); opacity:0; transition:opacity .35s; }
.quote:hover::after { opacity:1; }

/* Process card connector dot */
.proc { transition:border-color .3s, background .3s; }
.proc-n { background:linear-gradient(135deg, var(--lav-l), var(--lav-d)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

/* Mock frame stronger glow */
.mock-glow { background:radial-gradient(ellipse at center, rgba(155,142,196,0.32) 0%, transparent 60%); opacity:.75; }

/* Mega card stronger hover */
.mega-card:hover { transform:none; }

/* Hero meta number gradient */
.hm-v { background:linear-gradient(135deg, var(--w), var(--lav-l)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

/* Section eyebrow with accent line */
.eyebrow { position:relative; padding-left:28px; }
.eyebrow::before { content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:18px; height:1px; background:var(--lav); }

/* Bigtext line accent */
.bt-line { transition:opacity .5s var(--ease), transform .5s var(--ease); transform:translateY(10px); }
.bt-line.is-active { transform:translateY(0); }

/* Stronger industry hero mock */
.ind-vis-card { box-shadow:0 40px 100px -20px rgba(0,0,0,.7), 0 0 0 1px rgba(155,142,196,0.08), inset 0 1px 0 rgba(255,255,255,0.05); position:relative; overflow:hidden; }
.ind-vis-card::before { content:''; position:absolute; top:-1px; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, rgba(201,190,234,0.5), transparent); }
.product-spot-wrap { position:relative; overflow:hidden; }
.product-spot-wrap::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, rgba(201,190,234,0.4), transparent); }

/* Cap-card description show on visible */
.cap-card .cap-list li:hover { color:var(--w90); }

/* Footer accent */
#footer { background:linear-gradient(180deg, transparent, rgba(0,0,0,.6)); }

/* ========== CINEMATIC STACK SECTION ========== */
.section-stack { padding:160px 0 140px; position:relative; overflow:hidden; }
.section-stack::after { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 80% 60% at 50% 30%, rgba(155,142,196,0.06), transparent 60%); }
.stack-aurora { position:absolute; top:-200px; left:50%; transform:translateX(-50%); width:1200px; height:600px; background:radial-gradient(ellipse, rgba(155,142,196,0.25) 0%, transparent 60%); filter:blur(80px); pointer-events:none; opacity:.7; animation:stackBreath 8s ease-in-out infinite; }
@keyframes stackBreath { 0%,100%{opacity:.5;transform:translateX(-50%) scale(1)} 50%{opacity:.85;transform:translateX(-50%) scale(1.08)} }
.sec-head-center { margin-left:auto; margin-right:auto; text-align:center; }
.sec-head-center .eyebrow::before { display:none; }
.sec-head-center .eyebrow { padding-left:0; }
.sec-head-center .sec-sub { margin-left:auto; margin-right:auto; }

.stack-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; position:relative; z-index:2; }
.stack-card {
  position:relative;
  padding:0 0 32px;
  background:linear-gradient(180deg, rgba(20,18,40,0.55) 0%, rgba(8,8,18,0.85) 100%);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:20px;
  overflow:hidden;
  isolation:isolate;
  transition:border-color .5s var(--ease), background .5s var(--ease), box-shadow .5s var(--ease);
  box-shadow:0 30px 60px -30px rgba(0,0,0,0.7), inset 0 1px 0 rgba(255,255,255,0.04);
}
.stack-card::before {
  content:''; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .55s var(--ease);
  background:radial-gradient(60% 40% at 50% 0%, rgba(201,190,234,0.18), transparent 70%);
}
.stack-card::after {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(201,190,234,0.7) 50%, transparent);
  opacity:.4; transition:opacity .4s;
}
.stack-card:hover { border-color:rgba(201,190,234,0.32); box-shadow:0 40px 90px -25px rgba(78,60,140,0.55), inset 0 1px 0 rgba(201,190,234,0.12); }
.stack-card:hover::before { opacity:1; }
.stack-card:hover::after { opacity:1; }

.stack-illu {
  position:relative; width:100%; height:200px;
  background:linear-gradient(180deg, rgba(155,142,196,0.10) 0%, rgba(8,8,18,0.0) 100%);
  border-bottom:1px solid rgba(255,255,255,0.05);
  overflow:hidden;
}
.stack-illu::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 20% 30%, rgba(201,190,234,0.18), transparent 50%),
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size:auto, 22px 22px, 22px 22px;
  mask-image:radial-gradient(ellipse at center, black 50%, transparent 95%);
}
.stack-illu svg { position:relative; width:100%; height:100%; display:block; z-index:1; }

.stk-orbit { animation:stkSpin 28s linear infinite; transform-origin:160px 100px; transform-box:fill-box; }
.stack-illu svg .stk-orbit { transform-origin:50% 50%; }
@keyframes stkSpin { to { transform:rotate(360deg); } }
.stk-pulse circle { animation:stkPulse 2.4s ease-out infinite; transform-origin:160px 100px; }
@keyframes stkPulse { 0%{opacity:.9; r:14} 100%{opacity:0; r:80} }
.stk-bars rect { animation:stkBarRise 4s ease-in-out infinite; transform-origin:bottom; }
.stk-bars rect:nth-child(2n) { animation-delay:.4s; }
.stk-bars rect:nth-child(3n) { animation-delay:.8s; }
@keyframes stkBarRise { 0%,100%{transform:scaleY(.85)} 50%{transform:scaleY(1.05)} }
.stk-rings circle:nth-child(1) { animation:stkRing 3s ease-in-out infinite; }
.stk-rings circle:nth-child(2) { animation:stkRing 3s ease-in-out infinite .4s; }
.stk-rings circle:nth-child(3) { animation:stkRing 3s ease-in-out infinite .8s; }
.stk-rings circle:nth-child(4) { animation:stkRing 3s ease-in-out infinite 1.2s; }
@keyframes stkRing { 0%,100%{stroke-opacity:var(--so,.2)} 50%{stroke-opacity:.55} }
.stk-sat { animation:stkOrbit1 6s linear infinite; transform-origin:160px 100px; }
.stk-sat2 { animation:stkOrbit2 9s linear infinite; transform-origin:160px 100px; }
.stk-sat3 { animation:stkOrbit3 7s linear infinite reverse; transform-origin:160px 100px; }
@keyframes stkOrbit1 { to { transform:rotate(360deg); } }
@keyframes stkOrbit2 { to { transform:rotate(360deg); } }
@keyframes stkOrbit3 { to { transform:rotate(360deg); } }
.stk-core { animation:stkCoreBeat 2s ease-in-out infinite; transform-origin:160px 100px; }
@keyframes stkCoreBeat { 0%,100%{transform:scale(1)} 50%{transform:scale(1.08)} }

.stack-meta { display:flex; align-items:center; gap:10px; padding:24px 28px 8px; }
.stk-num { font-family:var(--serif); font-style:italic; font-size:30px; line-height:1; background:linear-gradient(135deg, var(--lav-l), var(--lav-d)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.stk-tag { font-size:10px; font-weight:600; letter-spacing:.2em; color:var(--w55); padding:4px 10px; border:1px solid rgba(255,255,255,0.08); border-radius:100px; background:rgba(255,255,255,0.025); }
.stack-card h3 { padding:0 28px; font-size:1.5rem; font-weight:600; color:var(--w); margin:8px 0 12px; letter-spacing:-.02em; line-height:1.2; }
.stack-card > p { padding:0 28px; color:var(--w70); font-size:.95rem; line-height:1.55; margin-bottom:22px; }
.stack-list { padding:18px 28px 0; margin:0 28px; border-top:1px solid rgba(255,255,255,0.06); display:flex; flex-direction:column; gap:10px; }
.stack-list li { display:flex; align-items:center; gap:12px; font-size:.9rem; color:var(--w70); }
.li-bullet { width:6px; height:6px; border-radius:50%; background:var(--lav-l); box-shadow:0 0 10px var(--lav-l); flex-shrink:0; }

@media (max-width:1024px) {
  .stack-grid { grid-template-columns:1fr; }
  .section-stack { padding:120px 0 100px; }
}

/* ========== CINEMATIC PAGE-LEVEL UPGRADES ========== */
/* Deeper top-of-page shadow */
body { background:radial-gradient(ellipse 100% 60% at 50% -10%, rgba(74,63,122,0.18), transparent 60%), var(--bg); }

/* Cinematic horizontal section divider */
.section-stack + #proof::before, #proof + #process::before, #process + #contact::before { width:80%; max-width:800px; height:1px; background:linear-gradient(90deg, transparent, rgba(201,190,234,0.32), transparent); }

/* Stronger ambient particles density on stack section */
.section-stack .stack-aurora + ::before { display:block; }

/* Hero-after dark gradient transition */
#hero { box-shadow:0 80px 120px -40px rgba(0,0,0,.5); }

/* ========== SCALE.COM-STYLE PINNED PIPELINE ========== */
.pipeline-section { position:relative; height:380vh; z-index:2; }
.pipeline-pin { position:relative; height:100vh; overflow:hidden; display:flex; align-items:center; }
.pipe-bg { position:absolute; inset:0; pointer-events:none; z-index:0; }
.pipe-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(155,142,196,0.06) 1px, transparent 1px),linear-gradient(90deg, rgba(155,142,196,0.06) 1px, transparent 1px); background-size:80px 80px; mask-image:radial-gradient(ellipse at center, black 30%, transparent 80%); }
.pipe-aur { position:absolute; border-radius:50%; filter:blur(120px); opacity:.45; }
.pipe-aur.a { width:600px; height:600px; background:radial-gradient(circle, #6B5EA8 0%, transparent 70%); top:-100px; left:-100px; }
.pipe-aur.b { width:520px; height:520px; background:radial-gradient(circle, #4A3F7A 0%, transparent 70%); bottom:-100px; right:-100px; }
.pipe-wrap { display:grid; grid-template-columns:1fr 1.1fr; gap:60px; align-items:center; position:relative; z-index:2; width:100%; }
.pipe-side { padding:0 0 0 8px; }
.pipe-title { font-size:clamp(2rem,4.4vw,3.8rem); font-weight:600; line-height:1.05; letter-spacing:-.03em; color:var(--w); margin:18px 0 36px; }
.pipe-title em { background:linear-gradient(135deg, var(--lav-l), var(--lav)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.pipe-steps { display:flex; flex-direction:column; gap:14px; }
.pipe-step { display:flex; gap:18px; padding:18px 20px; background:rgba(255,255,255,0.018); border:1px solid var(--line); border-radius:14px; opacity:.32; transition:opacity .5s var(--ease), background .5s var(--ease), border-color .5s var(--ease), transform .5s var(--ease); }
.pipe-step.is-active { opacity:1; background:rgba(155,142,196,0.08); border-color:rgba(201,190,234,0.32); transform:translateX(6px); box-shadow:0 14px 36px -16px rgba(78,60,140,.5); }
.pipe-step.is-active .ps-n { color:var(--lav-l); }
.ps-n { font-family:var(--serif); font-style:italic; font-size:26px; color:var(--w35); line-height:1; min-width:34px; transition:color .4s; }
.pipe-step h4 { font-size:1.05rem; color:var(--w); font-weight:600; letter-spacing:-.01em; margin-bottom:4px; }
.pipe-step p { font-size:.86rem; color:var(--w55); line-height:1.5; }
.pipe-canvas { position:relative; aspect-ratio:1/1; max-width:560px; margin:0 auto; width:100%; }
.pipe-canvas svg { width:100%; height:100%; display:block; }
.pipe-stage { opacity:0; transition:opacity .6s var(--ease); }
.pipe-stage.is-on { opacity:1; }
.pipe-stage-1.is-on { opacity:.95; }
.pipe-rings circle { animation:pipeRingPulse 3s ease-in-out infinite; transform-origin:300px 300px; }
.pipe-rings circle:nth-child(2) { animation-delay:.5s; }
.pipe-rings circle:nth-child(3) { animation-delay:1s; }
@keyframes pipeRingPulse { 0%,100%{transform:scale(1); opacity:.5} 50%{transform:scale(1.06); opacity:.85} }
.pipe-sats circle { animation:pipeSatBlink 2s ease-in-out infinite; }
.pipe-sats circle:nth-child(2n) { animation-delay:.4s; }
.pipe-sats circle:nth-child(3n) { animation-delay:.8s; }
@keyframes pipeSatBlink { 0%,100%{opacity:1} 50%{opacity:.4} }
.pipe-stage-label { position:absolute; bottom:8px; left:50%; transform:translateX(-50%); display:inline-flex; align-items:center; gap:10px; padding:8px 16px; background:rgba(8,8,18,0.85); border:1px solid var(--line-2); border-radius:100px; backdrop-filter:blur(10px); }
.psl-n { font-family:var(--serif); font-style:italic; font-size:16px; color:var(--lav-l); }
.psl-t { font-size:11px; font-weight:600; letter-spacing:.18em; color:var(--w90); }
.pipe-progress { position:absolute; left:0; right:0; bottom:0; height:2px; background:rgba(255,255,255,0.04); z-index:5; }
.pp-bar { display:block; height:100%; width:0%; background:linear-gradient(90deg, var(--lav-d), var(--lav-l)); box-shadow:0 0 14px var(--lav-l); transition:width .15s linear; }

/* ========== BENTO CAPABILITIES ========== */
.bento-section { padding:160px 0 140px; position:relative; z-index:2; }
.bento-grid { display:grid; grid-template-columns:repeat(3, 1fr); grid-auto-rows:minmax(220px, auto); gap:18px; }
.bento { position:relative; background:linear-gradient(180deg, rgba(22,20,40,0.55) 0%, rgba(8,8,16,0.9) 100%); border:1px solid rgba(255,255,255,0.07); border-radius:20px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 30px 60px -30px rgba(0,0,0,0.7), inset 0 1px 0 rgba(255,255,255,0.04); transition:border-color .4s, box-shadow .4s; }
.bento::after { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, rgba(201,190,234,0.4), transparent); opacity:.5; }
.bento:hover { border-color:rgba(201,190,234,0.28); box-shadow:0 40px 80px -25px rgba(78,60,140,.45), inset 0 1px 0 rgba(201,190,234,.1); }
.bento-lg { grid-column:span 2; grid-row:span 2; }
.bento-illu { flex:1; min-height:240px; position:relative; background:radial-gradient(ellipse at top, rgba(155,142,196,0.14), transparent 70%); border-bottom:1px solid rgba(255,255,255,0.04); overflow:hidden; }
.bento-illu svg { width:100%; height:100%; display:block; }
.bento-mini { height:140px; position:relative; background:radial-gradient(ellipse at top, rgba(155,142,196,0.12), transparent 70%); border-bottom:1px solid rgba(255,255,255,0.04); padding:10px; display:flex; align-items:center; justify-content:center; }
.bento-mini svg { max-height:120px; width:auto; }
.bento-body { padding:22px 24px 26px; }
.bento-tag { font-size:10px; font-weight:600; letter-spacing:.18em; color:var(--lav-l); text-transform:uppercase; margin-bottom:10px; }
.bento-body h3 { font-size:1.5rem; color:var(--w); font-weight:600; letter-spacing:-.02em; line-height:1.2; margin-bottom:10px; }
.bento-body h4 { font-size:1.05rem; color:var(--w); font-weight:600; letter-spacing:-.01em; margin-bottom:6px; }
.bento-body p { font-size:.92rem; color:var(--w70); line-height:1.55; }

@media (max-width:1024px) {
  .pipeline-section { height:auto; }
  .pipeline-pin { height:auto; padding:80px 0; }
  .pipe-wrap { grid-template-columns:1fr; gap:40px; }
  .pipe-step { opacity:1; }
  .bento-grid { grid-template-columns:repeat(2, 1fr); }
  .bento-lg { grid-column:span 2; grid-row:span 1; }
}
@media (max-width:760px) {
  .bento-grid { grid-template-columns:1fr; }
  .bento-lg { grid-column:span 1; }
}

/* ========== HORIZONTAL SCROLL INDUSTRY SHOWCASE ========== */
.hscroll-section { position:relative; z-index:2; }
.hscroll-pin { position:relative; height:100vh; overflow:hidden; }
.hs-bg { position:absolute; inset:0; pointer-events:none; z-index:0; }
.hs-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(155,142,196,0.05) 1px, transparent 1px),linear-gradient(90deg, rgba(155,142,196,0.05) 1px, transparent 1px); background-size:120px 120px; mask-image:radial-gradient(ellipse at center, black 30%, transparent 80%); }
.hs-aur { position:absolute; border-radius:50%; filter:blur(140px); opacity:.4; }
.hs-aur.a { width:680px; height:680px; background:radial-gradient(circle, #6B5EA8 0%, transparent 70%); top:-150px; left:-200px; }
.hs-aur.b { width:560px; height:560px; background:radial-gradient(circle, #4A3F7A 0%, transparent 70%); bottom:-140px; right:-180px; }
.hs-head { position:absolute; top:84px; left:0; right:0; z-index:3; pointer-events:none; }
.hs-title { font-size:clamp(1.6rem,3vw,2.6rem); font-weight:600; letter-spacing:-.03em; color:var(--w); margin-top:10px; }
.hs-title em { background:linear-gradient(135deg, var(--lav-l), var(--lav)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; font-style:italic; }
.hs-track { position:absolute; top:0; left:0; height:100vh; display:flex; will-change:transform; z-index:2; }
.hs-panel { width:100vw; height:100vh; flex-shrink:0; padding:200px 6vw 120px; position:relative; display:flex; align-items:center; }
.hsp-num { position:absolute; top:96px; right:6vw; font-family:var(--serif); font-style:italic; font-size:clamp(8rem,16vw,18rem); line-height:.85; color:rgba(201,190,234,0.05); pointer-events:none; user-select:none; z-index:0; letter-spacing:-.04em; }
.hsp-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:80px; align-items:center; width:100%; max-width:1480px; margin:0 auto; position:relative; z-index:1; }
.hsp-side { max-width:540px; }
.hsp-eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--w90); padding:8px 14px; background:rgba(255,255,255,0.025); border:1px solid rgba(255,255,255,0.08); border-radius:100px; margin-bottom:24px; }
.hsp-eyebrow .dotg { width:7px; height:7px; border-radius:50%; box-shadow:0 0 12px currentColor; }
.hsp-title { font-size:clamp(2.4rem,4.8vw,4.4rem); font-weight:600; letter-spacing:-.035em; line-height:1.02; color:var(--w); margin-bottom:24px; }
.hsp-title em { font-family:var(--serif); font-style:italic; font-weight:400; background:linear-gradient(135deg, var(--lav-l), var(--lav)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hsp-sub { font-size:1.1rem; color:var(--w70); line-height:1.6; margin-bottom:32px; max-width:480px; }
.hsp-list { list-style:none; padding:0; margin:0 0 36px; display:flex; flex-direction:column; gap:12px; }
.hsp-list li { display:flex; align-items:center; gap:12px; font-size:.98rem; color:var(--w90); }
.hsl-b { width:6px; height:6px; border-radius:50%; background:var(--lav-l); box-shadow:0 0 10px currentColor; flex-shrink:0; }
.hsp-link { display:inline-flex; align-items:center; gap:10px; font-size:.95rem; font-weight:600; color:var(--lav-l); text-decoration:none; padding:14px 22px; background:rgba(155,142,196,0.06); border:1px solid rgba(201,190,234,0.22); border-radius:100px; transition:background .3s, transform .3s, border-color .3s; }
.hsp-link:hover { background:rgba(155,142,196,0.14); border-color:rgba(201,190,234,0.45); transform:translateX(4px); }
.hsp-link span { transition:transform .3s; }
.hsp-link:hover span { transform:translateX(4px); }
.hsp-vis { position:relative; width:100%; max-width:600px; margin:0 auto; aspect-ratio:13/10.5; }
.hsp-vis svg { width:100%; height:100%; display:block; filter:drop-shadow(0 30px 80px rgba(0,0,0,.6)); border-radius:18px; }
.hs-footer { position:absolute; bottom:0; left:0; right:0; z-index:5; padding:0 6vw 24px; background:linear-gradient(180deg, transparent, rgba(3,3,7,0.85)); pointer-events:none; }
.hs-progress { height:2px; background:rgba(255,255,255,0.05); position:relative; margin-bottom:14px; border-radius:2px; overflow:hidden; }
.hsp-bar { display:block; height:100%; width:0%; background:linear-gradient(90deg, var(--lav-d), var(--lav-l)); box-shadow:0 0 12px var(--lav-l); transition:width .15s linear; border-radius:2px; }
.hs-labels { display:flex; justify-content:space-between; gap:8px; pointer-events:auto; }
.hs-labels button { all:unset; cursor:pointer; flex:1; text-align:center; padding:10px 6px; font-family:inherit; font-size:10px; font-weight:600; letter-spacing:.2em; color:var(--w35); text-transform:uppercase; transition:color .3s, background .3s, transform .25s; border-radius:6px; }
.hs-labels button:hover { color:var(--w); background:rgba(155,142,196,0.06); transform:translateY(-1px); }
.hs-labels button.is-on { color:var(--lav-l); }
.hs-labels button:focus-visible { outline:1px solid var(--lav-l); outline-offset:2px; }

/* CURSOR SPOTLIGHT */
.spotlight { position:fixed; top:0; left:0; width:540px; height:540px; pointer-events:none; z-index:1; transform:translate(-50%,-50%); background:radial-gradient(circle, rgba(155,142,196,0.16) 0%, rgba(155,142,196,0.05) 30%, transparent 70%); mix-blend-mode:screen; opacity:0; transition:opacity .4s; will-change:transform; }
.spotlight.is-on { opacity:1; }

/* ========== HERO CANVAS ========== */
#hero-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1; opacity:.5; }

@media (max-width:1024px) {
  #hero-canvas { display:none; }
  .hscroll-section { height:auto; }
  .hscroll-pin { height:auto; overflow:visible; padding:80px 0; }
  .hs-track { position:relative; flex-direction:column; height:auto; transform:none !important; }
  .hs-panel { width:100%; height:auto; padding:80px 5vw; }
  .hsp-grid { grid-template-columns:1fr; gap:50px; }
  .hsp-num { font-size:8rem; top:40px; }
  .hs-head, .hs-footer { display:none; }
  .spotlight { display:none; }
}
