:root {
  --bg: #f7f9fc;
  --bg-2: #ffffff;
  --surface: rgba(255, 255, 255, .9);
  --surface-2: #f1f5f9;
  --surface-3: #e8eef5;
  --text: #162235;
  --muted: #59687a;
  --dim: #8996a7;
  --line: rgba(30, 55, 82, .13);
  --line-hot: rgba(7, 135, 125, .38);
  --signal: #07877d;
  --signal-rgb: 7, 135, 125;
  --violet: #7667d8;
  --violet-rgb: 118, 103, 216;
  --danger: #ff5a79;
  --font-display: "Space Grotesk", Arial, sans-serif;
  --font-body: "Inter", Arial, sans-serif;
  --font-mono: "DM Mono", Consolas, monospace;
  --container: min(1440px, calc(100% - 150px));
  --header: 82px;
  --ease: cubic-bezier(.16, 1, .3, 1);
}

html[data-signal="violet"] {
  --signal: #7667d8;
  --signal-rgb: 118, 103, 216;
  --violet: #07877d;
  --violet-rgb: 7, 135, 125;
}

*, *::before, *::after { box-sizing: border-box; }
html { max-width: 100%; overflow-x: clip; scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; overflow-x: hidden; background: var(--bg); color: var(--text); font-family: var(--font-body); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
main { display: flex; flex-direction: column; }
.hero { order: 0; }.logo-stream { order: 1; }.profile-section { order: 2; }.expertise { order: 3; }.experience { order: 4; }.cms { order: 5; }.process { order: 6; }.systems-lab { order: 7; }.contact { order: 8; }
::selection { background: var(--signal); color: #03110e; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img, svg { display: block; max-width: 100%; }
button { font: inherit; }
.container { width: var(--container); margin-inline: auto; }
.section { position: relative; padding-block: clamp(110px, 11vw, 180px); }

.skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 10px 15px; transform: translateY(-160%); background: var(--signal); color: var(--bg); font: 600 .75rem var(--font-mono); text-decoration: none; }
.skip-link:focus { transform: translateY(0); }
.noise { position: fixed; z-index: 100; inset: 0; opacity: .035; pointer-events: none; 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='.8'/%3E%3C/svg%3E"); }
.cursor-glow { position: fixed; z-index: 0; width: 520px; height: 520px; border-radius: 50%; transform: translate(-50%, -50%); background: radial-gradient(circle, rgba(var(--signal-rgb), .07), transparent 66%); pointer-events: none; transition: opacity .2s; }
.scroll-progress { position: fixed; z-index: 999; top: 0; left: 0; width: 0; height: 2px; background: linear-gradient(90deg, var(--signal), var(--violet)); box-shadow: 0 0 14px var(--signal); }
.webgl-world{position:fixed;z-index:0;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;mix-blend-mode:screen;transition:opacity 1.2s ease;filter:saturate(1.12) contrast(1.05)}body.webgl-active .webgl-world{opacity:.72}body.webgl-fallback .webgl-world{display:none}body.webgl-active main,body.webgl-active .site-footer{position:relative;z-index:2}body.webgl-active .hero{background:radial-gradient(circle at 77% 34%,rgba(var(--violet-rgb),.09),transparent 24%),radial-gradient(circle at 58% 72%,rgba(var(--signal-rgb),.045),transparent 24%),rgba(5,7,13,.78)}body.webgl-active .profile-section{background:radial-gradient(circle at 82% 35%,rgba(var(--violet-rgb),.09),transparent 26%),rgba(8,11,19,.88)}body.webgl-active .expertise{background:radial-gradient(circle at 83% 40%,rgba(var(--violet-rgb),.065),transparent 25%),rgba(8,11,19,.87)}body.webgl-active .experience{background:rgba(6,9,16,.89)}body.webgl-active .cms{background:radial-gradient(circle at 15% 65%,rgba(var(--signal-rgb),.05),transparent 24%),rgba(8,11,19,.88)}body.webgl-active .process{background:rgba(5,7,13,.87)}body.webgl-active .systems-lab{background:rgba(6,9,16,.87)}body.webgl-active .contact{background:radial-gradient(circle at 75% 50%,rgba(var(--violet-rgb),.12),transparent 25%),radial-gradient(circle at 50% 55%,rgba(var(--signal-rgb),.055),transparent 35%),rgba(6,8,16,.84)}
.sound-spectrum{position:fixed;z-index:45;bottom:22px;left:24px;display:flex;height:28px;gap:3px;align-items:flex-end;padding:6px 8px;border:1px solid var(--line);background:rgba(5,8,14,.72);opacity:0;pointer-events:none;backdrop-filter:blur(10px);transition:opacity .3s}.sound-spectrum i{display:block;width:2px;height:20%;background:var(--signal);box-shadow:0 0 7px var(--signal);animation:spectrum 1.1s ease-in-out infinite;animation-play-state:paused}.sound-spectrum i:nth-child(2){animation-delay:-.2s}.sound-spectrum i:nth-child(3){animation-delay:-.55s}.sound-spectrum i:nth-child(4){animation-delay:-.38s}.sound-spectrum i:nth-child(5){animation-delay:-.7s}.sound-spectrum i:nth-child(6){animation-delay:-.1s}.sound-spectrum span{align-self:center;margin-left:6px;color:var(--dim);font:.38rem var(--font-mono);letter-spacing:.12em}body.sound-on .sound-spectrum{opacity:1}body.sound-on .sound-spectrum i{animation-play-state:running}

/* Header */
.site-header { position: fixed; z-index: 90; top: 0; left: 0; display: grid; width: 100%; height: var(--header); grid-template-columns: 1fr auto 1fr; align-items: center; padding-inline: 38px; border-bottom: 1px solid transparent; transition: .3s ease; }
.site-header.scrolled { border-bottom-color: var(--line); background: rgba(5, 7, 13, .76); backdrop-filter: blur(22px); }
.identity { display: inline-flex; justify-self: start; gap: 12px; align-items: center; text-decoration: none; }
.identity-mark { position: relative; display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--line-hot); background: rgba(var(--signal-rgb), .06); color: var(--signal); font: 500 .82rem var(--font-mono); clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px); }
.identity-mark i { position: absolute; top: 4px; right: 4px; width: 3px; height: 3px; background: var(--signal); box-shadow: 0 0 8px var(--signal); }
.identity-copy { display: grid; line-height: 1.15; }
.identity-copy strong { font: 600 .78rem var(--font-display); letter-spacing: .11em; }
.identity-copy small { margin-top: 4px; color: var(--muted); font: .52rem var(--font-mono); letter-spacing: .13em; }
.desktop-nav { display: flex; gap: 20px; align-items: center; justify-self: center; }
.desktop-nav a { display: flex; gap: 7px; align-items: center; color: var(--muted); font: 500 .58rem var(--font-mono); letter-spacing: .05em; text-decoration: none; text-transform: uppercase; transition: color .2s; }
.desktop-nav a span { color: var(--dim); font-size: .54rem; }
.desktop-nav a:hover { color: var(--signal); }
.header-actions { display: flex; gap: 11px; align-items: center; justify-self: end; }
.language-switch { display: flex; height: 42px; align-items: center; padding: 0 11px; border: 1px solid var(--line); background: rgba(255,255,255,.02); }
.language-switch button { padding: 0; border: 0; background: transparent; color: var(--dim); font: 500 .56rem var(--font-mono); letter-spacing: .08em; cursor: pointer; transition: color .2s; }
.language-switch button:hover, .language-switch button.active { color: var(--signal); }
.language-switch i { width: 1px; height: 12px; margin: 0 8px; background: var(--line); }
.availability { display: flex; gap: 8px; align-items: center; margin-right: 12px; color: var(--muted); font: .56rem var(--font-mono); letter-spacing: .12em; }
.availability i, .system-line i, .profile-status i, .live-pill i, .exp-signal i, .contact-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 10px var(--signal); animation: pulse 2s infinite; }
.signal-toggle, .menu-toggle { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--line); background: rgba(255,255,255,.02); color: var(--text); cursor: pointer; transition: .2s ease; }
.signal-toggle:hover, .menu-toggle:hover { border-color: var(--line-hot); color: var(--signal); background: rgba(var(--signal-rgb), .08); }
.signal-toggle svg { width: 17px; }
.menu-toggle { display: none; gap: 5px; align-content: center; }
.menu-toggle span { width: 17px; height: 1px; background: currentColor; transition: .25s ease; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }
.mobile-nav[hidden] { display: none; }
.side-rail { position: fixed; z-index: 20; top: 50%; left: 26px; display: flex; gap: 18px; align-items: center; transform: translate(-50%, -50%) rotate(-90deg); color: var(--dim); font: .5rem var(--font-mono); letter-spacing: .14em; pointer-events: none; }
.side-rail i { width: 70px; height: 1px; background: var(--line); }

/* Global type */
.mono-label { margin: 0 0 20px; color: var(--signal); font: 500 .64rem var(--font-mono); letter-spacing: .14em; }
.section-header { display: grid; grid-template-columns: 120px minmax(0, 1fr) minmax(240px, 350px); gap: clamp(34px, 5vw, 80px); align-items: end; margin-bottom: clamp(64px, 8vw, 110px); }
.section-header h2, .process-intro h2, .contact h2 { margin: 0; font-family: var(--font-display); font-size: clamp(3rem, 5.2vw, 6rem); font-weight: 500; letter-spacing: -.065em; line-height: .92; }
.section-header h2 em, .process-intro h2 em, .contact h2 em { color: transparent; font-style: normal; -webkit-text-stroke: 1px rgba(var(--signal-rgb), .82); }
.section-id { display: flex; gap: 12px; align-items: center; align-self: start; color: var(--muted); font-family: var(--font-mono); }
.section-id span { color: var(--signal); font-size: .7rem; }
.section-id i { width: 28px; height: 1px; background: var(--line-hot); }
.section-id small { font-size: .56rem; letter-spacing: .12em; }
.section-summary { max-width: 350px; margin: 0; color: var(--muted); font-size: .88rem; }

/* Buttons */
.cyber-button { position: relative; display: inline-flex; min-height: 52px; gap: 26px; align-items: center; justify-content: space-between; padding: 0 18px 0 22px; border: 1px solid var(--line); font: 500 .66rem var(--font-mono); letter-spacing: .08em; text-decoration: none; text-transform: uppercase; clip-path: polygon(0 0, calc(100% - 11px) 0, 100% 11px, 100% 100%, 11px 100%, 0 calc(100% - 11px)); transition: .25s var(--ease); }
.cyber-button::before { position: absolute; inset: 0; transform: scaleX(0); transform-origin: left; background: rgba(var(--signal-rgb), .09); content: ""; transition: transform .35s var(--ease); }
.cyber-button > * { position: relative; z-index: 1; }
.cyber-button svg { width: 16px; }
.cyber-button:hover::before { transform: scaleX(1); }
.cyber-button:hover { border-color: var(--signal); color: var(--signal); }
.cyber-button.primary { border-color: var(--signal); background: var(--signal); color: #03110e; box-shadow: 0 0 0 rgba(var(--signal-rgb), 0); }
.cyber-button.primary:hover { background: transparent; color: var(--signal); box-shadow: 0 0 32px rgba(var(--signal-rgb), .14); }
.project-link { display: inline-flex; gap: 10px; align-items: center; color: var(--signal); font: 500 .64rem var(--font-mono); letter-spacing: .1em; text-decoration: none; }
.project-link svg { width: 15px; transition: transform .2s; }
.project-link:hover svg { transform: translate(3px, -3px); }
.tag-row { display: flex; flex-wrap: wrap; gap: 6px; }
.tag-row span { padding: 5px 8px; border: 1px solid var(--line); background: rgba(255,255,255,.018); color: var(--muted); font: .55rem var(--font-mono); letter-spacing: .04em; text-transform: uppercase; }

/* Hero */
.hero { position: relative; display: flex; min-height: 100svh; flex-direction: column; justify-content: center; padding: calc(var(--header) + 65px) 0 38px; overflow: hidden; background: radial-gradient(circle at 77% 34%, rgba(var(--violet-rgb), .11), transparent 24%), radial-gradient(circle at 58% 72%, rgba(var(--signal-rgb), .06), transparent 24%), var(--bg); }
.network-canvas, .hero-grid-bg { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-grid-bg { opacity: .22; background-image: linear-gradient(rgba(138,164,190,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(138,164,190,.09) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, #000, rgba(0,0,0,.8) 58%, transparent); transform: translate3d(var(--parallax-x, 0), var(--parallax-y, 0), 0) scale(1.04); transition: transform .18s linear; }
.hero-radar { position: absolute; right: -260px; bottom: -330px; width: 760px; height: 760px; border: 1px solid rgba(var(--signal-rgb), .08); border-radius: 50%; transform: translate3d(var(--parallax-x, 0), var(--parallax-y, 0), 0); transition: transform .26s linear; }
.hero-radar::before, .hero-radar::after, .hero-radar i { position: absolute; inset: 12%; border: 1px solid rgba(var(--signal-rgb), .07); border-radius: 50%; content: ""; }
.hero-radar::after { inset: 28%; }
.hero-radar i:nth-child(1) { inset: 42%; }
.hero-radar i:nth-child(2) { top: 50%; right: 0; bottom: auto; left: 0; border: 0; border-top: 1px solid rgba(var(--signal-rgb), .07); border-radius: 0; }
.hero-radar i:nth-child(3) { top: 0; right: auto; bottom: 0; left: 50%; border: 0; border-left: 1px solid rgba(var(--signal-rgb), .07); border-radius: 0; }
.hero-radar span { position: absolute; top: 50%; left: 50%; width: 48%; height: 1px; transform-origin: left; background: linear-gradient(90deg, rgba(var(--signal-rgb), .4), transparent); animation: radar 8s linear infinite; }
.hero-layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(330px, .62fr); gap: clamp(50px, 8vw, 130px); align-items: center; flex: 1; }
.system-line { display: flex; max-width: 540px; gap: 24px; align-items: center; margin-bottom: 42px; color: var(--dim); font: .54rem var(--font-mono); letter-spacing: .1em; }
.system-line span:first-child { display: flex; gap: 8px; align-items: center; color: var(--signal); }
.hero-kicker { margin: 0 0 18px; color: var(--muted); font: 500 .68rem var(--font-mono); letter-spacing: .18em; }
.hero h1 { margin: 0; font-family: var(--font-display); font-size: clamp(4.5rem, 7.8vw, 8.6rem); font-weight: 500; letter-spacing: -.078em; line-height: .8; }
.hero h1 span { display: block; white-space: nowrap; }
.hero h1 em { color: var(--signal); font-style: normal; }
.hero h1 strong { color: transparent; font-weight: inherit; -webkit-text-stroke: 1.4px rgba(242,246,249,.72); }
.hero-intro { max-width: 680px; margin: 36px 0 0; padding-left: 20px; border-left: 1px solid var(--line-hot); color: #aeb7c5; font-size: clamp(.95rem, 1.25vw, 1.13rem); line-height: 1.75; }
.hero-actions { display: flex; gap: 10px; margin-top: 34px; }
.hero-profile { position: relative; justify-self: end; width: min(100%, 420px); }
.profile-hud { position: relative; display: flex; height: min(55vh, 520px); min-height: 430px; align-items: flex-end; justify-content: center; overflow: hidden; border: 1px solid var(--line); background: linear-gradient(160deg, rgba(var(--signal-rgb),.09), transparent 42%), radial-gradient(circle at 50% 38%, rgba(var(--violet-rgb),.18), transparent 43%), #090d16; clip-path: polygon(0 24px, 24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%); }
.profile-hud::before { position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 35px 35px; content: ""; }
.profile-hud img { position: relative; z-index: 2; width: 94%; height: 94%; object-fit: contain; object-position: center bottom; filter: saturate(.7) contrast(1.08); }
.profile-hud::after { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; height: 36%; background: linear-gradient(transparent, rgba(5,7,13,.76)); content: ""; }
.profile-scan { position: absolute; z-index: 4; top: -10%; right: 0; left: 0; height: 2px; background: var(--signal); box-shadow: 0 0 22px 5px rgba(var(--signal-rgb),.3); animation: scan 5s ease-in-out infinite; }
.profile-orbit { position: absolute; z-index: 1; top: 22%; left: 10%; width: 80%; aspect-ratio: 1; border: 1px solid rgba(var(--signal-rgb),.24); border-radius: 50%; animation: spin 20s linear infinite; }
.profile-orbit::before, .profile-orbit::after { position: absolute; top: 50%; left: 50%; width: 112%; height: 42%; transform: translate(-50%,-50%) rotate(30deg); border: 1px solid rgba(var(--violet-rgb),.22); border-radius: 50%; content: ""; }
.profile-orbit::after { transform: translate(-50%,-50%) rotate(-30deg); }
.hud-corner { position: absolute; z-index: 5; width: 22px; height: 22px; border-color: var(--signal); border-style: solid; opacity: .75; }
.hud-corner.tl { top: 14px; left: 14px; border-width: 1px 0 0 1px; }.hud-corner.tr { top: 14px; right: 14px; border-width: 1px 1px 0 0; }.hud-corner.bl { bottom: 14px; left: 14px; border-width: 0 0 1px 1px; }.hud-corner.br { right: 14px; bottom: 14px; border-width: 0 1px 1px 0; }
.profile-code { position: absolute; z-index: 5; top: 19px; left: 24px; font: 500 .62rem var(--font-mono); letter-spacing: .12em; }.profile-code span { color: var(--signal); }
.profile-status { position: absolute; z-index: 5; right: 22px; bottom: 20px; display: flex; gap: 8px; align-items: center; font: .53rem var(--font-mono); letter-spacing: .1em; }
.profile-data { display: grid; grid-template-columns: repeat(3, 1fr); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.profile-data div { display: grid; gap: 5px; padding: 13px 12px; border-right: 1px solid var(--line); }.profile-data div:last-child { border: 0; }
.profile-data span { color: var(--dim); font: .47rem var(--font-mono); letter-spacing: .08em; }.profile-data strong { font: 500 .54rem var(--font-mono); }
.hero-footer { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 150px) 1fr; gap: 20px; align-items: end; margin-top: 50px; }
.hero-metric { display: flex; gap: 12px; align-items: end; }.hero-metric strong { color: var(--signal); font: 500 1.85rem var(--font-display); letter-spacing: -.06em; }.hero-metric span { padding-bottom: 4px; color: var(--dim); font: .48rem/1.45 var(--font-mono); letter-spacing: .08em; }
.scroll-cue { display: flex; gap: 12px; align-items: center; justify-self: end; color: var(--muted); font: .52rem var(--font-mono); letter-spacing: .1em; text-decoration: none; }.scroll-cue svg { width: 16px; color: var(--signal); }

/* Stream */
.logo-stream { position: relative; z-index: 3; display: grid; height: 82px; grid-template-columns: 170px 1fr; align-items: center; overflow: hidden; border-block: 1px solid var(--line); background: #080b12; }
.stream-label { display: grid; height: 100%; place-items: center; border-right: 1px solid var(--line); color: var(--signal); font: .55rem var(--font-mono); letter-spacing: .12em; }
.logo-track { display: flex; width: max-content; animation: marquee 34s linear infinite; }
.logo-set { display: flex; gap: 62px; align-items: center; padding-inline: 31px; }
.logo-set span { display: flex; gap: 10px; align-items: center; color: #a7afba; font: 500 .64rem var(--font-mono); letter-spacing: .08em; white-space: nowrap; }
.logo-set img { width: 18px; height: 18px; filter: invert(96%) sepia(8%) saturate(406%) hue-rotate(175deg) brightness(88%); opacity: .75; }

/* Profile */
.profile-section { overflow: hidden; background: radial-gradient(circle at 82% 35%, rgba(var(--violet-rgb), .1), transparent 26%), linear-gradient(180deg, #080b12, var(--bg-2)); }
.profile-showcase { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); border: 1px solid var(--line); background: rgba(255,255,255,.008); }
.profile-manifesto { position: relative; display: flex; min-height: 610px; flex-direction: column; justify-content: space-between; padding: clamp(34px, 5vw, 74px); overflow: hidden; border-right: 1px solid var(--line); background: linear-gradient(145deg, rgba(var(--signal-rgb),.055), transparent 58%); }
.profile-manifesto::before { position: absolute; right: -150px; bottom: -240px; width: 520px; aspect-ratio: 1; border: 1px solid rgba(var(--signal-rgb),.11); border-radius: 50%; box-shadow: inset 0 0 80px rgba(var(--signal-rgb),.03); content: ""; }
.manifesto-status { position: relative; display: flex; align-items: center; justify-content: space-between; color: var(--dim); font: .52rem var(--font-mono); letter-spacing: .1em; }
.manifesto-status span { display: flex; gap: 9px; align-items: center; color: var(--signal); }
.manifesto-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 12px var(--signal); animation: pulse 2s infinite; }
.profile-manifesto > p { position: relative; max-width: 850px; margin: 70px 0; color: #d6dde6; font: 400 clamp(1.45rem, 2.2vw, 2.45rem)/1.42 var(--font-display); letter-spacing: -.035em; }
.profile-signature { position: relative; display: flex; gap: 15px; align-items: center; }
.profile-signature > span { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--line-hot); color: var(--signal); font: .7rem var(--font-mono); }
.profile-signature div { display: grid; }
.profile-signature strong { font: 600 .72rem var(--font-display); letter-spacing: .1em; }
.profile-signature small { margin-top: 5px; color: var(--dim); font: .47rem var(--font-mono); letter-spacing: .08em; }
.tech-stack-card { min-width: 0; padding: clamp(25px, 3vw, 42px); background: #070b13; }
.tech-stack-head { display: flex; align-items: start; justify-content: space-between; margin-bottom: 32px; }
.tech-stack-head div { display: grid; }
.tech-stack-head span, .tech-stack-head small { color: var(--signal); font: .48rem var(--font-mono); letter-spacing: .12em; }
.tech-stack-head strong { margin-top: 7px; font: 500 1.25rem var(--font-display); }
.tech-stack-head small { color: var(--dim); }
.tech-logo-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.tech-logo { display: grid; aspect-ratio: 1; place-items: center; align-content: center; gap: 13px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.009); transition: .25s var(--ease); }
.tech-logo:hover { z-index: 1; border-color: rgba(var(--signal-rgb),.42); background: rgba(var(--signal-rgb),.05); transform: translateY(-3px); }
.tech-logo img { width: clamp(27px, 2.5vw, 40px); height: clamp(27px, 2.5vw, 40px); object-fit: contain; }
.tech-logo span { color: var(--muted); font: .5rem var(--font-mono); letter-spacing: .06em; }
.profile-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 18px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.profile-stat { position: relative; display: grid; min-height: 210px; align-content: space-between; padding: 27px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.009); color: inherit; text-decoration: none; transition: .25s var(--ease); }
.profile-stat > span { color: var(--dim); font: .5rem var(--font-mono); letter-spacing: .1em; }
.profile-stat > strong { color: var(--signal); font: 500 clamp(3rem, 5vw, 5.8rem)/1 var(--font-display); letter-spacing: -.07em; }
.profile-stat > p { margin: 0; color: var(--muted); font: .72rem var(--font-mono); }
.profile-github > i { width: clamp(42px, 5vw, 70px); height: auto; color: var(--text); }
.profile-github > b { position: absolute; top: 24px; right: 24px; color: var(--signal); }
.profile-github > b svg { width: 18px; }
.profile-github:hover { border-color: rgba(var(--signal-rgb),.4); background: rgba(var(--signal-rgb),.045); }

/* Legacy product mockups */
.project-feature { position: relative; overflow: hidden; border: 1px solid var(--line); background: var(--surface); transform-style: preserve-3d; transition: transform .16s ease-out, border-color .25s; }
.project-feature::before { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(var(--signal-rgb), .04), transparent 35%); content: ""; pointer-events: none; }
.project-feature:hover { border-color: rgba(var(--signal-rgb),.34); }
.project-balafon { display: grid; min-height: 720px; grid-template-columns: .75fr 1.25fr; }
.project-copy { position: relative; z-index: 2; padding: clamp(34px, 4vw, 65px); border-right: 1px solid var(--line); }
.project-topline { display: flex; align-items: center; justify-content: space-between; margin-bottom: 50px; }
.project-number { color: var(--dim); font: .58rem var(--font-mono); letter-spacing: .12em; }.live-pill { display: flex; gap: 8px; align-items: center; padding: 6px 9px; border: 1px solid rgba(var(--signal-rgb),.2); color: var(--signal); font: .48rem var(--font-mono); letter-spacing: .08em; }
.project-emblem { display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: 35px; border: 1px solid var(--line-hot); background: rgba(var(--signal-rgb), .07); color: var(--signal); clip-path: polygon(0 0, 100% 0, 100% 76%, 76% 100%, 0 100%); }.project-emblem svg { width: 25px; }
.project-copy h3, .compact-copy h3 { margin: 0; font-family: var(--font-display); font-size: clamp(3rem, 4.4vw, 5.5rem); font-weight: 500; letter-spacing: -.065em; line-height: .89; }
.project-copy > p:not(.mono-label) { max-width: 520px; margin: 28px 0; color: var(--muted); font-size: .92rem; }
.feature-list { display: grid; gap: 9px; margin: 0 0 28px; padding: 0; color: #c3cad4; font-size: .72rem; list-style: none; }.feature-list li { display: flex; gap: 10px; align-items: center; }.feature-list svg { width: 13px; color: var(--signal); }
.project-copy .project-link { margin-top: 36px; }
.product-visual { position: relative; min-width: 0; min-height: 650px; perspective: 1200px; }
.broadcast-ui { display: grid; place-items: center; padding: 70px 0 70px 50px; background: radial-gradient(circle at 60% 45%, rgba(var(--violet-rgb),.16), transparent 37%), linear-gradient(145deg,#090d16,#06080f); }
.visual-glow { position: absolute; width: 60%; aspect-ratio: 1; border-radius: 50%; background: rgba(var(--signal-rgb),.12); filter: blur(100px); }
.dashboard-window { position: relative; z-index: 2; display: flex; width: 110%; min-height: 500px; overflow: hidden; transform: rotateY(-5deg) rotateX(2deg); border: 1px solid rgba(154,177,202,.22); border-radius: 13px 0 0 13px; background: #090e18; box-shadow: -30px 45px 100px rgba(0,0,0,.58), 0 0 60px rgba(var(--signal-rgb),.06); }
.dash-sidebar { display: flex; width: 62px; flex: 0 0 62px; flex-direction: column; gap: 25px; align-items: center; padding: 18px 0; border-right: 1px solid rgba(255,255,255,.07); background: #060a11; color: var(--dim); }.dash-sidebar b { display: grid; width: 32px; height: 32px; place-items: center; margin-bottom: 13px; background: var(--signal); color: #04110f; font: 700 .72rem var(--font-display); }.dash-sidebar svg { width: 17px; }.dash-sidebar .active { color: var(--signal); }.dash-sidebar span { display: grid; width: 28px; height: 28px; place-items: center; margin-top: auto; border: 1px solid var(--line); border-radius: 50%; font: .48rem var(--font-mono); }
.dash-body { min-width: 0; flex: 1; padding: 26px; }.dash-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }.dash-head div { display: grid; }.dash-head small, .program-screen small, .next-card small, .dash-stat small { color: var(--dim); font: .45rem var(--font-mono); letter-spacing: .1em; }.dash-head strong { font: 500 1rem var(--font-display); }.dash-head > span { display: flex; gap: 6px; align-items: center; color: var(--signal); font: .42rem var(--font-mono); }.dash-head > span i { width: 4px; height: 4px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 7px var(--signal); }
.dash-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 12px; }.program-screen, .next-card, .dash-stat, .timeline-strip { border: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.02); }.program-screen { position: relative; display: flex; min-height: 215px; flex-direction: column; justify-content: space-between; padding: 18px; overflow: hidden; grid-column: 1; grid-row: span 2; }.program-screen::before { position: absolute; inset: 0; opacity: .2; background: linear-gradient(120deg, rgba(var(--violet-rgb),.4), transparent 60%); content: ""; }.program-screen b { position: relative; font: 300 2.5rem var(--font-mono); letter-spacing: -.08em; }.program-screen span { position: relative; color: #c8ced8; font: .48rem var(--font-mono); letter-spacing: .1em; }.signal-wave { position: absolute; inset: 30px 0 0; display: flex; gap: 7px; align-items: center; justify-content: center; }.signal-wave i { width: 2px; height: 40%; background: var(--signal); opacity: .28; animation: wave 1.3s ease-in-out infinite; }.signal-wave i:nth-child(2){animation-delay:.1s}.signal-wave i:nth-child(3){animation-delay:.2s}.signal-wave i:nth-child(4){animation-delay:.3s}.signal-wave i:nth-child(5){animation-delay:.4s}.signal-wave i:nth-child(6){animation-delay:.5s}.signal-wave i:nth-child(7){animation-delay:.6s}
.next-card { display: grid; min-height: 130px; padding: 16px; }.next-card strong { align-self: end; font: 500 .8rem var(--font-display); }.next-card time { color: var(--signal); font: 1rem var(--font-mono); }.next-card div { height: 2px; background: var(--line); }.next-card div i { display: block; width: 67%; height: 100%; background: var(--signal); }.dash-stat { display: grid; padding: 14px; }.dash-stat strong { color: var(--text); font: 500 1.6rem var(--font-display); }.dash-stat span { color: var(--signal); font: .4rem var(--font-mono); }.timeline-strip { display: flex; height: 72px; gap: 5px; align-items: center; padding: 12px; grid-column: 1 / -1; }.timeline-strip span { color: var(--dim); font: .38rem var(--font-mono); }.timeline-strip i { width: var(--size); height: 18px; background: rgba(var(--signal-rgb),.14); border-left: 2px solid var(--signal); }.timeline-strip b { width: 1px; height: 38px; background: var(--danger); box-shadow: 0 0 8px var(--danger); }
.floating-diagnostic { position: absolute; z-index: 3; right: 6%; bottom: 7%; display: grid; min-width: 126px; grid-template-columns: 30px 1fr; padding: 12px; border: 1px solid rgba(var(--signal-rgb),.3); background: rgba(6,10,17,.88); box-shadow: 0 15px 40px rgba(0,0,0,.4); backdrop-filter: blur(10px); }.floating-diagnostic svg { width: 18px; color: var(--signal); grid-row: span 2; }.floating-diagnostic span { color: var(--dim); font: .4rem var(--font-mono); }.floating-diagnostic strong { font: 500 .8rem var(--font-mono); }
.project-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }.project-feature.compact { min-height: 780px; }.compact-visual { position: relative; height: 410px; overflow: hidden; border-bottom: 1px solid var(--line); }.compact-copy { padding: clamp(28px,3.5vw,48px); }.compact-copy h3 { font-size: clamp(2.8rem,4vw,4.5rem); }.compact-copy > p:not(.mono-label) { min-height: 78px; margin: 20px 0 25px; color: var(--muted); font-size: .86rem; }.compact-copy .project-link { margin-top: 30px; }
.planora-ui { background: radial-gradient(circle at 44% 38%, rgba(144,105,255,.36), transparent 22%), linear-gradient(145deg,#170d31,#090815 70%); }.planet { position: absolute; top: 4%; left: 9%; width: 260px; aspect-ratio: 1; border: 1px solid rgba(190,172,255,.24); border-radius: 50%; }.planet::before,.planet::after { position: absolute; inset: 18%; border: 1px solid rgba(190,172,255,.15); border-radius: 50%; content:""; }.planet::after { inset: 37%; background: radial-gradient(circle at 40% 30%,#bca8ff,#4a268f 50%,#130827 73%); box-shadow: 0 0 60px rgba(147,117,255,.45); }.planet i { position:absolute; top:50%; left:-12%; width:125%; height:34%; transform:translateY(-50%) rotate(-18deg); border:1px solid rgba(190,172,255,.3); border-radius:50%; }.focus-card { position: absolute; right: 7%; bottom: 8%; width: 62%; padding: 24px; border: 1px solid rgba(207,198,255,.18); background: rgba(11,8,24,.72); box-shadow: 0 25px 50px rgba(0,0,0,.4); backdrop-filter: blur(15px); }.focus-card small { color:#9e8ed2; font:.44rem var(--font-mono); }.focus-card strong { display:block; margin-top:15px; font:500 1.25rem var(--font-display); }.focus-card p { margin: 4px 0 20px; color:#877fa2; font-size:.64rem; }.focus-card > div { height:2px; background:rgba(255,255,255,.1); }.focus-card > div i { display:block; width:var(--p); height:100%; background:#a88cff; box-shadow:0 0 8px #a88cff; }.progress-orbit { position:absolute; top:9%; right:8%; display:grid; width:90px; aspect-ratio:1; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:rgba(8,7,17,.5); }.progress-orbit::before { position:absolute; inset:5px; border:2px solid transparent; border-top-color:#a88cff; border-right-color:#a88cff; border-radius:50%; transform:rotate(20deg); content:""; }.progress-orbit b { font:500 1.2rem var(--font-display); }.progress-orbit span { position:absolute; top:61%; color:#7f7597; font:.36rem/1.3 var(--font-mono); text-align:center; }
.edu-ui { background: radial-gradient(circle at 72% 25%,rgba(75,246,220,.18),transparent 23%),linear-gradient(145deg,#071c22,#071014 70%); }.edu-orb { position:absolute; top:-25%; right:-5%; width:300px; aspect-ratio:1; border:1px solid rgba(var(--signal-rgb),.2); border-radius:50%; box-shadow: inset 0 0 70px rgba(var(--signal-rgb),.08); }.edu-orb::before,.edu-orb::after { position:absolute; inset:16%; border:1px solid rgba(var(--signal-rgb),.16); border-radius:50%; content:""; }.edu-orb::after { inset:35%; background:rgba(var(--signal-rgb),.09); }.edu-panel { position:absolute; right:6%; bottom:0; left:6%; min-height:340px; padding:24px; border:1px solid rgba(160,219,211,.16); background:rgba(5,16,20,.72); backdrop-filter:blur(13px); }.edu-nav { display:flex; align-items:center; margin-bottom:42px; }.edu-nav b { display:grid; width:30px; height:30px; place-items:center; margin-right:8px; background:var(--signal); color:#041310; font:700 .7rem var(--font-display); }.edu-nav span { font:500 .55rem var(--font-mono); letter-spacing:.08em; }.edu-nav svg { width:14px; margin-left:auto; color:var(--muted); }.edu-panel > small { color:var(--signal); font:.42rem var(--font-mono); letter-spacing:.1em; }.edu-panel > strong { display:block; margin-top:10px; font:500 1.35rem/1.05 var(--font-display); }.edu-data { display:flex; gap:9px; margin-top:25px; }.edu-data div { display:grid; min-width:95px; padding:9px; border:1px solid var(--line); }.edu-data span { color:var(--dim); font:.38rem var(--font-mono); }.edu-data b { font:500 1rem var(--font-display); }.edu-bars { position:absolute; right:24px; bottom:24px; display:flex; width:40%; height:75px; gap:6px; align-items:end; border-bottom:1px solid var(--line); }.edu-bars i { width:100%; height:var(--h); background:linear-gradient(var(--signal),rgba(var(--signal-rgb),.12)); }

/* Lab */
.systems-lab { background: #060910; border-top: 1px solid var(--line); }.lab-header { grid-template-columns:120px minmax(0,1fr) auto; }.filter-panel { display:flex; align-self:end; border:1px solid var(--line); }.filter { height:38px; padding:0 13px; border:0; border-right:1px solid var(--line); background:transparent; color:var(--muted); font:500 .55rem var(--font-mono); cursor:pointer; }.filter:last-child{border:0}.filter:hover,.filter.active{background:var(--signal);color:#05110f}.lab-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.lab-card { position:relative; display:flex; min-height:400px; flex-direction:column; padding:27px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.008); transition:.3s var(--ease); }.lab-card::before { position:absolute; inset:0; opacity:0; background:linear-gradient(145deg,rgba(var(--signal-rgb),.08),transparent 55%); content:""; transition:opacity .3s; }.lab-card:hover { z-index:2; border-color:rgba(var(--signal-rgb),.34); transform:translateY(-4px); background:#090e18; box-shadow:0 25px 50px rgba(0,0,0,.28); }.lab-card:hover::before{opacity:1}.lab-card[hidden]{display:none}.lab-index { position:relative; color:var(--dim); font:.5rem var(--font-mono); letter-spacing:.1em; }.lab-icon { position:relative; display:grid; width:46px; height:46px; place-items:center; margin:40px 0 30px; border:1px solid var(--line); color:var(--signal); background:rgba(var(--signal-rgb),.04); }.lab-icon svg{width:20px}.lab-domain { position:relative; color:var(--signal); font:.5rem var(--font-mono); letter-spacing:.1em; }.lab-card h3 { position:relative; margin:9px 0 16px; font:500 clamp(1.55rem,2vw,2.25rem) var(--font-display); letter-spacing:-.05em; }.lab-card p { position:relative; margin:0 0 25px; color:var(--muted); font-size:.75rem; }.lab-card .tag-row{position:relative;margin-top:auto}.lab-card > a { position:absolute; z-index:2; top:23px; right:23px; display:grid; width:34px; height:34px; place-items:center; border:1px solid var(--line); color:var(--signal); }.lab-card > a svg{width:14px}.lab-card.featured { background:linear-gradient(145deg,rgba(var(--violet-rgb),.13),transparent 58%); }.lab-cta { display:flex; align-items:center; justify-content:space-between; margin-top:30px; padding:27px 30px; border:1px solid var(--line); background:rgba(255,255,255,.015); }.lab-cta div{display:grid}.lab-cta div span{color:var(--signal);font:.52rem var(--font-mono);letter-spacing:.12em}.lab-cta div strong{margin-top:5px;font:500 1rem var(--font-display)}

/* Expertise */
.expertise { overflow:hidden; background:radial-gradient(circle at 83% 40%,rgba(var(--violet-rgb),.08),transparent 25%),var(--bg-2); }.capability-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.capability { position:relative; min-height:500px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.capability > span { color:var(--dim); font:.55rem var(--font-mono); }.cap-icon { display:grid; width:64px; height:64px; place-items:center; margin:55px 0 42px; border:1px solid var(--line-hot); border-radius:50%; color:var(--signal); }.cap-icon svg{width:26px}.capability h3 { margin:0; font:500 clamp(2rem,2.6vw,3.1rem)/.95 var(--font-display); letter-spacing:-.06em; }.capability p { min-height:82px; margin:25px 0; color:var(--muted); font-size:.78rem; }.capability ul { display:grid; gap:9px; margin:0; padding:20px 0 0; border-top:1px solid var(--line); color:#b1bac7; font:.58rem var(--font-mono); list-style:none; }.capability li::before{margin-right:8px;color:var(--signal);content:"+"}.tech-matrix { margin-top:55px; border:1px solid var(--line); background:rgba(255,255,255,.01); }.matrix-head { display:flex; justify-content:space-between; padding:12px 18px; border-bottom:1px solid var(--line); color:var(--signal); font:.5rem var(--font-mono); letter-spacing:.1em; }.matrix-row { display:grid; grid-template-columns:150px 1fr 55px; gap:20px; padding:18px; border-bottom:1px solid var(--line); align-items:center; }.matrix-row:last-child{border:0}.matrix-row span{color:var(--muted);font:.56rem var(--font-mono);letter-spacing:.1em}.matrix-row strong{font:400 .7rem var(--font-mono);}.matrix-row b{color:var(--signal);font:500 .65rem var(--font-mono);text-align:right}

/* Experience */
.experience { background:#060910;border-top:1px solid var(--line); }.experience-console{border-top:1px solid var(--line)}.experience-entry{border-bottom:1px solid var(--line)}.experience-entry summary{display:grid;min-height:120px;grid-template-columns:150px 1fr 160px 30px;gap:28px;align-items:center;padding:0 20px;list-style:none;cursor:pointer;transition:.25s}.experience-entry summary::-webkit-details-marker{display:none}.experience-entry summary:hover{background:rgba(var(--signal-rgb),.035)}.exp-year{color:var(--muted);font:.62rem var(--font-mono)}.exp-company{display:grid;font:500 clamp(1.5rem,2.5vw,2.45rem) var(--font-display);letter-spacing:-.04em}.exp-company small{margin-top:4px;color:var(--dim);font:.5rem var(--font-mono);letter-spacing:.1em}.exp-signal{display:flex;gap:8px;align-items:center;justify-self:end;color:var(--muted);font:.52rem var(--font-mono);letter-spacing:.08em}.exp-toggle{width:18px;color:var(--signal);transition:transform .3s}.experience-entry[open] .exp-toggle{transform:rotate(45deg)}.experience-entry[open] summary{background:rgba(var(--signal-rgb),.025)}.experience-body{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);background:#080c14}.experience-body.single{grid-template-columns:1fr}.experience-body article{padding:clamp(28px,4vw,55px);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.experience-body article:nth-child(even){border-right:0}.experience-body article>span{color:var(--signal);font:.54rem var(--font-mono);letter-spacing:.1em}.experience-body h3{margin:13px 0 16px;font:500 clamp(1.55rem,2.5vw,2.6rem) var(--font-display);letter-spacing:-.05em}.experience-body p{max-width:650px;margin:0 0 22px;color:var(--muted);font-size:.8rem}.experience-body ul{display:grid;gap:8px;margin:0 0 25px;padding:0;list-style:none;color:#b1bac7;font-size:.7rem}.experience-body li{position:relative;padding-left:16px}.experience-body li::before{position:absolute;left:0;color:var(--signal);content:"›"}.techline{padding:13px 15px;border-left:2px solid var(--signal);background:rgba(var(--signal-rgb),.04);color:#9ca7b7;font:.54rem/1.7 var(--font-mono)}

/* CMS */
.cms { background:radial-gradient(circle at 15% 65%,rgba(var(--signal-rgb),.06),transparent 24%),var(--bg-2); }.cms-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.cms-card{position:relative;min-height:480px;padding:clamp(28px,4vw,50px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.008);transition:.3s}.cms-card:hover{background:rgba(var(--signal-rgb),.025)}.cms-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:55px}.cms-brand img{width:38px;height:38px;filter:invert(1);opacity:.85}.cms-brand span,.cms-id{color:var(--dim);font:.5rem var(--font-mono);letter-spacing:.1em}.cms-id{color:var(--signal)}.cms-card h3{margin:12px 0 18px;font:500 clamp(2rem,3.5vw,4rem) var(--font-display);letter-spacing:-.06em}.cms-card>p{max-width:600px;margin:0 0 25px;color:var(--muted);font-size:.82rem}.cms-card ul{display:grid;gap:7px;margin:0 0 35px;padding:0;color:#b3bdca;font-size:.68rem;list-style:none}.cms-card li::before{margin-right:8px;color:var(--signal);content:"+"}.cms-card>a,.cms-links a{display:inline-flex;gap:8px;align-items:center;color:var(--signal);font:.55rem var(--font-mono);letter-spacing:.08em;text-decoration:none}.cms-card>a svg{width:14px}.cms-links{display:flex;flex-wrap:wrap;gap:8px}.cms-links a{padding:7px 9px;border:1px solid var(--line)}

/* Process */
.process { background:#05070d;border-top:1px solid var(--line); }.process-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(55px,9vw,140px)}.process-intro{position:sticky;top:130px;align-self:start}.process-intro .mono-label{margin-top:65px}.process-intro>p:not(.mono-label){max-width:480px;margin:30px 0;color:var(--muted);font-size:.88rem}.protocol-list{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.protocol-list li{display:grid;min-height:210px;grid-template-columns:60px 1fr 80px;gap:25px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.protocol-list>li>span{align-self:start;color:var(--signal);font:.58rem var(--font-mono)}.protocol-list>li>div{display:grid;grid-template-columns:46px 1fr;column-gap:20px}.protocol-list svg{width:28px;color:var(--signal);grid-row:span 2}.protocol-list h3{margin:0;font:500 clamp(1.8rem,3vw,3.2rem) var(--font-display);letter-spacing:-.055em}.protocol-list p{max-width:520px;margin:8px 0 0;color:var(--muted);font-size:.76rem}.protocol-list small{align-self:end;color:var(--dim);font:.48rem var(--font-mono);letter-spacing:.1em}

/* Contact + footer */
.contact{position:relative;padding-block:clamp(120px,14vw,220px);overflow:hidden;border-top:1px solid var(--line);background:radial-gradient(circle at 75% 50%,rgba(var(--violet-rgb),.18),transparent 25%),radial-gradient(circle at 50% 55%,rgba(var(--signal-rgb),.08),transparent 35%),#060810}.contact-grid{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(150,170,197,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(150,170,197,.11) 1px,transparent 1px);background-size:58px 58px;mask-image:radial-gradient(circle at center,#000,transparent 78%)}.contact-orbit{position:absolute;top:50%;right:-130px;width:650px;aspect-ratio:1;transform:translateY(-50%);border:1px solid rgba(var(--signal-rgb),.16);border-radius:50%;animation:spin 36s linear infinite}.contact-orbit i{position:absolute;inset:18%;border:1px solid rgba(var(--violet-rgb),.16);border-radius:50%}.contact-orbit i:nth-child(2){inset:36%}.contact-orbit span{position:absolute;top:49%;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 20px var(--signal)}.contact-inner{position:relative;z-index:2}.contact-status{display:flex;max-width:560px;gap:10px;align-items:center;margin-bottom:60px;padding-bottom:15px;border-bottom:1px solid var(--line);font:.5rem var(--font-mono);letter-spacing:.08em}.contact-status span{color:var(--signal)}.contact-status b{margin-left:auto;color:var(--muted);font-weight:400}.contact h2{max-width:1000px;font-size:clamp(4rem,8vw,9rem)}.contact-panel{display:grid;max-width:900px;grid-template-columns:1fr auto;margin-top:70px;border:1px solid var(--line)}.contact-mail{position:relative;display:grid;padding:25px 65px 25px 28px;text-decoration:none}.contact-mail span{color:var(--signal);font:.5rem var(--font-mono);letter-spacing:.1em}.contact-mail strong{margin-top:7px;font:500 clamp(1rem,2vw,1.65rem) var(--font-display)}.contact-mail svg{position:absolute;top:50%;right:25px;width:22px;transform:translateY(-50%);color:var(--signal)}.copy-email{display:flex;min-width:145px;gap:10px;align-items:center;justify-content:center;border:0;border-left:1px solid var(--line);background:rgba(var(--signal-rgb),.04);color:var(--muted);font:.52rem var(--font-mono);cursor:pointer}.copy-email:hover{background:var(--signal);color:#04110f}.copy-email svg{width:14px}.contact-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.contact-links a{display:flex;min-height:42px;gap:10px;align-items:center;padding:0 13px;border:1px solid var(--line);color:var(--muted);font:.52rem var(--font-mono);text-decoration:none;transition:.2s}.contact-links a:hover{border-color:var(--signal);color:var(--signal)}.contact-links img,.contact-links svg{width:13px;height:13px;filter:invert(1);opacity:.8}.contact-links a svg:last-child{margin-left:8px}.site-footer{padding-block:42px;border-top:1px solid var(--line);background:#05070d}.footer-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center}.footer-brand{display:flex;gap:12px;align-items:center}.footer-brand>span{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line-hot);color:var(--signal);font:.68rem var(--font-mono)}.footer-brand div{display:grid}.footer-brand strong{font:500 .7rem var(--font-display);letter-spacing:.1em}.footer-brand small{color:var(--dim);font:.46rem var(--font-mono)}.footer-inner>p{margin:0;color:var(--dim);font:.5rem/1.6 var(--font-mono);text-align:center}.footer-meta{display:flex;gap:25px;align-items:center;justify-self:end;color:var(--dim);font:.5rem var(--font-mono)}.footer-meta a{display:flex;gap:7px;align-items:center;color:var(--muted);text-decoration:none}.footer-meta svg{width:12px;color:var(--signal)}.toast{position:fixed;z-index:300;right:22px;bottom:22px;padding:12px 16px;transform:translateY(100px);border:1px solid var(--line-hot);background:rgba(5,8,14,.92);color:var(--signal);font:.55rem var(--font-mono);letter-spacing:.08em;opacity:0;backdrop-filter:blur(10px);transition:.3s var(--ease)}.toast.visible{transform:translateY(0);opacity:1}

/* Immersive FX */
body.booting { overflow: hidden; }
.boot-sequence { position: fixed; z-index: 2000; inset: 0; display: grid; place-items: center; overflow: hidden; background: #020409; opacity: 1; visibility: visible; transition: opacity .65s var(--ease), visibility .65s; }
.boot-sequence::before { position: absolute; inset: 0; background: radial-gradient(circle at 50% 45%, rgba(var(--signal-rgb),.13), transparent 31%), radial-gradient(circle at 50% 50%, transparent 0 38%, rgba(var(--violet-rgb),.06) 39%, transparent 40%); content: ""; animation: boot-breathe 1.5s ease-in-out infinite; }
.boot-sequence::after { position: absolute; inset: -40% 0 auto; height: 40%; background: linear-gradient(transparent, rgba(var(--signal-rgb),.16), transparent); content: ""; filter: blur(12px); animation: boot-scan 1.6s linear infinite; }
.boot-sequence.is-complete { opacity: 0; visibility: hidden; pointer-events: none; }
.boot-grid { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(var(--signal-rgb),.12) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--signal-rgb),.12) 1px,transparent 1px); background-size: 52px 52px; mask-image: radial-gradient(circle at center,#000,transparent 74%); transform: perspective(600px) rotateX(58deg) scale(1.8) translateY(24%); transform-origin: center bottom; }
.boot-core { position: absolute; top: 45%; left: 50%; width: 240px; aspect-ratio: 1; transform: translate(-50%,-50%); }
.boot-core::before,.boot-core::after,.boot-core i { position: absolute; inset: 0; border: 1px solid rgba(var(--signal-rgb),.28); border-radius: 50%; content: ""; animation: boot-orbit 4s linear infinite; }
.boot-core::after { inset: 14%; border-color: rgba(var(--violet-rgb),.35); animation-direction: reverse; animation-duration: 3s; }
.boot-core i:nth-child(1){inset:28%;border-style:dashed;animation-duration:2.2s}.boot-core i:nth-child(2){inset:39%;border-color:rgba(var(--signal-rgb),.5);animation-direction:reverse}.boot-core i:nth-child(3){inset:46%;background:rgba(var(--signal-rgb),.08);box-shadow:0 0 55px rgba(var(--signal-rgb),.18)}
.boot-core span { position:absolute; z-index:2; inset:0; display:grid; place-items:center; color:var(--signal); font:500 1.15rem var(--font-mono); letter-spacing:.12em; }
.boot-terminal { position: absolute; z-index: 3; bottom: 9%; left: 50%; width: min(560px, calc(100% - 40px)); transform: translateX(-50%); }
.boot-brand { display:flex; justify-content:space-between; padding-bottom:12px; border-bottom:1px solid var(--line-hot); font:.52rem var(--font-mono); letter-spacing:.12em; }.boot-brand b{color:var(--signal)}.boot-brand span{color:var(--dim)}
.boot-terminal ol { display:grid; gap:5px; margin:14px 0; padding:0; color:var(--muted); font:.48rem/1.5 var(--font-mono); list-style:none; }.boot-terminal li{opacity:0;transform:translateX(-8px);animation:boot-line .28s ease forwards}.boot-terminal li:nth-child(2){animation-delay:.28s}.boot-terminal li:nth-child(3){animation-delay:.56s}.boot-terminal li:nth-child(4){animation-delay:.84s;color:var(--signal)}
.boot-terminal li::before{margin-right:10px;color:var(--signal);content:">"}.boot-meter{height:2px;overflow:hidden;background:var(--line)}.boot-meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--signal),var(--violet));box-shadow:0 0 15px var(--signal);animation:boot-load 1.25s var(--ease) forwards}.boot-terminal>small{display:block;margin-top:8px;color:var(--signal);font:.5rem var(--font-mono);text-align:right}
.boot-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:8px;margin-top:18px;transform:translateY(12px);opacity:0;pointer-events:none;transition:opacity .45s ease,transform .45s var(--ease)}.boot-sequence.is-ready .boot-actions{transform:none;opacity:1;pointer-events:auto}.boot-actions button{position:relative;z-index:4;display:flex;min-height:48px;gap:10px;align-items:center;justify-content:center;padding:10px 14px;border:1px solid var(--line);background:rgba(5,8,14,.68);color:var(--muted);font:.5rem var(--font-mono);letter-spacing:.08em;cursor:pointer;overflow:hidden}.boot-actions button::before{position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(var(--signal-rgb),.15),transparent);content:"";transform:translateX(-120%);transition:transform .55s}.boot-actions button:hover::before{transform:translateX(120%)}.boot-actions button:hover{border-color:var(--signal);color:var(--signal)}.boot-actions .boot-enter{border-color:rgba(var(--signal-rgb),.45);background:rgba(var(--signal-rgb),.08);color:var(--signal)}.boot-actions button span,.boot-actions button svg{position:relative;z-index:1}.boot-actions button svg{width:14px}.boot-sequence.is-leaving .boot-core{animation:boot-implode .58s var(--ease) forwards}.boot-sequence.is-leaving .boot-terminal{animation:boot-terminal-out .4s ease forwards}.boot-sequence.with-sound::before{animation:sonic-flash .7s ease forwards}
.sound-toggle { display:grid; width:42px; height:42px; place-items:center; border:1px solid var(--line); background:rgba(255,255,255,.02); color:var(--muted); cursor:pointer; transition:.2s }.sound-toggle:hover,.sound-toggle[aria-pressed="true"]{border-color:var(--line-hot);color:var(--signal);background:rgba(var(--signal-rgb),.06)}.sound-toggle svg{width:16px}
.telemetry-hud { position:fixed; z-index:35; right:25px; bottom:22px; display:flex; gap:10px; align-items:center; color:var(--dim); font:.46rem var(--font-mono); letter-spacing:.1em; pointer-events:none; }.telemetry-hud i{width:48px;height:1px;background:linear-gradient(90deg,var(--line),var(--signal))}.telemetry-hud span:last-child{color:var(--signal)}
.immersive-cursor { position:fixed; z-index:1500; top:0; left:0; width:34px; height:34px; transform:translate(-50%,-50%); border:1px solid rgba(var(--signal-rgb),.55); border-radius:50%; opacity:0; pointer-events:none; mix-blend-mode:screen; transition:width .24s var(--ease),height .24s var(--ease),border-color .2s,opacity .2s; }.immersive-cursor::before{position:absolute;inset:7px;border:1px solid rgba(var(--violet-rgb),.32);border-radius:50%;content:""}.immersive-cursor i{position:absolute;top:50%;left:50%;width:3px;height:3px;transform:translate(-50%,-50%);border-radius:50%;background:var(--signal);box-shadow:0 0 12px var(--signal)}.immersive-cursor span{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);color:var(--signal);font:.38rem var(--font-mono);letter-spacing:.12em;opacity:0}.immersive-cursor.is-visible{opacity:1}.immersive-cursor.is-active{width:58px;height:58px;border-color:var(--signal)}.immersive-cursor.is-active span{opacity:1}
.section-scan { position:absolute; z-index:5; top:0; left:0; width:100%; height:20px; overflow:hidden; pointer-events:none; }.section-scan::before{position:absolute;top:0;left:-30%;width:28%;height:2px;background:linear-gradient(90deg,transparent,var(--signal),transparent);box-shadow:0 0 18px rgba(var(--signal-rgb),.7);content:"";opacity:0}.section.fx-in-view .section-scan::before{animation:section-sweep 1.25s var(--ease) .12s both}
[data-spotlight] { --spot-x: 50%; --spot-y: 50%; }.tech-stack-card::after,.profile-manifesto::after { position:absolute; inset:0; background:radial-gradient(320px circle at var(--spot-x) var(--spot-y),rgba(var(--signal-rgb),.10),transparent 62%);content:"";pointer-events:none;opacity:.7;transition:opacity .3s }.tech-stack-card{position:relative;overflow:hidden}.tech-stack-card>*{position:relative;z-index:1}
.profile-hud[data-hologram] { --holo-rx: 0deg; --holo-ry: 0deg; transform:perspective(1050px) rotateX(var(--holo-rx)) rotateY(var(--holo-ry)); transform-style:preserve-3d; transition:transform .16s ease-out,box-shadow .3s; box-shadow:0 45px 100px rgba(0,0,0,.35),0 0 0 1px rgba(var(--signal-rgb),.03) }.profile-hud[data-hologram]::after{position:absolute;z-index:6;inset:0;background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.13) 45%,transparent 66%);content:"";mix-blend-mode:screen;transform:translateX(-130%);animation:holo-glint 5.5s ease-in-out infinite;pointer-events:none}.profile-hud[data-hologram] img{transform:translateZ(20px)}
.tech-logo { position:relative;overflow:hidden }.tech-logo::after{position:absolute;inset:0;background:linear-gradient(120deg,transparent 25%,rgba(var(--signal-rgb),.15),transparent 70%);content:"";transform:translateX(-120%);transition:transform .55s var(--ease)}.tech-logo:hover::after{transform:translateX(120%)}.tech-logo:hover img{filter:drop-shadow(0 0 11px currentColor);transform:scale(1.12)}.tech-logo img{transition:transform .3s var(--ease),filter .3s}
.capability { overflow:hidden }.capability::after{position:absolute;right:-70px;bottom:-70px;width:150px;aspect-ratio:1;border:1px solid rgba(var(--signal-rgb),.08);border-radius:50%;content:"";transition:.45s var(--ease)}.capability:hover::after{right:-25px;bottom:-25px;border-color:rgba(var(--signal-rgb),.35);box-shadow:0 0 50px rgba(var(--signal-rgb),.08)}.capability:hover .cap-icon{transform:rotate(8deg) scale(1.07);box-shadow:0 0 28px rgba(var(--signal-rgb),.1)}.cap-icon{transition:.35s var(--ease)}
.experience-console { position:relative }.experience-console::before{position:absolute;z-index:2;top:0;bottom:0;left:-1px;width:2px;background:linear-gradient(var(--signal),rgba(var(--signal-rgb),.05));box-shadow:0 0 18px rgba(var(--signal-rgb),.25);content:"";transform:scaleY(var(--timeline-progress,0));transform-origin:top;transition:transform .12s linear}.experience-entry summary{position:relative}.experience-entry summary::before{position:absolute;z-index:3;top:50%;left:-5px;width:9px;height:9px;transform:translateY(-50%);border:1px solid var(--signal);border-radius:50%;background:var(--bg);content:"";box-shadow:0 0 0 5px rgba(var(--signal-rgb),.04),0 0 15px rgba(var(--signal-rgb),.28)}
.protocol-list { position:relative }.protocol-list::before{position:absolute;top:0;bottom:0;left:20px;width:1px;background:linear-gradient(var(--signal),rgba(var(--signal-rgb),.05));content:"";box-shadow:0 0 12px rgba(var(--signal-rgb),.22)}.protocol-list>li>span{position:relative;z-index:2;display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line-hot);background:var(--bg);border-radius:50%}.protocol-list li:hover>span{background:var(--signal);color:#04110f;box-shadow:0 0 28px rgba(var(--signal-rgb),.22)}
.systems-lab { overflow:hidden }.systems-lab::before{position:absolute;inset:0;opacity:.32;background-image:radial-gradient(circle at 20% 18%,rgba(var(--signal-rgb),.16) 0 1px,transparent 2px),radial-gradient(circle at 78% 34%,rgba(var(--violet-rgb),.2) 0 1px,transparent 2px),linear-gradient(115deg,transparent 49.9%,rgba(var(--signal-rgb),.045) 50%,transparent 50.1%);background-size:190px 190px,260px 260px,170px 170px;content:"";animation:constellation-drift 28s linear infinite;pointer-events:none}.systems-lab>.container{position:relative;z-index:1}.lab-card{--card-x:50%;--card-y:50%}.lab-card::after{position:absolute;inset:0;background:radial-gradient(220px circle at var(--card-x) var(--card-y),rgba(var(--signal-rgb),.12),transparent 64%);content:"";opacity:0;pointer-events:none;transition:opacity .3s}.lab-card:hover::after{opacity:1}.lab-card:hover .lab-icon{animation:lab-pulse 1.2s ease-in-out infinite}
.contact-orbit::before,.contact-orbit::after{position:absolute;inset:8%;border:1px dashed rgba(var(--signal-rgb),.14);border-radius:50%;content:"";animation:spin 22s linear infinite reverse}.contact-orbit::after{inset:26%;border-style:solid;border-color:rgba(var(--violet-rgb),.18);animation-duration:14s;animation-direction:normal}.contact-panel{position:relative;overflow:hidden}.contact-panel::after{position:absolute;top:0;bottom:0;left:-30%;width:22%;background:linear-gradient(90deg,transparent,rgba(var(--signal-rgb),.11),transparent);content:"";animation:contact-scan 4.5s ease-in-out infinite;pointer-events:none}
.magnetic-target{will-change:transform;transition:transform .22s var(--ease),border-color .2s,color .2s,background .2s}

/* Dimensional chapter transitions */
.immersive-section{perspective:1400px;isolation:isolate}.dimension-portal{position:absolute;z-index:4;top:0;left:0;width:100%;height:180px;overflow:hidden;transform:translateY(-40%);opacity:.38;pointer-events:none;perspective:720px;transition:opacity .8s ease,filter .8s ease}.dimension-portal::before{position:absolute;top:50%;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--signal-rgb),.65),rgba(var(--violet-rgb),.35),transparent);box-shadow:0 0 28px rgba(var(--signal-rgb),.28);content:""}.portal-stage{position:absolute;top:50%;left:50%;width:min(720px,80vw);height:150px;transform:translate(-50%,-50%) rotateX(67deg) translateZ(-110px);transform-style:preserve-3d;transition:transform 1.1s var(--ease)}.portal-stage i{position:absolute;top:50%;left:50%;width:110px;aspect-ratio:1;transform:translate(-50%,-50%) translateZ(var(--portal-z,0));border:1px solid rgba(var(--signal-rgb),.28);border-radius:50%;box-shadow:0 0 22px rgba(var(--signal-rgb),.08),inset 0 0 22px rgba(var(--violet-rgb),.05);animation:portal-spin 9s linear infinite}.portal-stage i:nth-child(2){width:210px;--portal-z:-25px;border-style:dashed;border-color:rgba(var(--violet-rgb),.3);animation-duration:14s;animation-direction:reverse}.portal-stage i:nth-child(3){width:330px;--portal-z:-55px;animation-duration:20s}.portal-stage i:nth-child(4){width:470px;--portal-z:-90px;border-style:dotted;border-color:rgba(var(--signal-rgb),.16);animation-duration:26s;animation-direction:reverse}.portal-stage b{position:absolute;top:50%;left:50%;width:3px;height:120px;transform:translate(-50%,-50%) rotateX(-67deg);background:linear-gradient(transparent,var(--signal),transparent);box-shadow:0 0 30px var(--signal);opacity:.5}.portal-stage span{position:absolute;top:64%;left:50%;padding:6px 11px;transform:translate(-50%,-50%) rotateX(-67deg) translateZ(65px);border:1px solid var(--line-hot);background:rgba(4,7,12,.82);color:var(--signal);font:.46rem var(--font-mono);letter-spacing:.13em;white-space:nowrap;backdrop-filter:blur(8px)}.immersive-section.is-portal-active .dimension-portal{opacity:.95;filter:saturate(1.25)}.immersive-section.is-portal-active .portal-stage{transform:translate(-50%,-50%) rotateX(61deg) translateZ(20px)}

/* Volumetric cards */
.depth-card{--depth-rx:0deg;--depth-ry:0deg;--depth-x:50%;--depth-y:50%;position:relative;transform:perspective(1100px) rotateX(var(--depth-rx)) rotateY(var(--depth-ry)) translateZ(0);transform-style:preserve-3d;will-change:transform;transition:transform .22s ease-out,border-color .3s,box-shadow .35s;backface-visibility:hidden}.depth-card.is-depth-active{z-index:8;box-shadow:-18px 28px 70px rgba(0,0,0,.42),0 0 0 1px rgba(var(--signal-rgb),.12),0 0 45px rgba(var(--signal-rgb),.07)}.depth-card>.depth-glare{position:absolute;z-index:7;inset:0;background:radial-gradient(310px circle at var(--depth-x) var(--depth-y),rgba(255,255,255,.16),rgba(var(--signal-rgb),.055) 32%,transparent 68%);opacity:0;pointer-events:none;mix-blend-mode:screen;transition:opacity .25s}.depth-card.is-depth-active>.depth-glare{opacity:1}.depth-card>*:not(.depth-glare){position:relative;z-index:1;translate:0 0 12px;transform-style:preserve-3d}.lab-card.depth-card:hover{transform:perspective(1100px) rotateX(var(--depth-rx)) rotateY(var(--depth-ry)) translateY(-7px) translateZ(12px)}.project-feature.reveal.is-visible.depth-card{transform:perspective(1200px) rotateX(var(--depth-rx)) rotateY(var(--depth-ry)) translateY(0) translateZ(0)}.experience-entry.depth-card[open]{box-shadow:0 28px 80px rgba(0,0,0,.28),0 0 40px rgba(var(--signal-rgb),.035)}

/* Spatial DOM choreography */
.spatial-block{--spatial-delay:0ms;transform-style:preserve-3d;translate:0 70px -90px;rotate:1 0 0 7deg;opacity:.18;filter:blur(7px);transition:translate 1.05s var(--ease) var(--spatial-delay),rotate 1.05s var(--ease) var(--spatial-delay),opacity .8s ease var(--spatial-delay),filter .8s ease var(--spatial-delay)}.spatial-block.scene-visible{translate:none;rotate:none;opacity:1;filter:none}.spatial-block.scene-visible:hover{filter:drop-shadow(0 18px 35px rgba(var(--signal-rgb),.035))}.hero-layout{perspective:1600px}.hero .scene-layer{translate:var(--layer-x,0) var(--layer-y,0) var(--layer-z,0);transition:translate .28s ease-out;will-change:translate}.hero-profile.scene-layer{--layer-z:55px}.hero-copy.scene-layer{--layer-z:20px}.profile-data{transform-style:preserve-3d}.profile-data>div{translate:0 0 8px}.protocol-list li.scene-visible>span{animation:node-orbit 3.2s ease-in-out infinite}.tech-logo.scene-visible img{animation:tech-float 4s ease-in-out infinite;animation-delay:var(--spatial-delay)}.profile-stat.scene-visible strong{animation:metric-glow 3s ease-in-out infinite}.contact-inner.scene-visible .contact-orbit{filter:brightness(1.2)}

@keyframes boot-breathe{50%{transform:scale(1.08);opacity:.75}}@keyframes boot-scan{to{transform:translateY(350%)}}@keyframes boot-orbit{to{transform:rotate(360deg)}}@keyframes boot-line{to{opacity:1;transform:none}}@keyframes boot-load{to{width:100%}}@keyframes boot-implode{45%{transform:translate(-50%,-50%) scale(1.16);filter:brightness(1.8)}100%{transform:translate(-50%,-50%) scale(.02);filter:brightness(4);opacity:0}}@keyframes boot-terminal-out{to{transform:translate(-50%,24px);opacity:0}}@keyframes sonic-flash{40%{background:radial-gradient(circle at 50% 45%,rgba(var(--signal-rgb),.5),transparent 18%)}100%{opacity:.25}}@keyframes spectrum{0%,100%{height:18%;opacity:.45}35%{height:95%;opacity:1}70%{height:48%;opacity:.72}}@keyframes node-orbit{50%{box-shadow:0 0 34px rgba(var(--signal-rgb),.22);translate:0 -4px}}@keyframes tech-float{50%{translate:0 -5px;filter:drop-shadow(0 0 9px rgba(var(--signal-rgb),.25))}}@keyframes metric-glow{50%{text-shadow:0 0 24px rgba(var(--signal-rgb),.32)}}@keyframes portal-spin{to{transform:translate(-50%,-50%) translateZ(var(--portal-z,0)) rotate(360deg)}}@keyframes section-sweep{0%{left:-30%;opacity:0}18%{opacity:1}100%{left:110%;opacity:0}}@keyframes holo-glint{0%,55%{transform:translateX(-130%)}78%,100%{transform:translateX(130%)}}@keyframes constellation-drift{to{background-position:190px 90px,-260px 130px,170px 0}}@keyframes lab-pulse{50%{box-shadow:0 0 30px rgba(var(--signal-rgb),.18);transform:scale(1.05)}}@keyframes contact-scan{0%,20%{left:-30%}70%,100%{left:115%}}

/* Motion */
.reveal{transform:translateY(32px);opacity:0;transition:transform .8s var(--ease),opacity .7s ease;transition-delay:var(--delay,0ms)}.reveal.is-visible{transform:translateY(0);opacity:1}.project-feature.reveal.is-visible{transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(0)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}@keyframes scan{0%,100%{top:0;opacity:0}10%,90%{opacity:1}50%{top:100%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes radar{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes wave{0%,100%{height:15%}50%{height:70%}}
:focus-visible{outline:2px solid var(--signal);outline-offset:4px}

/* Light professional direction */
::selection { color: #fff; }
.noise { opacity: .018; mix-blend-mode: multiply; }
.cursor-glow { background: radial-gradient(circle, rgba(var(--signal-rgb), .055), transparent 68%); }
.webgl-world { mix-blend-mode: multiply; filter: saturate(.78) contrast(.92); }
body.webgl-active .webgl-world { opacity: .25; }
body.webgl-active .hero,
body.webgl-active .profile-section,
body.webgl-active .expertise,
body.webgl-active .experience,
body.webgl-active .cms,
body.webgl-active .process,
body.webgl-active .systems-lab,
body.webgl-active .contact { background-color: rgba(255,255,255,.88); }
body.webgl-active .hero { background: radial-gradient(circle at 77% 34%,rgba(var(--violet-rgb),.075),transparent 27%),radial-gradient(circle at 58% 72%,rgba(var(--signal-rgb),.05),transparent 27%),rgba(248,250,252,.88); }
body.webgl-active .profile-section { background: radial-gradient(circle at 82% 35%,rgba(var(--violet-rgb),.07),transparent 28%),rgba(255,255,255,.9); }
body.webgl-active .expertise { background: radial-gradient(circle at 83% 40%,rgba(var(--violet-rgb),.055),transparent 28%),rgba(247,249,252,.9); }
body.webgl-active .experience { background: rgba(255,255,255,.92); }
body.webgl-active .cms { background: radial-gradient(circle at 15% 65%,rgba(var(--signal-rgb),.05),transparent 27%),rgba(247,249,252,.9); }
body.webgl-active .process { background: rgba(255,255,255,.91); }
body.webgl-active .systems-lab { background: rgba(247,249,252,.91); }
body.webgl-active .contact { background: radial-gradient(circle at 75% 50%,rgba(var(--violet-rgb),.08),transparent 28%),radial-gradient(circle at 50% 55%,rgba(var(--signal-rgb),.05),transparent 38%),rgba(255,255,255,.9); }
.site-header.scrolled { background: rgba(255,255,255,.84); box-shadow: 0 10px 35px rgba(23,42,66,.06); }
.language-switch,.signal-toggle,.menu-toggle { background: rgba(255,255,255,.78); }
.mobile-nav { background: rgba(255,255,255,.97); }
.hero { background: radial-gradient(circle at 77% 34%,rgba(var(--violet-rgb),.08),transparent 27%),radial-gradient(circle at 58% 72%,rgba(var(--signal-rgb),.05),transparent 27%),#f8fafc; }
.hero h1 strong { -webkit-text-stroke-color: rgba(22,34,53,.66); }
.hero-intro { color: var(--muted); }
.profile-hud { background: linear-gradient(160deg,rgba(var(--signal-rgb),.09),transparent 42%),radial-gradient(circle at 50% 38%,rgba(var(--violet-rgb),.12),transparent 44%),#edf3f7; box-shadow: 0 30px 70px rgba(24,48,75,.13); }
.profile-hud::before { background-image: linear-gradient(rgba(32,58,84,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(32,58,84,.07) 1px,transparent 1px); }
.profile-hud::after { background: linear-gradient(transparent,rgba(237,243,247,.82)); }
.profile-hud[data-hologram] { box-shadow: 0 35px 80px rgba(24,48,75,.14),0 0 0 1px rgba(var(--signal-rgb),.04); }
.profile-data { background: rgba(255,255,255,.84); }
.logo-stream { background: #fff; }
.logo-set span { color: var(--muted); }
.logo-set img { filter: none; opacity: .7; }
.profile-section { background: radial-gradient(circle at 82% 35%,rgba(var(--violet-rgb),.07),transparent 28%),#fff; }
.profile-showcase { overflow: hidden; border-radius: 22px; background: rgba(255,255,255,.8); box-shadow: 0 24px 70px rgba(24,48,75,.08); }
.profile-manifesto { align-items: center; text-align: center; background: linear-gradient(145deg,rgba(var(--signal-rgb),.055),rgba(255,255,255,.82) 58%); }
.manifesto-status { width: 100%; }
.profile-manifesto > p { max-width: 720px; margin: 62px auto; color: var(--text); font-size: clamp(1.05rem,1.45vw,1.42rem); line-height: 1.68; letter-spacing: -.018em; text-align: justify; text-align-last: center; }
.profile-signature { justify-content: center; }
.tech-stack-card { background: #f5f8fb; }
.tech-logo { background: rgba(255,255,255,.72); }
.profile-stats { gap: 18px; margin-top: 22px; border: 0; }
.profile-stat { display: flex; min-height: 230px; flex-direction: column; gap: 18px; align-items: center; justify-content: center; padding: 32px 24px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.94); text-align: center; box-shadow: 0 16px 45px rgba(24,48,75,.075); }
.profile-stat > span { font-size: .58rem; font-weight: 500; letter-spacing: .12em; }
.profile-stat > strong { font-size: clamp(4rem,5.3vw,6rem); line-height: .82; }
.profile-stat > p { color: #435266; font: 500 clamp(.82rem,1vw,.98rem)/1.45 var(--font-body); }
.profile-github > i { width: clamp(58px,5.3vw,78px); color: var(--text); }
.profile-github > b { top: 18px; right: 18px; }
.profile-github:hover { transform: translateY(-5px); background: rgba(var(--signal-rgb),.055); box-shadow: 0 24px 55px rgba(24,48,75,.11); }
.project-feature,.tech-matrix,.capability,.cms-card,.lab-card,.lab-cta,.contact-panel { background: rgba(255,255,255,.9); box-shadow: 0 14px 45px rgba(24,48,75,.045); }
.feature-list,.capability ul,.experience-body ul,.cms-card ul,.techline { color: var(--muted); }
.product-visual { --text:#f2f6f9; --muted:#9da8b8; --dim:#6f7b8c; --line:rgba(255,255,255,.11); --signal:#4bf6dc; --signal-rgb:75,246,220; --violet:#9375ff; --violet-rgb:147,117,255; color:var(--text); }
.expertise { background: radial-gradient(circle at 83% 40%,rgba(var(--violet-rgb),.055),transparent 28%),#f7f9fc; }
.experience { background: #fff; }
.experience-body { background: #f8fafc; }
.cms { background: radial-gradient(circle at 15% 65%,rgba(var(--signal-rgb),.05),transparent 27%),#f7f9fc; }
.cms-brand img,.contact-links img,.contact-links svg { filter: none; }
.process { background: #fff; }
.protocol-list > li > span { background: #fff; }
.systems-lab { background: #f7f9fc; }
.lab-card:hover { background: #fff; box-shadow: 0 25px 55px rgba(24,48,75,.1); }
.contact { background: radial-gradient(circle at 75% 50%,rgba(var(--violet-rgb),.09),transparent 28%),radial-gradient(circle at 50% 55%,rgba(var(--signal-rgb),.05),transparent 38%),#fff; }
.site-footer { background: #f7f9fc; }
.sound-spectrum,.toast { background: rgba(255,255,255,.9); box-shadow: 0 12px 32px rgba(24,48,75,.1); }
.portal-stage span { background: rgba(255,255,255,.88); }
.depth-card.is-depth-active { box-shadow: -14px 24px 60px rgba(24,48,75,.13),0 0 0 1px rgba(var(--signal-rgb),.1),0 0 35px rgba(var(--signal-rgb),.05); }
.depth-card > .depth-glare { mix-blend-mode: multiply; }
.experience-entry.depth-card[open] { box-shadow: 0 24px 65px rgba(24,48,75,.09),0 0 30px rgba(var(--signal-rgb),.03); }
.boot-sequence { --text:#f2f6f9; --muted:#9aa6b6; --dim:#687587; --line:rgba(164,187,212,.14); --line-hot:rgba(75,246,220,.42); --signal:#4bf6dc; --signal-rgb:75,246,220; --violet:#9375ff; --violet-rgb:147,117,255; color:var(--text); }

/* Responsive */
@media(max-width:1200px){:root{--container:min(100% - 70px,1100px)}.desktop-nav{display:none}.site-header{grid-template-columns:1fr auto;padding-inline:25px}.menu-toggle{display:grid}.availability{display:none}.mobile-nav{position:fixed;inset:var(--header) 0 0;display:flex;flex-direction:column;padding:50px 32px;background:rgba(5,7,13,.97);backdrop-filter:blur(25px)}.mobile-nav[hidden]{display:none}.mobile-nav a{display:flex;gap:22px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);font:500 clamp(2rem,7vw,4rem) var(--font-display);letter-spacing:-.05em;text-decoration:none}.mobile-nav a span{color:var(--signal);font:.58rem var(--font-mono)}.mobile-nav-meta{margin-top:auto;color:var(--dim);font:.55rem var(--font-mono);letter-spacing:.1em}.side-rail{display:none}.hero-layout{grid-template-columns:1fr .55fr;gap:35px}.hero h1{font-size:clamp(4rem,8vw,6.6rem)}.project-balafon{grid-template-columns:1fr}.project-copy{border-right:0;border-bottom:1px solid var(--line)}.product-visual{min-height:580px}.dashboard-window{width:96%;border-radius:13px}.lab-grid{grid-template-columns:repeat(3,1fr)}.capability-grid{grid-template-columns:repeat(2,1fr)}.process-layout{grid-template-columns:.8fr 1.2fr;gap:55px}}
@media(max-width:860px){:root{--container:calc(100% - 32px);--header:72px}.site-header{padding-inline:16px}.identity-copy small{display:none}.section{padding-block:90px}.section-header,.lab-header{grid-template-columns:1fr;gap:28px;margin-bottom:55px}.section-id{margin-bottom:10px}.section-summary{max-width:600px}.section-header h2,.process-intro h2{font-size:clamp(2.7rem,11vw,5rem)}.hero{min-height:auto;padding-top:120px}.hero-layout{grid-template-columns:1fr}.hero h1{font-size:clamp(3.7rem,15vw,7rem)}.hero-profile{justify-self:center;width:min(100%,410px);margin-top:25px}.profile-hud{height:500px}.hero-footer{grid-template-columns:repeat(3,1fr);margin-top:60px}.scroll-cue{display:none}.logo-stream{grid-template-columns:110px 1fr}.stream-label{font-size:.46rem}.profile-showcase{grid-template-columns:1fr}.profile-manifesto{min-height:500px;border-right:0;border-bottom:1px solid var(--line)}.tech-logo-grid{grid-template-columns:repeat(4,1fr)}.profile-stats{grid-template-columns:repeat(3,1fr)}.project-duo{grid-template-columns:1fr}.lab-grid{grid-template-columns:repeat(2,1fr)}.filter-panel{justify-self:start}.experience-entry summary{grid-template-columns:100px 1fr 25px;gap:15px;padding:20px 8px}.exp-signal{display:none}.experience-body{grid-template-columns:1fr}.experience-body article{border-right:0}.cms-grid{grid-template-columns:1fr}.process-layout{grid-template-columns:1fr}.process-intro{position:static}.process-intro .mono-label{margin-top:45px}.contact-panel{grid-template-columns:1fr}.copy-email{min-height:54px;border-top:1px solid var(--line);border-left:0}.footer-inner{grid-template-columns:1fr auto}.footer-inner>p{display:none}}
@media(max-width:560px){.system-line{gap:12px;justify-content:space-between}.system-line span:nth-child(2){display:none}.hero-kicker{font-size:.55rem}.hero h1{font-size:clamp(3.1rem,16.5vw,5rem);line-height:.84}.hero h1 span{white-space:normal}.hero-intro{margin-top:28px;font-size:.9rem}.hero-actions{align-items:stretch;flex-direction:column}.cyber-button{width:100%}.profile-hud{min-height:390px;height:440px}.profile-data{grid-template-columns:1fr}.profile-data div{border-right:0;border-bottom:1px solid var(--line)}.profile-data div:last-child{border:0}.hero-footer{grid-template-columns:repeat(3,1fr);gap:7px}.hero-metric{display:grid;gap:0}.hero-metric strong{font-size:1.4rem}.hero-metric span{font-size:.4rem}.logo-stream{height:70px;grid-template-columns:1fr}.stream-label{display:none}.section-header h2,.process-intro h2{font-size:clamp(2.6rem,13vw,4rem)}.profile-manifesto{min-height:560px;padding:28px 22px}.manifesto-status small{display:none}.profile-manifesto>p{margin:48px 0;font-size:1.38rem}.tech-stack-card{padding:24px 18px}.tech-stack-head small{display:none}.tech-logo-grid{grid-template-columns:repeat(3,1fr)}.profile-stats{grid-template-columns:1fr}.profile-stat{min-height:180px}.project-copy{padding:28px 22px}.project-copy h3,.compact-copy h3{font-size:2.7rem}.project-topline{margin-bottom:35px}.product-visual{min-height:430px}.broadcast-ui{padding:35px 0 35px 14px}.dashboard-window{width:110%;min-height:380px;transform:none}.dash-sidebar{width:45px;flex-basis:45px}.dash-sidebar svg{width:14px}.dash-body{padding:14px}.dash-head>span{display:none}.dash-grid{grid-template-columns:1fr}.program-screen{min-height:175px;grid-row:auto}.next-card{display:none}.dash-stat{display:none}.timeline-strip{grid-column:1}.floating-diagnostic{right:4%;bottom:4%}.compact-visual{height:350px}.focus-card{right:4%;width:76%}.progress-orbit{top:4%;right:4%}.edu-panel{right:3%;left:3%}.lab-grid{grid-template-columns:1fr}.lab-card{min-height:340px}.lab-icon{margin:30px 0 22px}.lab-cta{align-items:stretch;flex-direction:column;gap:20px}.capability-grid{grid-template-columns:1fr}.capability{min-height:430px}.matrix-row{grid-template-columns:80px 1fr 38px;gap:9px}.matrix-row strong{font-size:.56rem}.experience-entry summary{grid-template-columns:78px 1fr 20px}.exp-company{font-size:1.3rem}.experience-body article{padding:27px 20px}.cms-card{padding:28px 22px}.protocol-list li{grid-template-columns:36px 1fr;min-height:190px}.protocol-list small{display:none}.protocol-list>li>div{grid-template-columns:35px 1fr}.contact-status b{display:none}.contact h2{font-size:clamp(3.6rem,16vw,6rem)}.contact-mail{padding:20px}.contact-mail strong{font-size:.95rem;overflow-wrap:anywhere}.contact-mail svg{display:none}.contact-links{align-items:stretch;flex-direction:column}.footer-inner{grid-template-columns:1fr}.footer-meta{width:100%;justify-content:space-between}.footer-brand small{font-size:.4rem}}
@media(max-width:860px){.telemetry-hud,.immersive-cursor,.sound-spectrum{display:none}body.webgl-active .webgl-world{opacity:.46}.boot-core{width:190px}.boot-terminal{bottom:7%}.profile-hud[data-hologram]{transform:none!important}.systems-lab::before{animation:none}.dimension-portal{height:140px}.portal-stage{width:90vw;transform:translate(-50%,-50%) rotateX(69deg) translateZ(-120px)}.immersive-section.is-portal-active .portal-stage{transform:translate(-50%,-50%) rotateX(65deg) translateZ(-10px)}.depth-card,.lab-card.depth-card:hover,.project-feature.reveal.is-visible.depth-card{transform:none}.depth-card>*:not(.depth-glare){translate:none}.spatial-block{translate:0 38px -35px;rotate:1 0 0 3deg}.hero .scene-layer{translate:none}}
@media(max-width:560px){.sound-toggle{display:none}.boot-core{top:34%;width:150px}.boot-terminal{bottom:3%}.boot-brand span{display:none}.boot-actions{grid-template-columns:1fr}.boot-actions button{min-height:42px;padding:8px 10px}.protocol-list::before{left:18px}.dimension-portal{height:110px}.portal-stage i:nth-child(4){width:360px}.portal-stage span{font-size:.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{transform:none;opacity:1}.logo-track{animation:none}.cursor-glow,.immersive-cursor,.boot-sequence,.section-scan,.dimension-portal,.webgl-world,.sound-spectrum{display:none!important}.depth-card,.depth-card>*,.spatial-block,.scene-layer{transform:none!important;translate:none!important;rotate:none!important;filter:none!important;opacity:1!important}}
@media(print){.site-header,.side-rail,.network-canvas,.noise,.cursor-glow,.scroll-progress,.logo-stream,.hero-radar,.contact-grid,.contact-orbit{display:none!important}.hero,.section,.contact,.site-footer{padding:35px 0;background:#fff!important;color:#111!important}.reveal{transform:none;opacity:1}.experience-entry:not([open])>.experience-body{display:grid}.container{width:100%}.project-feature,.lab-card,.capability,.cms-card,.experience-entry{break-inside:avoid;border-color:#bbb!important}}
