:root {
  --clr-bg: #080b14; --clr-bg2: #0e1424; --clr-deep: #141c30;
  --clr-panel: #1a243a; --clr-border: #2a3a55;
  --clr-text: #e8edf5; --clr-muted: #6a7a98;
  --clr-accent: #d946ef; --clr-accent2: #00d4ff;
  --ff-disp: 'Space Grotesk', sans-serif; --ff-mono: 'DM Mono', monospace;
  --nav-h: 70px; --r:8px; --bg-logo-size:clamp(345px,48.875vw,978px);
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { overscroll-behavior:none; overflow-x:hidden; scrollbar-width:none; -ms-overflow-style:none; }
html::-webkit-scrollbar { display:none; }

/* Custom scrollbar theme (WebKit only) */
@supports selector(::-webkit-scrollbar) {
  *::-webkit-scrollbar { width:4px; height:4px; }
  *::-webkit-scrollbar-track { background:var(--clr-border); border-radius:2px; }
  *::-webkit-scrollbar-thumb { background:var(--clr-accent); border-radius:2px; }
}
* { scrollbar-width:thin; scrollbar-color:var(--clr-accent) var(--clr-border); }
body {
  font-family:var(--ff-disp); background:var(--clr-bg); color:var(--clr-text);
  line-height:1.5; -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-decoration:none; }

#preloader {
  position:fixed; inset:0; z-index:10000;
  display:flex; align-items:center; justify-content:center;
  background:var(--clr-bg);
}
.preloader-content { text-align:center; }
.preloader-logo-svg {
  width:clamp(140px,25vw,220px); height:auto; display:block;
  margin:0 auto 28px; overflow:visible;
}
.preloader-logo-svg path { fill:none; stroke:var(--clr-accent); }
.preloader-bar {
  width:120px; height:2px; background:var(--clr-border);
  position:relative; overflow:hidden; margin:0 auto; border-radius:2px;
}
.preloader-bar span {
  position:absolute; left:0; top:0; bottom:0; width:100%;
  background:var(--clr-accent); transform:scaleX(0); transform-origin:left;
}

.grain {
  position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:0.025;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='6' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat:repeat; background-size:160px 160px;
}

nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  height:var(--nav-h); display:flex; align-items:center;
  background:var(--clr-bg); border-bottom:1px solid var(--clr-border);
}
.nav-inner {
  max-width:100%; margin:0; padding:0 28px;
  width:100%; display:flex; align-items:center; justify-content:space-between;
}
.logo {
  display:flex; align-items:center; height:36px;
  border:2px solid var(--clr-border); padding:4px 10px;
  border-radius:var(--r);
}
.logo img { height:100%; width:auto; display:block; }
.nav-track-wrap { display:flex; align-items:center; gap:24px; }
.nav-track { display:flex; gap:4px; }
.nav-track span {
  display:block; width:32px; height:2px; background:var(--clr-border);
  transition:background 0.3s;
}
.nav-track span.active { background:var(--clr-accent); }
.nav-links { display:flex; gap:0; }
.nav-links a {
  font-size:0.6rem; font-weight:500; text-transform:uppercase;
  letter-spacing:0.1em; color:var(--clr-muted);
  padding:8px 12px; border-left:1px solid var(--clr-border);
  transition:color 0.2s, background 0.2s;
}
.nav-links a:last-child { border-right:1px solid var(--clr-border); }
.nav-links a:hover { color:var(--clr-text); background:rgba(255,255,255,0.02); }

.nav-toggle {
  display:none; background:none; border:1px solid transparent; cursor:pointer;
  flex-direction:column; gap:5px; padding:10px 12px;
  transition:border-color 0.3s, filter 0.3s;
}
.nav-toggle:hover { filter:drop-shadow(0 0 8px var(--clr-accent)); }
.nav-toggle.open { border-color:var(--clr-accent); filter:drop-shadow(0 0 12px var(--clr-accent)); }
.nav-toggle span {
  display:block; width:24px; height:3px; background:var(--clr-text);
  transition:transform 0.4s cubic-bezier(0.68,-0.55,0.265,1.55), opacity 0.3s, background 0.3s;
}
.nav-toggle.open span { background:var(--clr-accent); }
.nav-toggle.open span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-toggle.open span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }

.mobile-nav {
  position:fixed; inset:0; z-index:999;
  background:rgba(8,11,20,0.97);
  display:flex; align-items:flex-start; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity 0.3s;
}
.mobile-nav.open { opacity:1; pointer-events:auto; }
.mobile-nav-inner { text-align:center; padding: 100px 20px 20px;}
.mobile-nav-links {
  display:flex; flex-direction:column; gap:24px;
}
.mobile-nav-links a {
  font-size:1.4rem; font-weight:700; text-transform:uppercase;
  letter-spacing:0.08em; color:var(--clr-text);
  padding:12px 0; transition:color 0.2s;
}
.mobile-nav-links a:hover { color:var(--clr-accent); }
.nav-mobile-left { display:none; }
.nav-mobile-logo { display:none; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:clamp(80px,20vw,120px); z-index:1001; }
.nav-mobile-logo svg { display:block; width:100%; height:auto; }

.scroll-wrap { position:relative; overflow:hidden; }
.panels { display:flex; flex-wrap:nowrap; }
.panel {
  width:100vw; height:100vh; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
  scroll-margin-top:70px;
}

.panel--hero {
  background:linear-gradient(160deg,var(--clr-bg) 0%,var(--clr-bg2) 50%,var(--clr-deep) 100%);
  justify-content:flex-start; align-items:flex-start; padding-left:80px; padding-top:80px;
}
.panel--hero .diag-block {
  position:absolute; top:0; right:0; width:50%; height:100%;
  clip-path:polygon(15% 0,100% 0,100% 100%,0% 100%);
  background:linear-gradient(180deg,rgba(217,70,239,0.03),rgba(0,212,255,0.03));
  border-left:1px solid rgba(255,255,255,0.03); pointer-events:none;
}
.panel--hero .diag-block::before {
  content:''; position:absolute; inset:0;
  background:url(assets/ai-brain-aerial_view_00003_.webp) center/cover no-repeat;
  opacity:0.25;
  filter:grayscale(0.5) contrast(1.6) brightness(0.6) saturate(0.4);
}
.panel--hero .diag-block::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(217,70,239,0.1), rgba(0,212,255,0.08));
  mix-blend-mode:overlay;
}
/* -- Services diag-block -- left side, brain-right image -- */
.panel--services .diag-block {
  position:absolute; top:0; left:0; width:45%; height:100%;
  clip-path:polygon(0 0,80% 0,100% 100%,0% 100%);
  background:linear-gradient(180deg,rgba(0,212,255,0.04),rgba(217,70,239,0.02));
  border-right:1px solid rgba(255,255,255,0.03); pointer-events:none;
}
.panel--services .diag-block::before {
  content:''; position:absolute; inset:0;
  background:url(assets/ai-brain_right_00003_.webp) center/cover no-repeat;
  opacity:0.2;
  filter:grayscale(0.5) contrast(1.3) brightness(0.6) saturate(0.4);
}
.panel--services .diag-block::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(0,212,255,0.08), rgba(217,70,239,0.06));
  mix-blend-mode:overlay;
}
/* -- About diag-block -- right side, close-up image -- */
.panel--about .diag-block {
  position:absolute; top:0; right:0; width:50%; height:100%;
  clip-path:polygon(20% 0,100% 0,100% 100%,0% 100%);
  background:linear-gradient(180deg,rgba(217,70,239,0.03),rgba(0,212,255,0.03));
  border-left:1px solid rgba(255,255,255,0.03); pointer-events:none;
}
.panel--about .diag-block::before {
  content:''; position:absolute; inset:0;
  background:url(assets/AI-brain-close_up_00003_.webp) center/cover no-repeat;
  opacity:0.2;
  filter:grayscale(0.5) contrast(1.3) brightness(0.6) saturate(0.4);
}
.panel--about .diag-block::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(217,70,239,0.08), rgba(0,212,255,0.06));
  mix-blend-mode:overlay;
}
/* -- Portfolio diag-block -- left side, 45-right image -- */
.panel--portfolio .diag-block {
  position:absolute; top:0; left:0; width:48%; height:100%;
  clip-path:polygon(0 0,100% 0,85% 100%,0% 100%);
  background:linear-gradient(135deg,rgba(0,212,255,0.05),rgba(217,70,239,0.03) 60%,transparent);
  border-right:1px solid rgba(255,255,255,0.03); pointer-events:none;
}
.panel--portfolio .diag-block::before {
  content:''; position:absolute; inset:0;
  background:url(assets/ai-brain-45_right_00003_.webp) center/cover no-repeat;
  opacity:0.2;
  filter:grayscale(0.5) contrast(1.3) brightness(0.6) saturate(0.4);
}
.panel--portfolio .diag-block::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(0,212,255,0.08), rgba(217,70,239,0.06));
  mix-blend-mode:overlay;
}
/* -- Contact diag-block -- right side, low-angle image -- */
.panel--contact .diag-block {
  position:absolute; top:0; right:0; width:45%; height:100%;
  clip-path:polygon(10% 0,100% 0,92% 100%,0% 100%);
  background:linear-gradient(180deg,rgba(217,70,239,0.02),rgba(0,212,255,0.04));
  border-left:1px solid rgba(255,255,255,0.03); pointer-events:none;
}
.panel--contact .diag-block::before {
  content:''; position:absolute; inset:0;
  background:url(assets/ai-brain-low_angle_00003_.webp) center/cover no-repeat;
  opacity:0.2;
  filter:grayscale(0.5) contrast(1.3) brightness(0.6) saturate(0.4);
}
.panel--contact .diag-block::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(217,70,239,0.08), rgba(0,212,255,0.06));
  mix-blend-mode:overlay;
}
.panel--hero .hero-bg-logo {
  position:absolute; top:50%; left:80px; transform:translateY(-50%); width:var(--bg-logo-size); aspect-ratio:1814/503; pointer-events:none; z-index:0;
  overflow:hidden;
  mask:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMTgxNCA1MDMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLjAzOTUyLDAsMCwwLjYyMzc3MywtMTE2Mi4yMDE4NzgsLTE3MDMuMjc1NDAxKSI+PHBhdGggZD0iTTI4NTYuMDAxLDI3NDEuNDQyTDI2NjMuNjA0LDMxMzMuNjYxTDI4NTYuMDAxLDM1MjUuNjk4TDI2NjMuNjA0LDM1MjYuMDM0TDI0NzEuMjA4LDMxMzMuNjYxTDI2NjMuNjA0LDI3NDEuMjg4TDI4NTYuMDAxLDI3NDEuNDQyWk0yNDcxLjIwOCwyNzQxLjQ0MkwyNDcxLjIwOCwzNTI1LjY5OEwyMjc4LjgxMSwzNTI1LjY5OEwyMjc4LjgxMSwyNzQxLjQ0MkwyNDcxLjIwOCwyNzQxLjQ0MloiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOnVybCgjX0xpbmVhcjEpO3N0cm9rZS13aWR0aDoxNS41NXB4OyIvPjwvZz48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLjAwNTAyMiwwLDAsMC42MTQ1NjksLTIzNzEuMDczOTE5LC0xMzI3LjAxMzQ5NSkiPjxwYXRoIGQ9Ik0zNzU4Ljg2MiwyNTY4LjI2NkwzNTU5Ljg2MiwyOTY2LjI2N0wzMzYwLjg2MSwyOTY2LjI2N0wzMjYxLjM2MSwyNzE3LjUxNkwzMTYxLjg2MSwyOTY2LjI2N0wyOTYyLjg2LDI5NjYuMjY3TDI3NjMuODYsMjU2OC4yNjZMMjc2My44NiwyMTcwLjEwOEwyOTYyLjg2LDIxNzAuMjY0TDI5NjIuODYsMjU2OC4yNjZMMzA2Mi4zNjEsMjc2Ny4yNjZMMzE2MS44NjEsMjU2OC4yNjZMMzE2MS44NjEsMjE3MC4yNjRMMzM2MC44NjEsMjE3MC4yNjRMMzM2MC44NjEsMjU2OC4yNjZMMzQ2MC4zNjIsMjc2Ny4yNjZMMzU1OS44NjIsMjU2OC4yNjZMMzU1OS44NjIsMjE3MC4yNjRMMzc1OC44NjIsMjE3MC4yNjRMMzc1OC44NjIsMjU2OC4yNjZaIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTp1cmwoI19MaW5lYXIyKTtzdHJva2Utd2lkdGg6MTYuMDFweDsiLz48L2c+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC45NDM5NzksMCwwLDAuNjAzNDM4LC01MzMuNzE4MjQyLC02NjMuMzE2NDY4KSI+PHBhdGggZD0iTTEyMDguMDYyLDEzMTMuMTA4TDEyMDguMDYyLDE3MTguNDVDMTIwOC4wNjIsMTcxOC40NSAxMTYyLjkyMywxODE3LjkwMyAxMTAyLjEyNywxODYwLjMyQzEwMjIuMDk0LDE5MTYuMTU5IDk1Ny4zLDE5MTguOTAyIDg5MC4yNTgsMTkyMS4xMjJDODY3LjYwMiwxOTIxLjkwMyA1NzIuNDU0LDE5MjEuMTIyIDU3Mi40NTQsMTkyMS4xMjJMNTcyLjQ1NCwxMTEwLjQzN0w3ODQuMzI0LDExMTAuNDM3Qzc4NC4zMjQsMTExMC40MzcgODQ0LjEyNCwxMTEwLjA3OCA4OTAuMjU4LDExMTAuNDM3Qzk3Ni40NTIsMTExMS4xMDYgMTA1OC44NjIsMTEzMy43MzggMTEwMi4xMjcsMTE3MS4yMzhDMTE1MS4zNDYsMTIwNi4zOTQgMTIwOC4wNjIsMTMxMy4xMDggMTIwOC4wNjIsMTMxMy4xMDhaTTc4NC4zMjQsMTcxOC40NUw4OTAuMjU4LDE3MTguNDVDODkwLjI1OCwxNzE4LjQ1IDk5NS4zNjQsMTcxOC41MiA5OTYuMTkzLDE1MTUuNzc5Qzk5Ny4wMjIsMTMxMi45MjYgODkwLjI1OCwxMzEzLjEwOCA4OTAuMjU4LDEzMTMuMTA4TDc4NC4zMjQsMTMxMy4xMDhMNzg0LjMyNCwxNzE4LjQ1WiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6dXJsKCNfTGluZWFyMyk7c3Ryb2tlLXdpZHRoOjE2LjgzcHg7Ii8+PC9nPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iX0xpbmVhcjEiIHgxPSIwIiB5MT0iMCIgeDI9IjEiIHkyPSIwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg1NzcuMTg5NzQzLDAsMCw3ODQuNzQ2MDQ1LDIyNzguODExMDQ2LDMxMzMuNjYwNzU5KSI+PHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MSIvPjxzdG9wIG9mZnNldD0iMC42MSIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eTowIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9Il9MaW5lYXIyIiB4MT0iMCIgeTE9IjAiIHgyPSIxIiB5Mj0iMCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoOTk1LjAwMjgwOSwwLDAsNzk2LjE1ODY2MywyNzYzLjg1OTY4NiwyNTY4LjE4NzMwMykiPjxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9IjAuNjMiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eToxIi8+PHN0b3Agb2Zmc2V0PSIwLjg0IiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MC4yMyIvPjxzdG9wIG9mZnNldD0iMC44NiIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjAuMTIiLz48c3RvcCBvZmZzZXQ9IjAuODkiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eTowLjAzIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJfTGluZWFyMyIgeDE9IjAiIHkxPSIwIiB4Mj0iMSIgeTI9IjAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDYzNS42MDczODQsMCwwLDgxMS4xOTE2OTksNTcyLjQ1NDM5NywxNTE1Ljg3MzE0NykiPjxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9IjAuNjYiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eToxIi8+PHN0b3Agb2Zmc2V0PSIwLjgxIiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MC4yMSIvPjxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjAiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=") no-repeat center / var(--bg-logo-size) auto;
  -webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMTgxNCA1MDMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLjAzOTUyLDAsMCwwLjYyMzc3MywtMTE2Mi4yMDE4NzgsLTE3MDMuMjc1NDAxKSI+PHBhdGggZD0iTTI4NTYuMDAxLDI3NDEuNDQyTDI2NjMuNjA0LDMxMzMuNjYxTDI4NTYuMDAxLDM1MjUuNjk4TDI2NjMuNjA0LDM1MjYuMDM0TDI0NzEuMjA4LDMxMzMuNjYxTDI2NjMuNjA0LDI3NDEuMjg4TDI4NTYuMDAxLDI3NDEuNDQyWk0yNDcxLjIwOCwyNzQxLjQ0MkwyNDcxLjIwOCwzNTI1LjY5OEwyMjc4LjgxMSwzNTI1LjY5OEwyMjc4LjgxMSwyNzQxLjQ0MkwyNDcxLjIwOCwyNzQxLjQ0MloiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOnVybCgjX0xpbmVhcjEpO3N0cm9rZS13aWR0aDoxNS41NXB4OyIvPjwvZz48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLjAwNTAyMiwwLDAsMC42MTQ1NjksLTIzNzEuMDczOTE5LC0xMzI3LjAxMzQ5NSkiPjxwYXRoIGQ9Ik0zNzU4Ljg2MiwyNTY4LjI2NkwzNTU5Ljg2MiwyOTY2LjI2N0wzMzYwLjg2MSwyOTY2LjI2N0wzMjYxLjM2MSwyNzE3LjUxNkwzMTYxLjg2MSwyOTY2LjI2N0wyOTYyLjg2LDI5NjYuMjY3TDI3NjMuODYsMjU2OC4yNjZMMjc2My44NiwyMTcwLjEwOEwyOTYyLjg2LDIxNzAuMjY0TDI5NjIuODYsMjU2OC4yNjZMMzA2Mi4zNjEsMjc2Ny4yNjZMMzE2MS44NjEsMjU2OC4yNjZMMzE2MS44NjEsMjE3MC4yNjRMMzM2MC44NjEsMjE3MC4yNjRMMzM2MC44NjEsMjU2OC4yNjZMMzQ2MC4zNjIsMjc2Ny4yNjZMMzU1OS44NjIsMjU2OC4yNjZMMzU1OS44NjIsMjE3MC4yNjRMMzc1OC44NjIsMjE3MC4yNjRMMzc1OC44NjIsMjU2OC4yNjZaIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTp1cmwoI19MaW5lYXIyKTtzdHJva2Utd2lkdGg6MTYuMDFweDsiLz48L2c+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC45NDM5NzksMCwwLDAuNjAzNDM4LC01MzMuNzE4MjQyLC02NjMuMzE2NDY4KSI+PHBhdGggZD0iTTEyMDguMDYyLDEzMTMuMTA4TDEyMDguMDYyLDE3MTguNDVDMTIwOC4wNjIsMTcxOC40NSAxMTYyLjkyMywxODE3LjkwMyAxMTAyLjEyNywxODYwLjMyQzEwMjIuMDk0LDE5MTYuMTU5IDk1Ny4zLDE5MTguOTAyIDg5MC4yNTgsMTkyMS4xMjJDODY3LjYwMiwxOTIxLjkwMyA1NzIuNDU0LDE5MjEuMTIyIDU3Mi40NTQsMTkyMS4xMjJMNTcyLjQ1NCwxMTEwLjQzN0w3ODQuMzI0LDExMTAuNDM3Qzc4NC4zMjQsMTExMC40MzcgODQ0LjEyNCwxMTEwLjA3OCA4OTAuMjU4LDExMTAuNDM3Qzk3Ni40NTIsMTExMS4xMDYgMTA1OC44NjIsMTEzMy43MzggMTEwMi4xMjcsMTE3MS4yMzhDMTE1MS4zNDYsMTIwNi4zOTQgMTIwOC4wNjIsMTMxMy4xMDggMTIwOC4wNjIsMTMxMy4xMDhaTTc4NC4zMjQsMTcxOC40NUw4OTAuMjU4LDE3MTguNDVDODkwLjI1OCwxNzE4LjQ1IDk5NS4zNjQsMTcxOC41MiA5OTYuMTkzLDE1MTUuNzc5Qzk5Ny4wMjIsMTMxMi45MjYgODkwLjI1OCwxMzEzLjEwOCA4OTAuMjU4LDEzMTMuMTA4TDc4NC4zMjQsMTMxMy4xMDhMNzg0LjMyNCwxNzE4LjQ1WiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6dXJsKCNfTGluZWFyMyk7c3Ryb2tlLXdpZHRoOjE2LjgzcHg7Ii8+PC9nPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iX0xpbmVhcjEiIHgxPSIwIiB5MT0iMCIgeDI9IjEiIHkyPSIwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg1NzcuMTg5NzQzLDAsMCw3ODQuNzQ2MDQ1LDIyNzguODExMDQ2LDMxMzMuNjYwNzU5KSI+PHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MSIvPjxzdG9wIG9mZnNldD0iMC42MSIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eTowIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9Il9MaW5lYXIyIiB4MT0iMCIgeTE9IjAiIHgyPSIxIiB5Mj0iMCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoOTk1LjAwMjgwOSwwLDAsNzk2LjE1ODY2MywyNzYzLjg1OTY4NiwyNTY4LjE4NzMwMykiPjxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9IjAuNjMiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eToxIi8+PHN0b3Agb2Zmc2V0PSIwLjg0IiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MC4yMyIvPjxzdG9wIG9mZnNldD0iMC44NiIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjAuMTIiLz48c3RvcCBvZmZzZXQ9IjAuODkiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eTowLjAzIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJfTGluZWFyMyIgeDE9IjAiIHkxPSIwIiB4Mj0iMSIgeTI9IjAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDYzNS42MDczODQsMCwwLDgxMS4xOTE2OTksNTcyLjQ1NDM5NywxNTE1Ljg3MzE0NykiPjxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9IjAuNjYiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eToxIi8+PHN0b3Agb2Zmc2V0PSIwLjgxIiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MC4yMSIvPjxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjAiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=") no-repeat center / var(--bg-logo-size) auto;
  mask-mode:alpha; -webkit-mask-mode:alpha;
}
.hero-bg-logo-svg {
  position:absolute; inset:0; width:100%; height:100%; display:block;
  overflow:visible; opacity:0.75;
}
.hero-bg-logo-svg path { fill:none; stroke:url(#bgGrad) !important; }

.hero-bg-gradient {
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(160deg, #d946ef, #00d4ff, #d946ef);
  opacity:0.25;
}
.panel--hero .content { position:relative; z-index:2; width:fit-content; max-width:none; }
.hero-logo-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:2; }

.hero-logo-scan {
  position:absolute; inset:0; z-index:3; pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,212,255,0.025) 2px,rgba(0,212,255,0.025) 4px);
  overflow:hidden;
}
.hero-logo-scan::after {
  content:''; position:absolute; left:-10%; right:-10%; height:50%;
  background:linear-gradient(180deg,rgba(217,70,239,0.05),transparent);
  animation:scanSweep 5s ease-in-out infinite;
}
@keyframes scanSweep {
  0%,100% { top:-60%; }
  50% { top:110%; }
}
.panel--hero .badge {
  font-family:var(--ff-mono); font-size:0.6rem; letter-spacing:0.12em;
  color:var(--clr-accent); border:1px solid var(--clr-accent);
  display:inline-block; padding:5px 14px; text-transform:uppercase; border-radius:var(--r);
  position:absolute; bottom:40px; left:80px; z-index:2;
  cursor:pointer;
}
.panel--hero .badge:hover { background:var(--clr-accent); color:var(--clr-bg); }
.panel--hero h1 {
  font-family:var(--ff-disp); font-weight:700;
  font-size:clamp(2.8rem,8vw,5.5rem); line-height:0.92;
  text-transform:uppercase; letter-spacing:-0.04em;
}
.panel--hero h1 .line { display:block; overflow:hidden; }
.panel--hero h1 .line span { display:block; }
.panel--hero h1 .line--outline {
  -webkit-text-stroke:2px var(--clr-text); color:transparent;
}
.panel--hero p {
  font-size:clamp(0.8rem,1.2vw,0.95rem); color:var(--clr-muted);
  margin-top:24px; max-width:440px; font-weight:400; line-height:1.6;
}
.panel--hero .cta {
  display:inline-block; margin-top:32px;
  padding:14px 40px; font-family:var(--ff-disp); font-weight:700;
  font-size:0.7rem; text-transform:uppercase; letter-spacing:0.15em;
  color:var(--clr-bg); background:var(--clr-text); border:2px solid var(--clr-text);
  cursor:pointer; transition:0.2s;
}
.panel--hero .cta:hover { background:transparent; color:var(--clr-text); }

.panel--services { background:var(--clr-bg); padding:calc(var(--nav-h) + 12px) 60px 0; flex-direction:column; justify-content:flex-start; }
.panel--services .inner { max-width:960px; width:100%; flex:1; display:flex; flex-direction:column; min-height:0; }
.panel--services .label {
  font-family:var(--ff-mono); font-size:0.55rem; letter-spacing:0.15em;
  color:var(--clr-accent); text-transform:uppercase; margin-bottom:10px;
}
.panel--services h2 {
  font-family:var(--ff-disp); font-weight:700;
  font-size:clamp(1.2rem,2.8vw,2rem); text-transform:uppercase;
  letter-spacing:-0.02em; margin-bottom:32px;
}
.services-grid { display:grid; grid-template-columns:1fr 1fr; gap:0.5rem; padding:0.5rem; border:1px solid var(--clr-accent); border-radius:var(--r); overflow:hidden; }
.service-card {
  border-radius:var(--r); display:flex; flex-direction:column;
  border:1px solid var(--clr-accent); padding:40px 36px; margin:0;
  border-radius:var(--r); transition:background 0.3s;
}
.service-card:hover { background:rgba(255,255,255,0.015); z-index:1; }
.service-card .num {
  font-family:var(--ff-mono); font-size:0.6rem; color:var(--clr-accent);
  margin-bottom:14px; letter-spacing:0.1em;
}
.service-card h3 {
  font-weight:600; font-size:1.1rem;
  text-transform:uppercase; letter-spacing:0.02em; margin-bottom:10px;
}
.service-card p { color:var(--clr-muted); font-size:0.78rem; line-height:1.7; max-width:340px; }
.service-card--wide { grid-column:span 2; }
.service-card--wide p { max-width:100%; }

.panel--about {
  background:linear-gradient(160deg,var(--clr-deep),var(--clr-bg));
  padding:calc(var(--nav-h) + 12px) 60px 40px; flex-direction:column; align-items:center; justify-content:flex-start;
}
.panel--about .inner { max-width:960px; width:100%; flex:1; display:flex; flex-direction:column; min-height:0; }
.panel--about .label {
  font-family:var(--ff-mono); font-size:0.55rem; letter-spacing:0.15em;
  color:var(--clr-accent); text-transform:uppercase; margin-bottom:10px;
}
.panel--about h2 {
  font-family:var(--ff-disp); font-weight:700;
  font-size:clamp(1.2rem,2.8vw,2rem); text-transform:uppercase;
  letter-spacing:-0.02em; margin-bottom:32px;
}
.about-grid {
  display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:0.5rem;
  padding:0.5rem; border:1px solid var(--clr-accent);
  border-radius:var(--r); overflow:hidden;
}
.about-card {
  border:1px solid var(--clr-accent); padding:40px 36px;
  border-radius:var(--r); transition:background 0.3s;
}
.about-card:hover { background:rgba(255,255,255,0.015); z-index:1; }
.about-card--text { grid-column:span 2; overflow-y:auto; }
.about-card--stats { padding:0; display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative; grid-column:span 2; }
.brain-svg-wrap { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; border:1px solid var(--clr-accent); border-radius:var(--r); padding:clamp(12px,2vw,24px); }
.brain-svg-wrap svg { width:100%; height:100%; display:block; }
.brain-svg-wrap path { fill:none; stroke:var(--clr-accent) !important; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.about-card h4 {
  font-weight:600; font-size:clamp(1rem,1.6vw,1.3rem);
  text-transform:uppercase; letter-spacing:0.02em; margin-bottom:10px;
}
.about-card p { color:var(--clr-muted); font-size:clamp(0.72rem,1.1vw,0.88rem); line-height:1.7; margin-bottom:10px; }
.about-card p:last-child { margin-bottom:0; }


.panel--portfolio { background:var(--clr-bg); padding:0 60px; flex-direction:column; align-items:stretch; justify-content:flex-start; padding-top:calc(var(--nav-h) + 12px); padding-bottom:40px; }
.panel--portfolio .top { flex-shrink:0; }
.panel--portfolio .top .label {
  font-family:var(--ff-mono); font-size:0.55rem; letter-spacing:0.15em;
  color:var(--clr-accent); text-transform:uppercase; margin-bottom:10px;
}
.panel--portfolio .top h2 {
  font-family:var(--ff-disp); font-weight:700;
  font-size:clamp(1.1rem,2.4vw,1.7rem); text-transform:uppercase;
  letter-spacing:-0.02em;
}
.portfolio-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(3,1fr); grid-auto-flow:dense; gap:0.5rem; padding:0.5rem; width:100%; flex:1; min-height:0; border:1px solid var(--clr-accent); border-radius:var(--r); }
.portfolio-item {
  position:relative; overflow:hidden; cursor:pointer;
  border:1px solid var(--clr-accent); border-radius:var(--r); margin:0; z-index:1;
}
.portfolio-item.w-2 { grid-column:span 2; }
.portfolio-item.h-2 { grid-row:span 2; }

.portfolio-bg {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:clamp(0.65rem,2.5vw,1.2rem); letter-spacing:0.12em;
  color:rgba(255,255,255,0.08);
  background-size:cover; background-position:center;
  box-shadow:inset 0 0 0 999px rgba(8,11,20,0.35);
}
.portfolio-item:nth-child(odd) .portfolio-bg { background-color:var(--clr-bg); }
.portfolio-item:nth-child(even) .portfolio-bg { background-color:var(--clr-deep); }
.portfolio-overlay {
  position:absolute; inset:0;
  background:rgba(8,11,20,0.85);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:clamp(10px,3vw,20px); opacity:0; transition:opacity 0.3s;
}
.portfolio-overlay h4 { font-weight:600; font-size:clamp(0.65rem,2.5vw,1rem); text-transform:uppercase; letter-spacing:0.08em; }
.portfolio-overlay span { font-family:var(--ff-mono); font-size:clamp(0.35rem,1.5vw,0.6rem); color:var(--clr-accent); text-transform:uppercase; margin-top:4px; letter-spacing:0.1em; }

.portfolio-detail {
  position:absolute; inset:0; z-index:3;
  background:rgba(8,11,20,0.92);
  backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
  padding:clamp(12px,2vw,24px); opacity:0; pointer-events:none;
}
.portfolio-item.is-expanded {
  position:fixed; left:0; top:0; width:100vw; height:100dvh; z-index:9999;
  margin:0; border-radius:0; border:none;
  overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.portfolio-item.is-expanded .portfolio-detail {
  opacity:1; pointer-events:auto; position:relative; inset:auto;
  background:linear-gradient(180deg,var(--clr-deep),var(--clr-bg));
  align-items:flex-start; min-height:100%; padding:12px;
}
.portfolio-item.is-expanded .portfolio-close {
  opacity:1; pointer-events:auto; position:fixed; top:16px; right:16px;
  width:36px; height:36px; font-size:1.4rem; z-index:10;
}
.portfolio-item.is-expanded .portfolio-bg { display:none; }
.portfolio-item.is-expanded .portfolio-overlay { display:none; }
.pd-inner { width:100%; }
.pd-label {
  font-family:var(--ff-mono); font-size:clamp(0.45rem,0.7vw,0.65rem); letter-spacing:0.15em;
  color:var(--clr-accent); text-transform:uppercase;
  display:inline-block; border:1px solid var(--clr-accent);
  padding:clamp(2px,0.3vw,5px) clamp(6px,0.8vw,12px); margin-bottom:clamp(6px,1vw,16px); border-radius:4px;
}
.pd-title {
  font-family:var(--ff-disp); font-weight:700;
  font-size:clamp(0.75rem,1.4vw,1.4rem);
  text-transform:uppercase; letter-spacing:-0.02em;
  margin-bottom:clamp(4px,0.6vw,10px); line-height:1.1;
}
.pd-desc {
  font-family:var(--ff-mono); font-size:clamp(0.4rem,0.55vw,0.55rem); line-height:1.6;
  color:rgba(255,255,255,0.5); margin-bottom:clamp(8px,1.2vw,18px);
}
.pd-images {
  display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(4px,0.5vw,8px);
  margin-bottom:clamp(8px,1.2vw,18px);
}
.pd-images div {
  aspect-ratio:4/3; background-size:cover; background-position:center;
  border:1px solid var(--clr-border); border-radius:4px;
}
.pd-media {
  margin-bottom:clamp(8px,1.2vw,18px);
}
.pd-media iframe, .pd-media video {
  display:block; width:100%; aspect-ratio:16/9;
  border:1px solid var(--clr-border); border-radius:4px; background:#000;
}
.pd-meta {
  display:flex; gap:0; margin-bottom:clamp(8px,1.2vw,18px);
  border-top:1px solid var(--clr-border);
  padding-top:clamp(6px,0.8vw,14px); flex-wrap:wrap;
}
.pd-meta-item {
  display:flex; flex-direction:column; gap:2px;
  padding-right:clamp(8px,1.2vw,18px); margin-right:clamp(8px,1.2vw,18px);
  border-right:1px solid var(--clr-border);
}
.pd-meta-item:last-child { border-right:none; margin-right:0; padding-right:0; }
.pd-meta-label {
  font-family:var(--ff-mono); font-size:clamp(0.35rem,0.45vw,0.5rem);
  letter-spacing:0.1em; color:var(--clr-muted); text-transform:uppercase;
}
.pd-meta-val {
  font-family:var(--ff-disp); font-weight:600;
  font-size:clamp(0.5rem,0.7vw,0.75rem); color:var(--clr-text);
}
.pd-cta {
  display:inline-block; font-family:var(--ff-disp); font-weight:700;
  font-size:clamp(0.45rem,0.65vw,0.7rem); text-transform:uppercase; letter-spacing:0.15em;
  color:var(--clr-text); border:2px solid var(--clr-text);
  padding:10px 28px; transition:0.2s; margin-top:16px;
}
.pd-cta:hover { background:var(--clr-text); color:var(--clr-bg); }

.portfolio-close {
  position:absolute; top:8px; right:8px; z-index:6;
  width:32px; height:32px; border:2px solid var(--clr-border);
  background:var(--clr-bg); color:var(--clr-text); font-size:1rem; line-height:1;
  cursor:pointer; display:flex;
  align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:0.2s;
}
.portfolio-close::after {
  content:''; position:absolute;
  top:-10px; right:-10px; bottom:-10px; left:-10px;
}
.portfolio-close:hover { border-color:var(--clr-accent); color:var(--clr-accent); }

.panel--contact {
  background:linear-gradient(160deg,var(--clr-bg2),var(--clr-deep));
  padding:calc(var(--nav-h) + 12px) 60px 0; flex-direction:column; justify-content:flex-start;
}
.panel--contact .inner { max-width:960px; width:100%; flex:1; display:flex; flex-direction:column; min-height:0; }
.panel--contact .label {
  font-family:var(--ff-mono); font-size:0.55rem; letter-spacing:0.15em;
  color:var(--clr-accent); text-transform:uppercase; margin-bottom:10px;
}
.panel--contact h2 {
  font-family:var(--ff-disp); font-weight:700;
  font-size:clamp(1.2rem,2.8vw,2rem); text-transform:uppercase;
  letter-spacing:-0.02em; margin-bottom:32px;
}
.contact-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:0.5rem; padding:0.5rem;
  border:1px solid var(--clr-accent); border-radius:var(--r); overflow:hidden;
}
.contact-card {
  border:1px solid var(--clr-accent); padding:40px 36px;
  border-radius:var(--r); transition:background 0.3s;
}
.contact-card:hover { background:rgba(255,255,255,0.015); z-index:1; }
.contact-card--info { display:flex; flex-direction:column; justify-content:space-evenly; }
.contact-card--info > * { margin-bottom:0 !important; }
.contact-card--form { background:rgba(0,0,0,0.5); }
.contact-card--info p { color:var(--clr-muted); font-size:0.78rem; line-height:1.7; }
.contact-hero-anim {
  position:relative; width:100%; max-width:clamp(140px,22vw,280px);
  margin:0 auto 12px; opacity:0.7; overflow:hidden;
  aspect-ratio:1814/503;
  mask:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMTgxNCA1MDMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLjAzOTUyLDAsMCwwLjYyMzc3MywtMTE2Mi4yMDE4NzgsLTE3MDMuMjc1NDAxKSI+PHBhdGggZD0iTTI4NTYuMDAxLDI3NDEuNDQyTDI2NjMuNjA0LDMxMzMuNjYxTDI4NTYuMDAxLDM1MjUuNjk4TDI2NjMuNjA0LDM1MjYuMDM0TDI0NzEuMjA4LDMxMzMuNjYxTDI2NjMuNjA0LDI3NDEuMjg4TDI4NTYuMDAxLDI3NDEuNDQyWk0yNDcxLjIwOCwyNzQxLjQ0MkwyNDcxLjIwOCwzNTI1LjY5OEwyMjc4LjgxMSwzNTI1LjY5OEwyMjc4LjgxMSwyNzQxLjQ0MkwyNDcxLjIwOCwyNzQxLjQ0MloiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOnVybCgjX0xpbmVhcjEpO3N0cm9rZS13aWR0aDoxNS41NXB4OyIvPjwvZz48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLjAwNTAyMiwwLDAsMC42MTQ1NjksLTIzNzEuMDczOTE5LC0xMzI3LjAxMzQ5NSkiPjxwYXRoIGQ9Ik0zNzU4Ljg2MiwyNTY4LjI2NkwzNTU5Ljg2MiwyOTY2LjI2N0wzMzYwLjg2MSwyOTY2LjI2N0wzMjYxLjM2MSwyNzE3LjUxNkwzMTYxLjg2MSwyOTY2LjI2N0wyOTYyLjg2LDI5NjYuMjY3TDI3NjMuODYsMjU2OC4yNjZMMjc2My44NiwyMTcwLjEwOEwyOTYyLjg2LDIxNzAuMjY0TDI5NjIuODYsMjU2OC4yNjZMMzA2Mi4zNjEsMjc2Ny4yNjZMMzE2MS44NjEsMjU2OC4yNjZMMzE2MS44NjEsMjE3MC4yNjRMMzM2MC44NjEsMjE3MC4yNjRMMzM2MC44NjEsMjU2OC4yNjZMMzQ2MC4zNjIsMjc2Ny4yNjZMMzU1OS44NjIsMjU2OC4yNjZMMzU1OS44NjIsMjE3MC4yNjRMMzc1OC44NjIsMjE3MC4yNjRMMzc1OC44NjIsMjU2OC4yNjZaIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTp1cmwoI19MaW5lYXIyKTtzdHJva2Utd2lkdGg6MTYuMDFweDsiLz48L2c+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC45NDM5NzksMCwwLDAuNjAzNDM4LC01MzMuNzE4MjQyLC02NjMuMzE2NDY4KSI+PHBhdGggZD0iTTEyMDguMDYyLDEzMTMuMTA4TDEyMDguMDYyLDE3MTguNDVDMTIwOC4wNjIsMTcxOC40NSAxMTYyLjkyMywxODE3LjkwMyAxMTAyLjEyNywxODYwLjMyQzEwMjIuMDk0LDE5MTYuMTU5IDk1Ny4zLDE5MTguOTAyIDg5MC4yNTgsMTkyMS4xMjJDODY3LjYwMiwxOTIxLjkwMyA1NzIuNDU0LDE5MjEuMTIyIDU3Mi40NTQsMTkyMS4xMjJMNTcyLjQ1NCwxMTEwLjQzN0w3ODQuMzI0LDExMTAuNDM3Qzc4NC4zMjQsMTExMC40MzcgODQ0LjEyNCwxMTEwLjA3OCA4OTAuMjU4LDExMTAuNDM3Qzk3Ni40NTIsMTExMS4xMDYgMTA1OC44NjIsMTEzMy43MzggMTEwMi4xMjcsMTE3MS4yMzhDMTE1MS4zNDYsMTIwNi4zOTQgMTIwOC4wNjIsMTMxMy4xMDggMTIwOC4wNjIsMTMxMy4xMDhaTTc4NC4zMjQsMTcxOC40NUw4OTAuMjU4LDE3MTguNDVDODkwLjI1OCwxNzE4LjQ1IDk5NS4zNjQsMTcxOC41MiA5OTYuMTkzLDE1MTUuNzc5Qzk5Ny4wMjIsMTMxMi45MjYgODkwLjI1OCwxMzEzLjEwOCA4OTAuMjU4LDEzMTMuMTA4TDc4NC4zMjQsMTMxMy4xMDhMNzg0LjMyNCwxNzE4LjQ1WiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6dXJsKCNfTGluZWFyMyk7c3Ryb2tlLXdpZHRoOjE2LjgzcHg7Ii8+PC9nPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iX0xpbmVhcjEiIHgxPSIwIiB5MT0iMCIgeDI9IjEiIHkyPSIwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg1NzcuMTg5NzQzLDAsMCw3ODQuNzQ2MDQ1LDIyNzguODExMDQ2LDMxMzMuNjYwNzU5KSI+PHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MSIvPjxzdG9wIG9mZnNldD0iMC42MSIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eTowIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9Il9MaW5lYXIyIiB4MT0iMCIgeTE9IjAiIHgyPSIxIiB5Mj0iMCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoOTk1LjAwMjgwOSwwLDAsNzk2LjE1ODY2MywyNzYzLjg1OTY4NiwyNTY4LjE4NzMwMykiPjxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9IjAuNjMiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eToxIi8+PHN0b3Agb2Zmc2V0PSIwLjg0IiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MC4yMyIvPjxzdG9wIG9mZnNldD0iMC44NiIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjAuMTIiLz48c3RvcCBvZmZzZXQ9IjAuODkiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eTowLjAzIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJfTGluZWFyMyIgeDE9IjAiIHkxPSIwIiB4Mj0iMSIgeTI9IjAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDYzNS42MDczODQsMCwwLDgxMS4xOTE2OTksNTcyLjQ1NDM5NywxNTE1Ljg3MzE0NykiPjxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9IjAuNjYiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eToxIi8+PHN0b3Agb2Zmc2V0PSIwLjgxIiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MC4yMSIvPjxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjAiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=") no-repeat center / contain;
  -webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMTgxNCA1MDMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLjAzOTUyLDAsMCwwLjYyMzc3MywtMTE2Mi4yMDE4NzgsLTE3MDMuMjc1NDAxKSI+PHBhdGggZD0iTTI4NTYuMDAxLDI3NDEuNDQyTDI2NjMuNjA0LDMxMzMuNjYxTDI4NTYuMDAxLDM1MjUuNjk4TDI2NjMuNjA0LDM1MjYuMDM0TDI0NzEuMjA4LDMxMzMuNjYxTDI2NjMuNjA0LDI3NDEuMjg4TDI4NTYuMDAxLDI3NDEuNDQyWk0yNDcxLjIwOCwyNzQxLjQ0MkwyNDcxLjIwOCwzNTI1LjY5OEwyMjc4LjgxMSwzNTI1LjY5OEwyMjc4LjgxMSwyNzQxLjQ0MkwyNDcxLjIwOCwyNzQxLjQ0MloiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOnVybCgjX0xpbmVhcjEpO3N0cm9rZS13aWR0aDoxNS41NXB4OyIvPjwvZz48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLjAwNTAyMiwwLDAsMC42MTQ1NjksLTIzNzEuMDczOTE5LC0xMzI3LjAxMzQ5NSkiPjxwYXRoIGQ9Ik0zNzU4Ljg2MiwyNTY4LjI2NkwzNTU5Ljg2MiwyOTY2LjI2N0wzMzYwLjg2MSwyOTY2LjI2N0wzMjYxLjM2MSwyNzE3LjUxNkwzMTYxLjg2MSwyOTY2LjI2N0wyOTYyLjg2LDI5NjYuMjY3TDI3NjMuODYsMjU2OC4yNjZMMjc2My44NiwyMTcwLjEwOEwyOTYyLjg2LDIxNzAuMjY0TDI5NjIuODYsMjU2OC4yNjZMMzA2Mi4zNjEsMjc2Ny4yNjZMMzE2MS44NjEsMjU2OC4yNjZMMzE2MS44NjEsMjE3MC4yNjRMMzM2MC44NjEsMjE3MC4yNjRMMzM2MC44NjEsMjU2OC4yNjZMMzQ2MC4zNjIsMjc2Ny4yNjZMMzU1OS44NjIsMjU2OC4yNjZMMzU1OS44NjIsMjE3MC4yNjRMMzc1OC44NjIsMjE3MC4yNjRMMzc1OC44NjIsMjU2OC4yNjZaIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTp1cmwoI19MaW5lYXIyKTtzdHJva2Utd2lkdGg6MTYuMDFweDsiLz48L2c+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC45NDM5NzksMCwwLDAuNjAzNDM4LC01MzMuNzE4MjQyLC02NjMuMzE2NDY4KSI+PHBhdGggZD0iTTEyMDguMDYyLDEzMTMuMTA4TDEyMDguMDYyLDE3MTguNDVDMTIwOC4wNjIsMTcxOC40NSAxMTYyLjkyMywxODE3LjkwMyAxMTAyLjEyNywxODYwLjMyQzEwMjIuMDk0LDE5MTYuMTU5IDk1Ny4zLDE5MTguOTAyIDg5MC4yNTgsMTkyMS4xMjJDODY3LjYwMiwxOTIxLjkwMyA1NzIuNDU0LDE5MjEuMTIyIDU3Mi40NTQsMTkyMS4xMjJMNTcyLjQ1NCwxMTEwLjQzN0w3ODQuMzI0LDExMTAuNDM3Qzc4NC4zMjQsMTExMC40MzcgODQ0LjEyNCwxMTEwLjA3OCA4OTAuMjU4LDExMTAuNDM3Qzk3Ni40NTIsMTExMS4xMDYgMTA1OC44NjIsMTEzMy43MzggMTEwMi4xMjcsMTE3MS4yMzhDMTE1MS4zNDYsMTIwNi4zOTQgMTIwOC4wNjIsMTMxMy4xMDggMTIwOC4wNjIsMTMxMy4xMDhaTTc4NC4zMjQsMTcxOC40NUw4OTAuMjU4LDE3MTguNDVDODkwLjI1OCwxNzE4LjQ1IDk5NS4zNjQsMTcxOC41MiA5OTYuMTkzLDE1MTUuNzc5Qzk5Ny4wMjIsMTMxMi45MjYgODkwLjI1OCwxMzEzLjEwOCA4OTAuMjU4LDEzMTMuMTA4TDc4NC4zMjQsMTMxMy4xMDhMNzg0LjMyNCwxNzE4LjQ1WiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6dXJsKCNfTGluZWFyMyk7c3Ryb2tlLXdpZHRoOjE2LjgzcHg7Ii8+PC9nPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iX0xpbmVhcjEiIHgxPSIwIiB5MT0iMCIgeDI9IjEiIHkyPSIwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg1NzcuMTg5NzQzLDAsMCw3ODQuNzQ2MDQ1LDIyNzguODExMDQ2LDMxMzMuNjYwNzU5KSI+PHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MSIvPjxzdG9wIG9mZnNldD0iMC42MSIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eTowIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9Il9MaW5lYXIyIiB4MT0iMCIgeTE9IjAiIHgyPSIxIiB5Mj0iMCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoOTk1LjAwMjgwOSwwLDAsNzk2LjE1ODY2MywyNzYzLjg1OTY4NiwyNTY4LjE4NzMwMykiPjxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9IjAuNjMiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eToxIi8+PHN0b3Agb2Zmc2V0PSIwLjg0IiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MC4yMyIvPjxzdG9wIG9mZnNldD0iMC44NiIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjAuMTIiLz48c3RvcCBvZmZzZXQ9IjAuODkiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eTowLjAzIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJfTGluZWFyMyIgeDE9IjAiIHkxPSIwIiB4Mj0iMSIgeTI9IjAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDYzNS42MDczODQsMCwwLDgxMS4xOTE2OTksNTcyLjQ1NDM5NywxNTE1Ljg3MzE0NykiPjxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjEiLz48c3RvcCBvZmZzZXQ9IjAuNjYiIHN0eWxlPSJzdG9wLWNvbG9yOndoaXRlO3N0b3Atb3BhY2l0eToxIi8+PHN0b3Agb2Zmc2V0PSIwLjgxIiBzdHlsZT0ic3RvcC1jb2xvcjp3aGl0ZTtzdG9wLW9wYWNpdHk6MC4yMSIvPjxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6d2hpdGU7c3RvcC1vcGFjaXR5OjAiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=") no-repeat center / contain;
  mask-mode:alpha; -webkit-mask-mode:alpha;
}
.contact-hero-svg { position:absolute; inset:0; width:100%; height:100%; display:block; overflow:visible; opacity:0.75; }
.contact-hero-svg path { fill:none; stroke:url(#bgGrad) !important; }
.contact-bg-gradient {
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(160deg, #d946ef, #00d4ff, #d946ef);
  opacity:0.25;
}
.contact-card .detail { display:flex; align-items:center; gap:10px; margin-bottom:14px; font-size:0.72rem; color:var(--clr-muted); }
.contact-card .detail i { width:28px; font-style:normal; color:var(--clr-accent); font-family:var(--ff-mono); }
.social-links a { color:var(--clr-muted); transition:color 0.2s; }
.social-links a:hover { color:var(--clr-accent); }
.contact-card--form form { display:flex; flex-direction:column; gap:14px; }
.contact-card--form input,
.contact-card--form textarea {
  width:100%; padding:12px 16px;
  background:rgba(0,0,0,0.5); border:1px solid var(--clr-accent);
  font-family:var(--ff-disp); font-size:0.78rem; color:var(--clr-text);
  outline:none; transition:border-color 0.2s; border-radius:var(--r);
}
.contact-card--form input::placeholder,
.contact-card--form textarea::placeholder { color:#4a5a78; text-transform:uppercase; font-size:0.65rem; letter-spacing:0.06em; }
.contact-card--form input:focus,
.contact-card--form textarea:focus { border-color:var(--clr-accent); }
.contact-card--form textarea { min-height:90px; resize:vertical; overflow-y:auto; }
.contact-card--form .row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-card--form .btn {
  padding:14px 40px; font-family:var(--ff-disp); font-weight:700;
  font-size:0.68rem; text-transform:uppercase; letter-spacing:0.15em;
  background:var(--clr-text); color:var(--clr-bg); border:2px solid var(--clr-text);
  cursor:pointer; transition:0.2s; align-self:flex-start;
}
.contact-card--form .btn:hover { background:transparent; color:var(--clr-text); }
.honeypot { display:none; }
#formSuccess {
  padding:12px 16px; border-radius:var(--r); text-align:center;
  font-size:0.78rem; margin-bottom:8px;
  background:var(--clr-accent2); color:var(--clr-bg);
}

#panelIndex {
  position:fixed; bottom:32px; left:50%; transform:translateX(-50%);
  z-index:999; font-family:var(--ff-mono); font-size:0.6rem;
  color:var(--clr-muted); letter-spacing:0.15em;
  display:flex; align-items:center; gap:12px;
}
#panelIndex .bar {
  width:60px; height:1px; background:var(--clr-border);
  position:relative; overflow:hidden; border-radius:1px;
}
#panelIndex .bar span {
  position:absolute; left:0; top:0; bottom:0;
  width:100%; background:var(--clr-accent);
  transform-origin:left; transform:scaleX(0);
}

@media (max-width:768px) {
  .scroll-wrap { overflow:visible; }
  .panels { display:block; }
  .panel {
    width:100vw; height:100dvh; min-height:100dvh;
    padding:12px 10px 20px; display:flex; flex-direction:column;
    scroll-margin-top:0;
  }
  .panel--hero { justify-content:flex-start; text-align:center; padding:82px 24px 60px; }
  .panel--hero .content { max-width:100%; flex:1; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:1; }
  .panel--hero .hero-bg-logo { position:absolute; top:80px; left:50%; transform:translateX(-50%); width:55%; height:auto; aspect-ratio:1814/503; mask-size:100% auto; -webkit-mask-size:100% auto; z-index:0; }
  .panel--hero .diag-block,
  .panel--services .diag-block,
  .panel--about .diag-block,
  .panel--portfolio .diag-block,
  .panel--contact .diag-block { display:none; }
  .panel--hero .badge { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); }
  .panel--hero .cta { margin:20px auto 0; }
  .hero-bg-logo-svg { left:0; top:0; transform:none; width:100%; height:auto; z-index:2; }
  .hero-logo-scan { display:none; }
  .panel--services { justify-content:flex-start; }
  .panel--services .inner { flex:1; display:flex; flex-direction:column; min-height:0; }
  .panel--services .label { margin-bottom:10px; }
  .panel--services h2 { margin-bottom:8px; }
  .services-grid { grid-template-columns:1fr; gap:0.35rem; padding:0.35rem; flex:1; min-height:0; overflow-y:auto; }
  .service-card { padding:16px 18px; }
  .service-card h3 { font-size:0.85rem; }
  .service-card p { font-size:0.7rem; }
  .service-card--wide { grid-column:span 1; }
  .panel--about .inner { flex:1; display:flex; flex-direction:column; min-height:0; }
  .panel--about .label { margin-bottom:10px; }
  .panel--about h2 { margin-bottom:8px; }
  .about-grid { grid-template-columns:1fr; gap:0.35rem; padding:0.35rem; flex:1; min-height:0; overflow-y:auto; }
  .about-card { padding:16px 18px; }
  .about-card--text { grid-column:span 1; max-height:none; }
  .about-card p { font-size:0.7rem; }
  .about-card--stats { min-height:min(60vw, 400px); padding:0; display:flex; align-items:center; justify-content:center; position:relative; }
  .about-card--stats .brain-svg-wrap { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; overflow:hidden; }
  .about-card--stats .brain-svg-wrap svg { width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; }
  .panel--contact { justify-content:flex-start; }
  .panel--contact .inner { flex:1; display:flex; flex-direction:column; min-height:0; }
  .panel--contact .label { margin-bottom:10px; }
  .panel--contact h2 { margin-bottom:8px; }
  .contact-grid { grid-template-columns:1fr; flex:1; min-height:0; overflow-y:auto; }
  .contact-card { padding:16px 18px; }
  .contact-card--info p { font-size:0.7rem; }
  .contact-card--form .row { grid-template-columns:1fr; }
  .panel--portfolio { justify-content:flex-start; overflow:visible; }
  .panel--portfolio .top .label { margin-bottom:10px; }
  .panel--portfolio .top h2 { margin-bottom:8px; }
  .portfolio-grid {
    flex:1; grid-template-columns:1fr; grid-template-rows:auto;
    overflow-y:auto; min-height:0;
  }
  .portfolio-item { min-height:140px; }
  .portfolio-item.w-2, .portfolio-item.h-2 { grid-column:span 1; grid-row:span 1; }
  .portfolio-detail { overflow-y:auto; }
  .portfolio-close { top:78px; }
  .portfolio-item.is-expanded .pd-title { font-size:clamp(1.1rem,5vw,1.6rem); margin-bottom:2px; }
  .portfolio-item.is-expanded .pd-desc { font-size:clamp(0.7rem,3vw,0.85rem); line-height:1.5; margin-bottom:4px; }
  .portfolio-item.is-expanded .pd-label { font-size:clamp(0.55rem,2.5vw,0.7rem); margin-bottom:3px; }
  .portfolio-item.is-expanded .pd-meta-label { font-size:clamp(0.5rem,2vw,0.6rem); }
  .portfolio-item.is-expanded .pd-meta-val { font-size:clamp(0.65rem,2.5vw,0.8rem); }
  .portfolio-item.is-expanded .pd-cta { font-size:clamp(0.6rem,2.5vw,0.8rem); margin:2px 0 4px; padding:6px 20px; }
  .portfolio-item.is-expanded .pd-images { grid-template-columns:1fr; }
  .portfolio-item.is-expanded .pd-images div { aspect-ratio:2/1; }
  .portfolio-detail { overflow-y:auto; padding:8px; }
  .pd-images { grid-template-columns:1fr; gap:4px; }
  .pd-images div { aspect-ratio:16/9; }
  .pd-inner > * { margin-bottom:4px; }
  .pd-meta { padding-top:3px; margin-bottom:4px; }
  .nav-toggle { display:flex; }
  .nav-mobile-left { display:flex; }
  .nav-mobile-logo { display:block; }
  .nav-track-wrap { display:none; }
  #panelIndex { display:none; }
}

@media (max-width:640px) {
  .panel--contact .left, .panel--contact .right { padding:24px; }
  .service-card { padding:24px; }
  .about-card { padding:24px; }
  .nav-links { display:none; }
}
