:root {
  --bg: #07070d;
  --bg-soft: #0c0c16;
  --surface: rgba(17, 17, 31, .58);
  --surface-strong: rgba(19, 19, 34, .78);
  --surface-soft: rgba(255,255,255,.055);
  --text: #f5f3ff;
  --muted: #a8a4bb;
  --line: rgba(255,255,255,.12);
  --line-strong: rgba(255,255,255,.2);
  --violet: #a887ff;
  --cyan: #52e7dc;
  --pink: #ff7dc8;
  --lime: #b6f36b;
  --shadow: 0 24px 80px rgba(0,0,0,.32);
  --radius: 26px;
  --radius-sm: 17px;
  --font-display: ui-sans-serif, "Segoe UI", Arial, sans-serif;
  --font-body: ui-sans-serif, "Segoe UI", Arial, sans-serif;
}

html[data-theme="light"] {
  --bg: #eff0f7;
  --bg-soft: #e8eaf4;
  --surface: rgba(255,255,255,.58);
  --surface-strong: rgba(255,255,255,.78);
  --surface-soft: rgba(255,255,255,.5);
  --text: #15141f;
  --muted: #666276;
  --line: rgba(20,18,35,.11);
  --line-strong: rgba(20,18,35,.18);
  --shadow: 0 24px 80px rgba(61,55,90,.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% 10%, rgba(121, 75, 255, .10), transparent 28%),
    radial-gradient(circle at 88% 22%, rgba(55, 224, 210, .08), transparent 30%),
    var(--bg);
  color: var(--text);
  font: 400 16px/1.65 var(--font-body);
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: rgba(168, 135, 255, .35); color: var(--text); }

.shell { width: min(1180px, calc(100% - 44px)); margin-inline: auto; }
.section-pad { padding: 108px 0; }
.glass, .glass-strong {
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), var(--shadow);
  backdrop-filter: blur(22px) saturate(145%);
  -webkit-backdrop-filter: blur(22px) saturate(145%);
}
.glass-strong { background: var(--surface-strong); }

.aurora { position: fixed; inset: 0; pointer-events: none; z-index: -4; overflow: hidden; }
.aurora span { position: absolute; width: 42vw; aspect-ratio: 1; border-radius: 50%; filter: blur(90px); opacity: .17; animation: drift 18s ease-in-out infinite alternate; }
.aurora-one { background: #8155ff; left: -13vw; top: -12vw; }
.aurora-two { background: #20d5cf; right: -15vw; top: 17vh; animation-delay: -7s !important; }
.aurora-three { background: #f660b5; left: 35vw; bottom: -28vw; animation-delay: -12s !important; }
.noise { position: fixed; inset: 0; z-index: -2; pointer-events: none; opacity: .04; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); }
.spotlight { position: fixed; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(168,135,255,.085), transparent 68%); transform: translate(-50%,-50%); pointer-events: none; z-index: -1; opacity: 0; transition: opacity .3s ease; }
body:hover .spotlight { opacity: 1; }

@keyframes drift { to { transform: translate3d(8vw, 7vh, 0) scale(1.18); } }
@keyframes pulse { 50% { opacity: .35; transform: scale(.74); } }
@keyframes ticker { to { transform: translateX(-50%); } }
@keyframes rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes wave { 50% { opacity: 1; transform: translateX(8px); } }
@keyframes orb { to { transform: rotate(360deg); } }
@keyframes bars { 50% { transform: scaleY(.62); } }

.site-header { position: fixed; inset: 20px 0 auto; z-index: 50; }
.nav { min-height: 68px; border-radius: 22px; display: flex; align-items: center; justify-content: space-between; padding: 10px 12px 10px 14px; }
.brand { display: inline-flex; gap: 11px; align-items: center; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: linear-gradient(135deg, var(--violet), var(--cyan)); color: #0d0b16; font: 800 13px var(--font-display); box-shadow: inset 0 1px 1px rgba(255,255,255,.4); }
.brand-copy { display: grid; line-height: 1.12; }
.brand-copy strong { font: 700 14px var(--font-display); letter-spacing: -.02em; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; gap: 6px; }
.nav-links a { color: var(--muted); font-size: 13px; font-weight: 600; padding: 9px 12px; border-radius: 10px; transition: .2s ease; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--text); background: var(--surface-soft); }
.nav-actions { display: flex; gap: 7px; }
.icon-btn, .menu-btn { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 12px; color: var(--text); background: var(--surface-soft); cursor: pointer; }
.menu-btn { display: none; place-items: center; gap: 4px; }
.menu-btn span { width: 16px; height: 1px; background: currentColor; display: block; }

.hero { min-height: 100vh; padding-top: 160px; padding-bottom: 80px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 70px; }
.status-pill { width: fit-content; border-radius: 999px; padding: 8px 12px; display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pulse { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 5px rgba(82,231,220,.09), 0 0 16px rgba(82,231,220,.7); animation: pulse 1.7s ease-in-out infinite; }
.eyebrow, .micro { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hero .eyebrow { margin: 26px 0 8px; color: var(--cyan); }
h1, h2, h3 { font-family: var(--font-display); margin-top: 0; }
.hero h1 { max-width: 760px; margin-bottom: 22px; font-size: clamp(46px, 5.4vw, 78px); line-height: 1.02; letter-spacing: -.055em; }
.gradient-text { background: linear-gradient(105deg, #ceb9ff 5%, var(--violet) 42%, var(--cyan) 92%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-lead { max-width: 650px; margin: 0; color: var(--muted); font-size: 18px; }
.hero-actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 10px; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid var(--line); border-radius: 14px; padding: 0 18px; font-size: 13px; font-weight: 700; transition: transform .2s ease, border-color .2s ease, background .2s ease; cursor: pointer; }
.button:hover { transform: translateY(-2px); border-color: var(--line-strong); }
.button-primary { border-color: transparent; color: #100d19; background: linear-gradient(115deg, #b695ff, #6ee7df); box-shadow: 0 12px 28px rgba(113, 86, 226, .24); }
.button-secondary { background: var(--surface-soft); }
.button-ghost { border-color: transparent; color: var(--muted); }
.button b { font-size: 16px; }
.hero-meta { margin-top: 38px; display: flex; flex-wrap: wrap; gap: 22px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.hero-meta span { display: flex; align-items: center; gap: 7px; }
.hero-meta b { color: var(--text); font-size: 14px; }

.hero-visual { perspective: 1200px; }
.workspace { border-radius: 30px; overflow: hidden; transform-style: preserve-3d; }
.workspace-top { height: 52px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); padding: 0 18px; color: var(--muted); font: 600 9px/1 var(--font-display); letter-spacing: .12em; }
.traffic { display: flex; gap: 6px; }
.traffic i, .terminal-head > span { width: 7px; height: 7px; border-radius: 50%; background: #ff6d79; }
.traffic i:nth-child(2), .terminal-head > span:nth-child(2) { background: #ffc25e; }
.traffic i:nth-child(3), .terminal-head > span:nth-child(3) { background: #55d98d; }
.live-dot { margin-left: auto; color: var(--cyan); }
.workspace-grid { padding: 16px; display: grid; grid-template-columns: 1fr .95fr; gap: 12px; }
.inner-card { position: relative; min-height: 190px; border-radius: 20px; padding: 18px; overflow: hidden; box-shadow: none; }
.inner-card::after { content: ""; position: absolute; width: 130px; height: 130px; border-radius: 50%; background: rgba(168,135,255,.08); filter: blur(20px); right: -50px; bottom: -50px; }
.profile-card { grid-row: span 2; display: flex; flex-direction: column; justify-content: flex-end; }
.avatar-ring { width: 104px; height: 104px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(from 0deg, var(--violet), var(--cyan), var(--pink), var(--violet)); padding: 2px; margin-bottom: 28px; box-shadow: 0 0 55px rgba(139,109,255,.15); }
.avatar-core { width: 100%; height: 100%; display: grid; place-items: center; border-radius: inherit; background: var(--bg-soft); font: 800 26px var(--font-display); }
.profile-card h2 { font-size: 24px; letter-spacing: -.04em; margin: 5px 0 7px; }
.stack-line { color: var(--muted); font-size: 11px; }
.ai-card { min-height: 170px; }
.prompt-line { margin-top: 20px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; display: flex; gap: 8px; font: 600 10px var(--font-display); }
.prompt-line span { color: var(--cyan); }
.thinking-dots { display: flex; gap: 4px; padding: 16px 4px 12px; }
.thinking-dots i { width: 5px; height: 5px; border-radius: 50%; background: var(--violet); animation: pulse 1.2s infinite; }
.thinking-dots i:nth-child(2) { animation-delay: .2s; } .thinking-dots i:nth-child(3) { animation-delay: .4s; }
.sql-chip { width: fit-content; color: var(--cyan); background: rgba(82,231,220,.08); border: 1px solid rgba(82,231,220,.15); border-radius: 8px; padding: 7px 8px; font: 600 8px ui-monospace, SFMono-Regular, Consolas, monospace; }
.chart-card { min-height: 145px; }
.card-row { display: flex; justify-content: space-between; align-items: center; }
.card-row span { color: var(--lime); font-size: 10px; }
.mini-chart { height: 68px; display: flex; align-items: end; gap: 7px; margin-top: 17px; }
.mini-chart i { flex: 1; height: var(--h); border-radius: 5px 5px 2px 2px; background: linear-gradient(to top, rgba(168,135,255,.34), var(--violet)); animation: bars 3.4s ease-in-out infinite alternate; transform-origin: bottom; }
.mini-chart i:nth-child(even) { animation-delay: -.8s; }
.deploy-card { grid-column: span 2; min-height: 110px; display: flex; align-items: center; gap: 24px; }
.deploy-card .micro { margin-right: auto; }
.flow-mini { display: flex; align-items: center; gap: 8px; font: 700 9px var(--font-display); }
.flow-mini span { padding: 7px 9px; border-radius: 8px; background: var(--surface-soft); border: 1px solid var(--line); }
.flow-mini i { color: var(--violet); font-style: normal; }
.success-line { color: var(--muted); font-size: 10px; }.success-line i { color: var(--cyan); font-style: normal; }

.ticker-wrap { border-block: 1px solid var(--line); overflow: hidden; background: rgba(255,255,255,.015); }
.ticker { width: max-content; height: 58px; display: flex; align-items: center; gap: 28px; color: var(--muted); font: 700 10px var(--font-display); letter-spacing: .12em; animation: ticker 28s linear infinite; }
.ticker i { color: var(--violet); font-style: normal; font-size: 9px; }

.section-head { display: flex; align-items: end; justify-content: space-between; gap: 45px; margin-bottom: 42px; }
.section-head h2 { font-size: clamp(34px,4vw,56px); line-height: 1.07; letter-spacing: -.045em; margin: 8px 0 0; }
.section-head > p { max-width: 380px; margin: 0 0 5px; color: var(--muted); }
.projects-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.project-card { border-radius: var(--radius); padding: 18px; overflow: hidden; transform-style: preserve-3d; }
.project-card-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; color: var(--muted); }
.project-index { font: 800 11px var(--font-display); color: var(--violet); }
.project-type { font: 800 9px var(--font-display); letter-spacing: .13em; }
.project-visual { position: relative; height: 250px; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(168,135,255,.11), transparent 38%), rgba(255,255,255,.018); }
.project-visual::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(to bottom, transparent, black 30%, black 80%, transparent); }
.project-copy { padding: 22px 5px 5px; }
.project-copy h3 { font-size: 25px; margin-bottom: 8px; letter-spacing: -.035em; }
.project-copy p { margin: 0; color: var(--muted); font-size: 14px; min-height: 70px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 6px; margin: 18px 0; }
.tag-row span { border: 1px solid var(--line); border-radius: 999px; padding: 6px 9px; color: var(--muted); background: var(--surface-soft); font: 700 9px var(--font-display); letter-spacing: .04em; }
.project-copy > a { display: inline-flex; align-items: center; gap: 8px; color: var(--text); font-size: 12px; font-weight: 700; }.project-copy > a b { color: var(--cyan); }

.visual-bi { display: flex; align-items: center; justify-content: center; gap: 18px; }
.data-file, .ai-node, .dash-node { z-index: 2; width: 70px; height: 70px; display: grid; place-items: center; border-radius: 18px; border: 1px solid var(--line-strong); background: var(--surface-strong); font: 800 11px var(--font-display); box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.ai-node { border-color: rgba(168,135,255,.4); box-shadow: 0 0 34px rgba(168,135,255,.18); }
.data-arrow { z-index: 2; color: var(--violet); }
.dash-node { display: flex; align-items: flex-end; gap: 4px; padding: 17px; }
.dash-node i { width: 8px; border-radius: 3px 3px 1px 1px; background: var(--cyan); height: 45%; }.dash-node i:nth-child(2){height:80%;}.dash-node i:nth-child(3){height:62%;}
.visual-agentra { display: flex; justify-content: center; align-items: center; gap: 28px; }
.mail-sheet { z-index: 2; width: 116px; height: 140px; border: 1px solid var(--line-strong); border-radius: 15px; background: var(--surface-strong); padding: 16px; transform: rotate(-5deg); }
.mail-sheet b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: linear-gradient(135deg,var(--violet),var(--pink)); color:#100d19; font-size:9px; }
.mail-sheet i { display:block; height:5px; background: var(--line-strong); border-radius:4px; margin-top:12px; }.mail-sheet i:last-child{width:60%;}
.send-wave { z-index: 2; display:grid; gap:7px; }.send-wave i{width:30px;height:2px;background:linear-gradient(90deg,var(--violet),transparent);animation:wave 1.4s ease-in-out infinite;}.send-wave i:nth-child(2){animation-delay:.18s}.send-wave i:nth-child(3){animation-delay:.36s}
.people-stack { z-index:2; display:grid; gap:7px; }.people-stack span{width:42px;height:42px;border:1px solid var(--line-strong);border-radius:50%;background:radial-gradient(circle at 50% 35%,var(--cyan) 0 5px,transparent 6px),radial-gradient(ellipse at 50% 80%,rgba(82,231,220,.5) 0 10px,transparent 11px),var(--surface-strong);}
.visual-xr { perspective: 700px; }
.xr-grid { position:absolute; z-index:1; left:50%; bottom:-70px; width:420px;height:260px;transform:translateX(-50%) rotateX(68deg);background-image:linear-gradient(rgba(82,231,220,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(82,231,220,.16) 1px,transparent 1px);background-size:32px 32px; }
.xr-orb { position:absolute;z-index:2;width:58px;height:58px;left:25%;top:28%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 4%,var(--pink) 16%,#5b2375 54%,transparent 56%);box-shadow:0 0 35px rgba(255,125,200,.35); }
.xr-cube { position:absolute;z-index:2;width:76px;height:76px;right:24%;top:31%;border:1px solid rgba(168,135,255,.7);transform:rotate(26deg);box-shadow:inset 0 0 24px rgba(168,135,255,.12),0 0 28px rgba(168,135,255,.15); }.xr-cube i{position:absolute;inset:12px;border:1px solid rgba(168,135,255,.24);}
.crosshair { position:absolute;z-index:3;left:50%;top:50%;width:28px;height:28px;border:1px solid var(--cyan);border-radius:50%;transform:translate(-50%,-50%);}.crosshair::before,.crosshair::after{content:"";position:absolute;background:var(--cyan)}.crosshair::before{width:40px;height:1px;left:-7px;top:13px}.crosshair::after{height:40px;width:1px;top:-7px;left:13px}
.visual-powerbi { display:grid;place-items:center; }
.bi-panel { z-index:2; width:230px;height:140px;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface-strong);display:flex;align-items:center;justify-content:center;gap:24px;box-shadow:0 18px 45px rgba(0,0,0,.2); }
.donut{width:65px;height:65px;border-radius:50%;background:conic-gradient(var(--violet) 0 42%,var(--cyan) 42% 73%,rgba(255,255,255,.08) 73%);position:relative}.donut::after{content:"";position:absolute;inset:13px;border-radius:50%;background:var(--bg-soft)}
.bars{height:70px;width:80px;display:flex;gap:5px;align-items:end}.bars i{flex:1;height:45%;background:var(--violet);border-radius:3px}.bars i:nth-child(2){height:76%;background:var(--cyan)}.bars i:nth-child(3){height:58%}.bars i:nth-child(4){height:89%;background:var(--pink)}
.filter-chip{position:absolute;z-index:3;right:16%;bottom:15%;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface-strong);font:700 8px var(--font-display);color:var(--muted)}

.simulator-preview { padding-top: 28px; }
.preview-shell { border-radius: 30px; padding: 54px; display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center;position:relative;overflow:hidden; }
.preview-shell::after { content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-120px;top:-170px;background:rgba(82,231,220,.08);filter:blur(30px); }
.preview-copy h2 { font-size: clamp(34px,4vw,54px);line-height:1.05;letter-spacing:-.045em;margin:8px 0 18px; }
.preview-copy > p:not(.eyebrow){color:var(--muted);max-width:520px}.preview-terminal{border-radius:20px;overflow:hidden;box-shadow:none;z-index:2}
.terminal-head { height:43px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding:0 13px;background:rgba(0,0,0,.12); }
.terminal-head b { margin-left:7px;color:var(--muted);font:700 8px var(--font-display);letter-spacing:.1em; }.terminal-head em{margin-left:auto;color:var(--cyan);font:700 8px var(--font-display);font-style:normal;letter-spacing:.12em}
.terminal-body{padding:20px;min-height:250px;font:500 11px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}.terminal-body p{margin:0 0 15px;color:var(--muted);display:flex;gap:14px}.terminal-body i{font-style:normal;color:var(--violet)}.terminal-body b{margin-left:auto;color:var(--text);font-weight:600}

.skills-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;align-items:stretch}.skill-orbit{min-height:550px;border-radius:var(--radius);position:relative;overflow:hidden;display:grid;place-items:center}.skill-orbit::before{content:"";position:absolute;inset:15%;border-radius:50%;background:radial-gradient(circle,rgba(168,135,255,.12),transparent 67%)}
.orbit{position:absolute;left:50%;top:50%;border:1px solid var(--line);border-radius:50%;transform:translate(-50%,-50%);animation:orb 24s linear infinite}.orbit-a{width:220px;height:220px}.orbit-b{width:330px;height:330px;animation-direction:reverse;animation-duration:30s}.orbit-c{width:440px;height:440px;animation-duration:36s}.orbit span,.orbit i{position:absolute;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-strong);font:700 8px var(--font-display);font-style:normal}.orbit span{left:8%;top:17%}.orbit i{right:5%;bottom:20%;color:var(--cyan)}.orbit-core{position:relative;z-index:4;width:104px;height:104px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(135deg,var(--violet),var(--cyan));color:#100d19;font:800 28px var(--font-display);box-shadow:0 0 50px rgba(168,135,255,.25)}.orbit-core small{position:absolute;bottom:17px;font-size:7px;letter-spacing:.16em}
.skill-groups{display:grid;gap:12px}.skill-card{border-radius:20px;padding:24px;display:flex;gap:20px;box-shadow:none}.skill-no{flex:0 0 35px;color:var(--violet);font:800 10px var(--font-display)}.skill-card h3{font-size:18px;letter-spacing:-.02em;margin-bottom:7px}.skill-card p{margin:0;color:var(--muted);font-size:13px}

.timeline{border-radius:var(--radius);padding:12px 30px}.timeline-item{position:relative;display:grid;grid-template-columns:180px 1fr;gap:40px;padding:34px 10px 34px 34px;border-bottom:1px solid var(--line)}.timeline-item:last-child{border-bottom:0}.timeline-dot{position:absolute;left:4px;top:42px;width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 6px rgba(82,231,220,.08)}.timeline-meta{display:grid;align-content:start;gap:5px}.timeline-meta span{font:700 12px var(--font-display)}.timeline-meta small{color:var(--muted);font-size:10px}.timeline-item h3{font-size:19px;margin-bottom:7px}.timeline-item p{color:var(--muted);margin:0;font-size:13px;max-width:690px}

.contact-section{padding-top:54px}.contact-card{min-height:330px;border-radius:32px;padding:55px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:35px;position:relative;overflow:hidden}.contact-card h2{max-width:670px;font-size:clamp(36px,4.5vw,62px);line-height:1.05;letter-spacing:-.05em;margin:9px 0 14px}.contact-card p:not(.eyebrow){color:var(--muted);max-width:540px}.contact-actions{display:grid;gap:10px;z-index:2}.contact-glow{position:absolute;width:420px;height:420px;border-radius:50%;right:-150px;bottom:-250px;background:linear-gradient(135deg,rgba(168,135,255,.24),rgba(82,231,220,.14));filter:blur(45px)}
.footer{min-height:110px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.footer div{display:flex;gap:20px}.footer a:hover{color:var(--text)}

/* simulator */
.sim-main{padding-top:150px}.sim-hero{padding:50px 0 55px}.sim-hero h1{font-size:clamp(46px,6vw,76px);line-height:1.02;letter-spacing:-.055em;margin:8px 0 18px}.sim-hero>p:not(.eyebrow){max-width:760px;color:var(--muted);font-size:17px}.sim-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.sim-badges span{border-radius:999px;padding:8px 11px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:none}
.sim-layout{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start;padding-bottom:100px}.sim-index{position:sticky;top:106px;border-radius:24px;overflow:hidden;box-shadow:none}.sim-index-head{padding:20px;border-bottom:1px solid var(--line)}.sim-index-head .micro{margin:0 0 14px}.sim-index-head label{display:block;font:700 12px var(--font-display);margin-bottom:8px}.sim-index-head select{width:100%;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);color:var(--text);padding:9px 10px;font-size:11px;outline:none}.sim-project-list{padding:8px}.sim-project-list button{width:100%;display:grid;grid-template-columns:30px 1fr;text-align:left;gap:9px;border:0;border-radius:12px;background:transparent;color:var(--muted);padding:11px;cursor:pointer}.sim-project-list button:hover,.sim-project-list button[aria-pressed="true"]{background:var(--surface-soft);color:var(--text)}.sim-project-list button>b{color:var(--violet);font:800 9px var(--font-display);padding-top:2px}.sim-project-list strong{display:block;font:700 11px var(--font-display);margin-bottom:3px}.sim-project-list small{display:block;color:var(--muted);font-size:8px}.sim-index-footer{border-top:1px solid var(--line);padding:16px 20px;display:flex;align-items:center;gap:9px}.sim-index-footer p{margin:0;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.sim-stage{border-radius:30px;padding:28px}.sim-title-row{display:flex;justify-content:space-between;gap:25px;align-items:start}.sim-meta{display:flex;gap:8px;margin-bottom:8px}.sim-meta span{border:1px solid var(--line);border-radius:999px;padding:5px 8px;color:var(--muted);font:700 8px var(--font-display);letter-spacing:.08em;text-transform:uppercase}.sim-title-row h2{font-size:38px;letter-spacing:-.045em;margin:0 0 7px}.sim-title-row p{max-width:710px;color:var(--muted);margin:0;font-size:13px}.sim-run:disabled{opacity:.6;cursor:not-allowed;transform:none}.sim-progress{height:2px;background:var(--line);margin:25px 0 18px;overflow:hidden}.sim-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--violet),var(--cyan));transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.sim-scene{position:relative;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 50% 42%,rgba(168,135,255,.09),transparent 42%),rgba(0,0,0,.05);overflow:hidden}.sim-scene-top{height:45px;padding:0 15px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.sim-scene-top span{color:var(--violet);font:800 8px var(--font-display);letter-spacing:.13em}.sim-scene-top strong{color:var(--muted);font:700 9px var(--font-display)}.sim-scene-canvas{height:390px;position:relative;overflow:hidden;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:32px 32px}.scene-status{position:absolute;left:14px;bottom:14px;padding:8px 10px;border:1px solid var(--line);background:var(--surface-strong);backdrop-filter:blur(16px);border-radius:10px;display:flex;align-items:center;gap:9px;z-index:20}.scene-status b{font:700 8px var(--font-display);letter-spacing:.08em;text-transform:uppercase}
.scene-node{position:absolute;z-index:4;border:1px solid var(--line-strong);background:var(--surface-strong);border-radius:16px;padding:14px;min-width:112px;box-shadow:0 15px 38px rgba(0,0,0,.18);transition:.45s ease;opacity:.35;filter:saturate(.4);transform:scale(.95)}.scene-node[data-state="active"]{opacity:1;filter:none;transform:scale(1.04);border-color:rgba(168,135,255,.65);box-shadow:0 0 38px rgba(168,135,255,.15)}.scene-node[data-state="complete"]{opacity:1;filter:none;transform:scale(1);border-color:rgba(82,231,220,.28)}.scene-node .node-kicker{display:block;color:var(--muted);font:700 7px var(--font-display);letter-spacing:.13em;text-transform:uppercase;margin-bottom:5px}.scene-node strong{font:700 11px var(--font-display)}.scene-node small{display:block;color:var(--muted);font-size:8px;margin-top:5px}.scene-link{position:absolute;z-index:2;height:1px;background:linear-gradient(90deg,rgba(168,135,255,.15),rgba(168,135,255,.8),rgba(82,231,220,.2));transform-origin:left center;opacity:.42}.scene-link::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;right:0;top:-2px;background:var(--cyan);box-shadow:0 0 11px var(--cyan)}
.node-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;margin-bottom:9px;background:rgba(168,135,255,.1);color:var(--violet);font:800 9px var(--font-display)}
.scene-node:nth-of-type(1){left:7%;top:38%}.scene-node:nth-of-type(2){left:27%;top:15%}.scene-node:nth-of-type(3){left:46%;top:46%}.scene-node:nth-of-type(4){right:25%;top:14%}.scene-node:nth-of-type(5){right:6%;top:39%}
.scene-link.l1{left:18%;top:43%;width:145px;transform:rotate(-29deg)}.scene-link.l2{left:37%;top:28%;width:155px;transform:rotate(29deg)}.scene-link.l3{left:56%;top:51%;width:145px;transform:rotate(-31deg)}.scene-link.l4{left:74%;top:28%;width:135px;transform:rotate(28deg)}
.scene-dashboard{position:absolute;right:7%;top:18%;width:220px;height:210px;border:1px solid var(--line-strong);border-radius:17px;background:var(--surface-strong);padding:14px;z-index:4;opacity:.35;transition:.45s ease}.scene-dashboard[data-state="active"],.scene-dashboard[data-state="complete"]{opacity:1;box-shadow:0 0 40px rgba(82,231,220,.12)}.scene-dashboard .dbars{height:100px;display:flex;align-items:end;gap:7px}.scene-dashboard .dbars i{flex:1;background:linear-gradient(var(--cyan),rgba(82,231,220,.15));border-radius:4px 4px 1px 1px;height:var(--h)}.scene-dashboard p{font:700 8px var(--font-display);color:var(--muted)}.scene-dashboard b{font:800 18px var(--font-display)}
.scene-mail{position:absolute;width:230px;height:260px;left:39%;top:16%;border:1px solid var(--line-strong);border-radius:18px;background:var(--surface-strong);padding:18px;z-index:4;transition:.45s ease;opacity:.35}.scene-mail[data-state="active"],.scene-mail[data-state="complete"]{opacity:1}.scene-mail h4{font:800 16px var(--font-display);margin:10px 0}.scene-mail p{height:6px;border-radius:4px;background:var(--line-strong);margin:10px 0}.scene-mail p:nth-of-type(2){width:82%}.scene-mail p:nth-of-type(3){width:64%}.mail-send{position:absolute;right:18px;bottom:18px;padding:7px 10px;border-radius:9px;background:linear-gradient(135deg,var(--violet),var(--cyan));color:#0c0a14;font:800 8px var(--font-display)}
.scene-world{position:absolute;inset:0;perspective:700px}.world-floor{position:absolute;left:50%;bottom:-95px;width:600px;height:350px;transform:translateX(-50%) rotateX(65deg);background-image:linear-gradient(rgba(82,231,220,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(82,231,220,.13) 1px,transparent 1px);background-size:35px 35px}.world-object{position:absolute;z-index:5;transition:.5s ease;opacity:.32;filter:saturate(.4)}.world-object[data-state="active"],.world-object[data-state="complete"]{opacity:1;filter:none}.world-sphere{width:70px;height:70px;border-radius:50%;left:21%;top:35%;background:radial-gradient(circle at 33% 28%,#fff 0 4%,var(--pink) 13%,#6e2b93 56%,#1c1127 57%);box-shadow:0 0 44px rgba(255,125,200,.28)}.world-cube{width:82px;height:82px;right:22%;top:33%;border:2px solid rgba(168,135,255,.7);transform:rotate(26deg);box-shadow:inset 0 0 25px rgba(168,135,255,.13)}.world-reticle{left:50%;top:45%;width:34px;height:34px;border:1px solid var(--cyan);border-radius:50%;transform:translate(-50%,-50%)}.world-reticle::before,.world-reticle::after{content:"";position:absolute;background:var(--cyan)}.world-reticle::before{height:1px;width:54px;left:-11px;top:16px}.world-reticle::after{width:1px;height:54px;left:16px;top:-11px}
.power-panel{position:absolute;left:13%;right:13%;top:16%;bottom:17%;border:1px solid var(--line-strong);border-radius:18px;background:var(--surface-strong);padding:18px;display:grid;grid-template-columns:1fr 1.3fr;gap:15px;z-index:4}.power-kpi,.power-chart,.power-table{border:1px solid var(--line);border-radius:13px;padding:14px;opacity:.35;transition:.45s ease}.power-kpi[data-state="active"],.power-kpi[data-state="complete"],.power-chart[data-state="active"],.power-chart[data-state="complete"],.power-table[data-state="active"],.power-table[data-state="complete"]{opacity:1}.power-kpi b{font:800 25px var(--font-display);display:block}.power-kpi small{color:var(--muted);font-size:8px}.power-chart{grid-row:span 2;display:flex;align-items:end;gap:8px}.power-chart i{flex:1;height:var(--h);background:linear-gradient(var(--violet),rgba(168,135,255,.1));border-radius:4px}.power-table{display:grid;gap:7px}.power-table i{height:5px;border-radius:4px;background:var(--line-strong)}.power-table i:nth-child(2){width:76%}.power-table i:nth-child(3){width:91%}

.sim-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:0;margin:16px 0;list-style:none}.sim-flow li{border:1px solid var(--line);border-radius:14px;padding:13px;min-height:104px;background:rgba(255,255,255,.015);transition:.35s ease}.sim-flow li[data-state="active"]{border-color:rgba(168,135,255,.55);background:rgba(168,135,255,.07);transform:translateY(-2px)}.sim-flow li[data-state="complete"]{border-color:rgba(82,231,220,.25);background:rgba(82,231,220,.035)}.flow-no{display:block;color:var(--violet);font:800 8px var(--font-display);margin-bottom:9px}.sim-flow strong{display:block;font:700 10px var(--font-display);margin-bottom:5px}.sim-flow p{margin:0;color:var(--muted);font-size:8px;line-height:1.5}.sim-info-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}.sim-panel{border-radius:17px;padding:18px;box-shadow:none}.sim-panel .micro{margin:0}.sim-panel .tag-row{margin-bottom:0}.sim-panel>p:last-child{color:var(--muted);font-size:11px;margin:13px 0 0}.sim-console{margin-top:10px;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:rgba(0,0,0,.15)}.console-lines{height:175px;overflow:auto;padding:16px 18px;font:500 10px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace}.console-lines p{margin:0;color:var(--muted)}.console-lines p::before{content:'›';color:var(--violet);margin-right:9px}.console-lines p[data-state="active"]{color:#d3c9ff}.console-lines p[data-state="success"]{color:var(--cyan)}.sim-actions{display:flex;gap:8px;margin-top:14px}

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 980px) {
  .hero { grid-template-columns:1fr;gap:44px;min-height:auto;padding-top:150px; }.hero-copy{max-width:760px}.hero-visual{max-width:700px}
  .projects-grid,.skills-layout,.preview-shell{grid-template-columns:1fr}.skill-orbit{min-height:480px}.preview-shell{padding:38px}.contact-card{grid-template-columns:1fr}.contact-actions{display:flex;flex-wrap:wrap}
  .sim-layout{grid-template-columns:1fr}.sim-index{position:static}.sim-project-list{display:grid;grid-template-columns:1fr 1fr}.sim-index-footer{display:none}.sim-flow{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 740px) {
  .shell{width:min(100% - 28px,1180px)}.section-pad{padding:76px 0}.site-header{inset:10px 0 auto}.nav{min-height:60px;border-radius:18px}.brand-mark{width:37px;height:37px}.brand-copy small{display:none}.menu-btn{display:grid}.nav-links{position:absolute;top:68px;left:0;right:0;border:1px solid var(--line);border-radius:18px;padding:8px;background:var(--surface-strong);backdrop-filter:blur(22px);display:none}.nav-links.is-open{display:grid}.nav-links a{padding:11px}
  .hero{padding-top:126px}.hero h1{font-size:clamp(42px,13vw,62px)}.hero-lead{font-size:16px}.workspace-grid{grid-template-columns:1fr}.profile-card{grid-row:auto}.deploy-card{grid-column:auto;display:grid}.hero-meta{gap:12px}.ticker{height:50px}
  .section-head{display:block}.section-head>p{margin-top:15px}.projects-grid{grid-template-columns:1fr}.project-visual{height:220px}.project-copy p{min-height:0}.preview-shell{padding:26px}.skill-orbit{min-height:380px}.orbit-c{width:340px;height:340px}.orbit-b{width:265px;height:265px}.orbit-a{width:190px;height:190px}.timeline{padding:8px 18px}.timeline-item{grid-template-columns:1fr;gap:12px;padding-left:26px}.contact-card{padding:30px;min-height:380px}.contact-actions{display:grid}.footer{padding:30px 0;display:grid;gap:14px}.footer div{flex-wrap:wrap}
  .sim-main{padding-top:110px}.sim-hero{padding-top:34px}.sim-stage{padding:17px;border-radius:22px}.sim-title-row{display:grid}.sim-run{width:100%}.sim-scene-top{display:grid;height:auto;padding:11px 13px}.sim-scene-canvas{height:430px}.scene-node{min-width:100px;padding:11px}.scene-node:nth-of-type(1){left:5%;top:8%}.scene-node:nth-of-type(2){left:auto;right:5%;top:8%}.scene-node:nth-of-type(3){left:5%;top:40%}.scene-node:nth-of-type(4){right:5%;top:40%}.scene-node:nth-of-type(5){left:50%;right:auto;top:auto;bottom:9%;transform:translateX(-50%) scale(.95)}.scene-node:nth-of-type(5)[data-state="active"]{transform:translateX(-50%) scale(1.04)}.scene-node:nth-of-type(5)[data-state="complete"]{transform:translateX(-50%) scale(1)}.scene-link{display:none}.scene-dashboard{width:190px;right:4%;top:29%}.scene-mail{width:190px;left:50%;transform:translateX(-50%);top:24%}.power-panel{left:5%;right:5%;grid-template-columns:1fr}.power-chart{grid-row:auto;min-height:130px}.sim-flow{grid-template-columns:1fr}.sim-info-grid{grid-template-columns:1fr}.sim-project-list{grid-template-columns:1fr}.sim-actions{display:grid}.world-floor{width:470px}
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.spotlight{display:none}
}

/* Production portfolio additions */
.privacy-notice{margin-top:22px;max-width:920px;border-radius:16px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;box-shadow:none}
.privacy-notice strong{white-space:nowrap;color:var(--cyan);font:800 10px var(--font-display);letter-spacing:.08em;text-transform:uppercase}
.privacy-notice span{color:var(--muted);font-size:11px;line-height:1.65}
.contact-card{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)}
.contact-copy{position:relative;z-index:2}.contact-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px}.contact-links a{font:700 11px var(--font-display);color:var(--text);border-bottom:1px solid var(--line-strong);padding-bottom:4px}
.contact-form{position:relative;z-index:2;border-radius:22px;padding:22px;display:grid;gap:13px;box-shadow:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.contact-form label{display:grid;gap:7px}.contact-form label>span{color:var(--muted);font:700 8px var(--font-display);letter-spacing:.12em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);color:var(--text);padding:12px 13px;font:500 12px/1.55 var(--font-body);outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.contact-form textarea{resize:vertical;min-height:122px}.contact-form input:focus,.contact-form textarea:focus{border-color:rgba(168,135,255,.62);box-shadow:0 0 0 3px rgba(168,135,255,.08);background:rgba(168,135,255,.025)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:.72}.form-submit{display:flex;align-items:center;gap:14px;min-height:49px}.form-status{margin:0!important;font-size:10px!important;line-height:1.4;color:var(--muted)!important}.form-status[data-state="success"]{color:var(--cyan)!important}.form-status[data-state="error"]{color:var(--pink)!important}.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
.project-type{max-width:78%;text-align:right;line-height:1.4}

@media (max-width:980px){.contact-card{grid-template-columns:1fr}.privacy-notice{display:grid}.privacy-notice strong{white-space:normal}}
@media (max-width:740px){.form-row{grid-template-columns:1fr}.contact-form{padding:17px}.form-submit{display:grid}.privacy-notice{padding:13px}}
