@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
/* styles.css */

:root{--bg:#0b0a10;--fg:#f6f3fa;--sub:#aaa3b7;--violet:#ad94ff;--line:#ffffff25;--wrap:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--fg);font-family:'DM Sans',Inter,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}::selection{background:#b5a1f2;color:#110e18}.wrap{width:min(calc(100% - 11%),var(--wrap));margin:auto}.page-progress{position:fixed;z-index:100;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#8168c4,#e4d9ff);pointer-events:none}.site-nav{position:fixed;z-index:90;top:15px;left:50%;transform:translateX(-50%);width:min(calc(100% - 48px),1190px);height:64px;padding:10px 12px 10px 23px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #ffffff2c;border-radius:80px;background:#24202edc;backdrop-filter:blur(25px);box-shadow:0 18px 60px #0008}.brand{font-weight:800;letter-spacing:-3px;font-size:29px;line-height:1}.brand span,.signature-logo span{color:var(--violet)}.nav-links{display:flex;align-items:center;gap:33px}.nav-links a{font-size:12px;color:#c8c1d2;position:relative;padding:8px 0;transition:color .2s}.nav-links a:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--violet);transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav-links a:hover{color:#fff}.nav-links a:hover:after{transform:scaleX(1)}.nav-contact{background:#f0ebf8;color:#1a1324;font-size:12px;font-weight:800;border-radius:40px;padding:12px 18px;display:flex;gap:24px;transition:transform .25s,background .25s}.nav-contact:hover{transform:translateY(-2px);background:#c7b6ff}
.hero{position:relative;min-height:810px;overflow:hidden;padding:143px 5.5% 29px;background:radial-gradient(ellipse at 72% 42%,#33264c55,transparent 48%),#0b0a10}.hero-grid{position:absolute;inset:0;opacity:.35;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,#000 70%,transparent)}.hero-aura{position:absolute;right:0;top:10%;width:58%;height:70%;background:radial-gradient(ellipse,#8064c037,transparent 65%);filter:blur(60px)}.hero-meta,.hero-footer{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;letter-spacing:1.7px;font-weight:700;color:#a29aaf}.hero-meta>span:first-child{display:flex;gap:11px;align-items:center}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b69aff;box-shadow:0 0 15px #b69aff}.hero-layout{position:relative;z-index:3;display:grid;grid-template-columns:1.12fr 1fr;align-items:center;min-height:575px}.hero-content{position:relative;z-index:5;padding-top:60px}.eyebrow,.kicker{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--violet)}.eyebrow{display:flex;align-items:center;gap:13px}.eyebrow-rule{width:30px;height:1px;background:var(--violet)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(76px,9.5vw,155px);font-weight:800;line-height:.95;letter-spacing:-.105em;margin:28px 0 29px;white-space:nowrap}.hero h1 em{font-style:normal;color:#e6def6}.hero h1 em span{color:var(--violet)}.hero-lead{font-size:clamp(19px,2.3vw,28px);line-height:1.38;letter-spacing:-.04em;font-weight:600;max-width:490px;margin-bottom:18px}.hero-body{font-size:14px;line-height:1.85;color:var(--sub);max-width:440px}.hero-actions{display:flex;gap:27px;align-items:center;margin-top:32px}.pill-button{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--violet);border-radius:60px;padding:5px 5px 5px 21px;color:#17101f;font-size:13px;font-weight:800;transition:transform .25s,box-shadow .25s}.pill-button:hover{transform:translateY(-5px);box-shadow:0 16px 50px #aa90ff55}.pill-arrow{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#20182e;color:#fff;font-size:24px;transition:transform .25s}.pill-button:hover .pill-arrow{transform:rotate(45deg)}.text-button{border-bottom:1px solid #a8a0b4;padding-bottom:7px;font-size:13px;font-weight:700;transition:color .2s}.text-button:hover{color:var(--violet)}.text-button span{display:inline-block;margin-left:12px;transition:transform .25s}.text-button:hover span{transform:translate(4px,-4px)}.hero-object{height:470px;position:relative;display:grid;place-items:center;perspective:800px;touch-action:pan-y}.orb-glow{position:absolute;width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#8364c140,transparent 62%);filter:blur(24px)}.orb-rig{width:min(100%,440px);aspect-ratio:1;position:relative;transform-style:preserve-3d;transform:rotateX(var(--orb-x,0deg)) rotateY(var(--orb-y,0deg));transition:transform .2s ease-out}.orb-ring{position:absolute;inset:9%;border:2px solid #c5b1f78a;border-radius:50%;box-shadow:0 0 17px #b69aff33}.ring-one{border-width:4px;transform:rotate(-35deg) scaleY(.37);animation:ring-one 19s linear infinite}.ring-two{transform:rotate(66deg) scaleY(.65);border-color:#ddd2ff82;animation:ring-two 25s linear infinite}.ring-three{transform:rotate(15deg) scaleY(.96);border-color:#b9a3ee66;animation:ring-three 32s linear infinite}.orb-core{position:absolute;inset:24%;border-radius:50%;background:radial-gradient(circle at 30% 21%,#fff 0%,#ddd4f6 6%,#9991c6 16%,#35354e 29%,#080811 46%,#7770aa 64%,#171428 81%,#050509);box-shadow:inset -23px -24px 31px #000d,inset 13px 12px 36px #ffffff42,0 0 75px #aa8aff63;animation:float 7s ease-in-out infinite}.orb-shine{position:absolute;inset:12%;border-radius:50%;border-left:2px solid #ffffffba;transform:rotate(-28deg);filter:blur(4px)}.orb-star{position:absolute;right:7%;top:12%;font-size:24px;color:#b69aff}.orb-note{position:absolute;bottom:6px;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:1.6px;color:#b2aabd}.orb-note>span:last-child{color:#6e687a}.hero-footer{padding-top:23px;border-top:1px solid var(--line)}.hero-footer b{font-weight:400;color:var(--violet);padding:0 12px}.hero-footer .dim{margin-left:20px;color:#6e677a}
.section-meta{display:flex;justify-content:space-between;gap:15px;padding-bottom:21px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.6px;font-weight:800;color:var(--violet)}.section-meta span:last-child{color:#777080}h2{font-size:clamp(52px,6.5vw,95px);line-height:1.06;letter-spacing:-.082em;font-weight:800}h2 em{font-family:Georgia,serif;font-weight:400;color:var(--violet);letter-spacing:-.07em}.about{background:#0f0e14;padding-top:115px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:95px 0 105px}.about h2{font-size:clamp(51px,5.5vw,86px);margin:27px 0}.about-prose{padding-top:32px}.about-prose p{font-size:15px;color:#b8b0c3;line-height:1.85;margin-bottom:20px}.about-prose p.opening{font-size:21px;color:#f1eaf7;line-height:1.6;letter-spacing:-.025em}.about-prose strong{color:#f0e8f9}.signature{border-top:1px solid var(--line);padding-top:24px;margin-top:35px;display:flex;align-items:center;justify-content:space-between}.signature>span{font-family:Georgia,serif;font-style:italic;font-size:40px}.signature-logo{width:74px;height:74px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;letter-spacing:-3px;border:1px solid #ab91e56b;background:radial-gradient(circle,#5d47864d,#14101d);box-shadow:0 0 60px #ad94ff24}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.value-grid article{padding:40px max(22px,6vw);border-right:1px solid var(--line);transition:background .25s}.value-grid article:last-child{border-right:0}.value-grid article:hover{background:#241b32}.value-grid article>span{font-size:11px;color:var(--violet)}.value-grid h3{font-size:28px;letter-spacing:-1px;margin:18px 0 7px}.value-grid p{font-size:13px;line-height:1.7;color:var(--sub);max-width:250px;margin:0}
.scroll-story{height:300vh;position:relative}.story-sticky{height:100vh;min-height:640px;position:sticky;top:0;overflow:hidden;background:#0c0b12}.story-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 73% 52%,#65468b55,transparent 48%),radial-gradient(ellipse at 15% 78%,#34254e33,transparent 50%)}.story-head,.story-foot{position:absolute;left:6%;right:6%;z-index:3;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px}.story-head{top:40px;padding-bottom:22px;border-bottom:1px solid var(--line);color:#c4b2f8}.story-head span:last-child{color:#787080}.story-foot{bottom:28px;padding-top:18px;border-top:1px solid var(--line);color:#9b90a9}.story-copy{position:absolute;top:24%;left:6%;width:48%;z-index:4}.story-slide{position:absolute;left:0;top:0;width:100%;opacity:0;visibility:hidden;transform:translateY(35px);transition:opacity .5s,transform .6s,visibility .5s}.story-slide.active{opacity:1;visibility:visible;transform:translateY(0)}.story-slide h2{margin:27px 0 25px;font-size:clamp(54px,6.4vw,91px)}.story-slide p{font-size:15px;line-height:1.85;color:#b8b0c3;max-width:440px}.story-indicator{position:absolute;top:410px;display:flex;align-items:center;gap:20px;font-size:11px;letter-spacing:2px;color:#968ba9}.current-step{color:var(--violet)}.story-track{width:140px;height:2px;background:#54495e}.story-track-fill{width:0;height:100%;background:var(--violet)}.story-scene{position:absolute;right:5%;top:16%;width:46%;height:70%;display:grid;place-items:center;perspective:900px}.scene-halo{position:absolute;width:95%;aspect-ratio:1;background:radial-gradient(circle,#b493ff24,transparent 60%);filter:blur(35px);transform:scale(var(--halo,1))}.scene-assembly{width:min(36vw,400px);height:min(36vw,400px);position:relative;transform-style:preserve-3d}.scene-orbit{position:absolute;inset:5%;border:1px solid #b39de780;border-radius:50%;box-shadow:0 0 18px #ad94ff30}.orbit-a{transform:rotate(35deg) scaleY(.5);animation:ring-one 22s linear infinite}.orbit-b{transform:rotate(-42deg) scaleY(.73);animation:ring-two 26s linear infinite}.cube{--depth:82px;position:absolute;width:42%;height:42%;top:29%;left:29%;transform-style:preserve-3d;transform:rotateX(calc(-20deg + var(--rotation,0deg))) rotateY(calc(35deg + var(--rotation,0deg)));will-change:transform}.cube-face{position:absolute;inset:0;display:grid;place-items:center;border:1px solid #e4d4ff8c;background:linear-gradient(135deg,#cbb4ff94,#6a50a089 50%,#241835bd);box-shadow:inset 0 0 35px #f6eaff1c,0 0 16px #ae8fff33;backdrop-filter:blur(4px)}.face-front{transform:translateZ(var(--depth))}.face-back{transform:rotateY(180deg) translateZ(var(--depth))}.face-left{transform:rotateY(-90deg) translateZ(var(--depth))}.face-right{transform:rotateY(90deg) translateZ(var(--depth))}.face-top{transform:rotateX(90deg) translateZ(var(--depth))}.face-bottom{transform:rotateX(-90deg) translateZ(var(--depth))}.face-front span{font-size:55px;font-weight:800;letter-spacing:-5px;color:#f1e8ff;text-shadow:0 0 35px #fff9}.scene-readout{position:absolute;bottom:3%;width:90%;display:flex;justify-content:space-between;gap:15px;color:#a89db7;font-size:10px;letter-spacing:1.5px}
.work{background:#f1eef1;color:#17121e;padding:115px 0 130px}.work .section-meta{border-color:#241b2b2d;color:#7657b3}.work .section-meta span:last-child{color:#938b9a}.split-head{display:grid;grid-template-columns:1.5fr .65fr;gap:35px;align-items:end;margin:75px 0 65px}.split-head h2{margin:0}.work h2 em{color:#8568b5}.split-head>p{font-size:15px;line-height:1.8;max-width:330px;color:#756d7d;margin:0 0 6px}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px;row-gap:66px}.project{cursor:pointer;outline-offset:6px}.project:nth-child(even){margin-top:55px}.project-visual{position:relative;height:355px;overflow:hidden;display:flex;align-items:center;justify-content:center;isolation:isolate}.project-visual:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%),#ffffff38,transparent 35%);opacity:0;transition:opacity .3s;pointer-events:none}.project:hover .project-visual:after{opacity:1}.project-visual strong{font-size:clamp(46px,5.8vw,84px);letter-spacing:-.09em;color:#fff;z-index:3;text-shadow:0 12px 24px #0007;transition:transform .45s}.project:hover .project-visual strong{transform:scale(1.07) translateY(-5px)}.project-visual strong span{color:#e5cfff}.project-visual>small{position:absolute;bottom:22px;left:22px;z-index:3;font-size:11px;letter-spacing:2px;color:#fff}.corner-arrow{position:absolute;top:18px;right:18px;z-index:3;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#ffffff2b;color:#fff;backdrop-filter:blur(12px);font-size:25px;font-weight:400;transition:transform .3s,background .3s,color .3s}.project:hover .corner-arrow{transform:rotate(45deg);background:#fff;color:#241b31}.sharkie{background:radial-gradient(ellipse at 62% 22%,#40b6bf,#176e8c 45%,#071b3b)}.sharkie-ripple{position:absolute;inset:-50%;transform:rotate(-22deg);background:repeating-radial-gradient(ellipse at 30% 45%,transparent 0 21px,#b3eeff22 22px 24px)}.sharkie-symbol{position:absolute;font-size:290px;color:#b9eaff36;transform:rotate(-20deg)}.join{background:linear-gradient(135deg,#3d286a,#a18ddd)}.kanban-window{position:absolute;width:68%;height:67%;background:#f3f0fc;border-radius:11px;overflow:hidden;box-shadow:20px 25px 50px #291843aa;transform:perspective(700px) rotateY(-18deg) rotateZ(-8deg);transition:transform .5s}.project:hover .kanban-window{transform:perspective(700px) rotateY(-7deg) rotateZ(-3deg) scale(1.04)}.window-bar{height:35px;background:#302a44;display:flex;align-items:center;gap:6px;padding:0 12px}.window-bar i{width:7px;height:7px;background:#bca9db;border-radius:50%}.kanban-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}.kanban-columns>div{display:flex;flex-direction:column;gap:8px}.kanban-columns small{font-size:8px;color:#6e627b;font-weight:800}.kanban-columns i{height:42px;border-radius:5px;background:#d9d1e9}.kanban-columns>div:nth-child(2) i{background:#c4d3f4}.kanban-columns>div:nth-child(3) i{background:#c5e5d7}.bubble{background:linear-gradient(135deg,#0e2854,#4e70c8 65%,#b7a0e9)}.chat-bubble{position:absolute;border-radius:30px;background:#ffffff36;color:#fff;padding:14px 20px;font-size:14px;box-shadow:0 12px 30px #071b5560;backdrop-filter:blur(10px);transition:transform .35s}.chat-one{left:9%;top:17%;transform:rotate(-9deg)}.chat-two{right:7%;top:23%;transform:rotate(8deg)}.chat-three{left:23%;bottom:16%;transform:rotate(-5deg)}.project:hover .chat-one{transform:translate(-8px,-8px) rotate(-5deg)}.project:hover .chat-two{transform:translate(8px,-8px) rotate(5deg)}.pokedex{background:linear-gradient(135deg,#f3a168,#d34d61 55%,#783450)}.pokeball{position:absolute;width:230px;height:230px;border-radius:50%;background:linear-gradient(#f8ca88 0 46%,#433044 46% 54%,#f9e9d7 54%);opacity:.76;transform:rotate(-19deg);box-shadow:15px 25px 40px #6a233f9a;transition:transform .6s}.pokeball>div{position:absolute;top:calc(50% - 35px);left:calc(50% - 35px);width:70px;height:70px;border:12px solid #433044;border-radius:50%;background:#fff2e3}.project:hover .pokeball{transform:rotate(10deg) scale(1.07)}.project-caption{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-top:20px}.project-caption h3{font-size:30px;letter-spacing:-1px;margin:0 0 6px}.project-caption p{font-size:13px;color:#716b79;margin:0}.project-caption>span{font-size:10px;letter-spacing:1.2px;color:#8d8595;text-align:right}.full-link{margin-top:120px;border-top:1px solid #241b2b32;padding:23px 0;display:flex;justify-content:space-between;font-size:18px;font-weight:800;transition:color .2s}.full-link:hover{color:#8467b6}.full-link span{font-size:28px}
.expertise{background:#110f17;padding:115px 0 135px}.expertise .split-head>p,.journey .split-head>p{color:#aea5b9}.expertise .split-head .kicker{display:block;margin-bottom:20px}.skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.skill-card{min-height:570px;padding:27px;background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,35%),#7653a63b,transparent 42%),#1b1823;border:1px solid #ffffff21;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s,border-color .35s,box-shadow .35s}.skill-card:hover{transform:translateY(-10px);border-color:#b39bff85;box-shadow:0 22px 70px #7850b127}.skill-meta{display:flex;justify-content:space-between;align-items:center;color:#b4a1ce;font-size:10px;letter-spacing:1.3px}.skill-meta span:last-child{font-size:24px;transition:transform .25s}.skill-card:hover .skill-meta span:last-child{transform:rotate(45deg)}.skill-visual{height:240px;display:grid;place-items:center;position:relative;perspective:600px}.skill-ai-ring{position:absolute;width:155px;height:155px;border:2px solid #b69fff9c;border-radius:50%;box-shadow:0 0 20px #aa8fff33}.sa1{transform:rotate(-35deg) scaleY(.38);animation:ring-one 15s linear infinite}.sa2{transform:rotate(58deg) scaleY(.66);animation:ring-two 20s linear infinite}.sa3{transform:rotate(14deg) scaleY(.93);animation:ring-three 24s linear infinite}.skill-ai-core{width:75px;height:75px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#d2c2fb,#745fa6 38%,#1a162c 76%);box-shadow:inset -8px -9px 18px #0009,0 0 36px #b59aff66;font-size:26px;font-weight:800;animation:float 6s ease-in-out infinite}.code-diamond{position:absolute;width:135px;height:135px;border:1px solid #b7a0ff8a;background:linear-gradient(135deg,#ad94ff06,#ad94ff24);box-shadow:0 0 26px #aa8fff35;transform:rotate(45deg) skew(-8deg,-8deg)}.d2{transform:rotate(20deg) skew(-8deg,-8deg) scale(.8);opacity:.7}.d3{transform:rotate(65deg) skew(-8deg,-8deg) scale(1.2);opacity:.45}.skill-code b{z-index:2;font-size:29px;letter-spacing:-2px;text-shadow:0 0 25px #c3b1ff}.design-torus{width:155px;height:155px;border-radius:50%;background:conic-gradient(#544473,#d8c5ff,#473258,#c8b0ee,#544473);transform:rotate(-25deg) skewX(-15deg);box-shadow:14px 18px 35px #06040d99,inset -15px -13px 23px #281c4366;animation:torus 12s ease-in-out infinite alternate}.design-torus:after{content:'';position:absolute;inset:34px;border-radius:50%;background:#1b1823;box-shadow:inset 9px 9px 15px #000b,0 0 10px #ffffff65}.skill-card h3{font-size:clamp(36px,3.6vw,51px);letter-spacing:-.07em;line-height:1.06;margin:0 0 17px}.skill-card p{font-size:13px;color:#b4abbc;line-height:1.8;margin:0 0 22px}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.chips span{padding:8px 11px;border:1px solid #ffffff36;border-radius:40px;font-size:11px;color:#ddd4e5}
.journey{background:#110f17;padding:110px 0 140px}.timeline{border-top:1px solid #ffffff40}.timeline-row{display:grid;grid-template-columns:1fr 2.3fr 45px;gap:25px;padding:35px 8px 35px 0;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}.timeline-row:hover{background:#ffffff08;padding-left:16px}.time-date{font-size:11px;letter-spacing:1px;color:#b5a0ea;padding-top:9px;line-height:2}.live-badge{border:1px solid #ad94ff8a;border-radius:20px;padding:5px 8px;font-size:9px;margin-left:8px}.timeline-row h3{font-size:32px;letter-spacing:-1.3px;margin:0 0 7px}.timeline-row strong{color:#b49af3;font-size:13px}.timeline-row p{font-size:13px;line-height:1.8;color:#ada5b8;max-width:550px;margin:10px 0 0}.time-index{font-size:27px;color:#655875;text-align:right;font-weight:800}
.contact{position:relative;overflow:hidden;min-height:830px;padding:85px 0 45px;background:radial-gradient(ellipse at 72% 73%,#2b204b,#1a142b 45%,#100d19 80%)}.contact-mesh{position:absolute;inset:-50%;background-image:linear-gradient(#c8b5ff0e 1px,transparent 1px),linear-gradient(90deg,#c8b5ff0e 1px,transparent 1px);background-size:55px 55px;transform:perspective(500px) rotateX(35deg);mask-image:radial-gradient(ellipse,#000,transparent 70%)}.aurora{position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(90px);opacity:.53;pointer-events:none}.aurora-one{right:-170px;top:0;background:#6d50a5;animation:aurora-a 14s ease-in-out infinite alternate}.aurora-two{left:18%;bottom:-300px;background:#40368e;animation:aurora-b 17s ease-in-out infinite alternate}.contact-object{position:absolute;width:470px;height:470px;right:-3%;top:13%;opacity:.58;transform:rotate(var(--contact-rotation,0deg))}.contact-ring{position:absolute;inset:4%;border:1px solid #d4c2ff91;border-radius:50%}.contact-ring-a{transform:rotate(45deg) scaleY(.4);animation:ring-one 23s linear infinite}.contact-ring-b{transform:rotate(-25deg) scaleY(.7);animation:ring-two 19s linear infinite}.contact-sphere{position:absolute;inset:35%;border-radius:50%;background:radial-gradient(circle at 30% 25%,#e7d7ff,#8170b6 28%,#1a1533 65%,#090710);box-shadow:0 0 80px #ad94ff75}.contact-inner{position:relative;z-index:2}.contact-overline{display:block;margin-top:120px;font-size:12px;letter-spacing:2px;font-weight:700;color:#d4c8ee}.contact h2{font-size:clamp(85px,11.5vw,165px);margin:26px 0 57px}.contact h2 em{color:#c9b6ff}.contact-row{display:flex;justify-content:space-between;align-items:center;gap:25px;max-width:850px}.contact-row p{font-size:17px;line-height:1.7;color:#c8bdd8;max-width:315px}.mail-button{min-width:290px;display:flex;justify-content:space-between;align-items:center;gap:50px;padding:7px 7px 7px 23px;background:#e8ddff;color:#1b1424;border-radius:70px;font-size:13px;font-weight:800;transition:transform .25s,box-shadow .25s,background .25s}.mail-button b{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;background:#20172e;color:#fff;font-size:25px;font-weight:400;transition:transform .25s}.mail-button:hover{background:#fff;transform:translateY(-5px);box-shadow:0 17px 50px #b392ff55}.mail-button:hover b{transform:rotate(45deg)}.social-row{display:flex;gap:35px;align-items:center;margin-top:140px;padding:27px 0;border-top:1px solid #ffffff42;font-size:11px;letter-spacing:1.4px}.social-row a:hover{color:#cdbbff}.social-row>span{margin-left:auto;color:#b3a6c9}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 5.5%;background:#08070c;font-size:10px;letter-spacing:1px;color:#aaa1b6}.footer .brand{color:#fff}
.reveal{transition:opacity .85s cubic-bezier(.2,.8,.2,1),translate .85s cubic-bezier(.2,.8,.2,1)}.js-ready .reveal:not(.visible){opacity:0;translate:0 42px}.js-ready .reveal.visible{opacity:1;translate:0 0}
.project-dialog{width:min(92vw,520px);border:1px solid #ffffff35;border-radius:20px;padding:38px;background:#211a2f;color:#f8f4ff;box-shadow:0 40px 120px #000c}.project-dialog::backdrop{background:#06040ad9;backdrop-filter:blur(9px)}.dialog-close{position:absolute;top:12px;right:17px;border:0;background:transparent;color:#fff;font-size:32px}.dialog-eyebrow{font-size:10px;color:var(--violet);letter-spacing:2px}.project-dialog h2{font-size:55px;margin:24px 0 16px}.project-dialog p{font-size:15px;line-height:1.75;color:#c9bed5}.dialog-tags{display:flex;flex-wrap:wrap;gap:7px;margin:25px 0}.dialog-tags span{border:1px solid #ffffff36;border-radius:30px;padding:8px 12px;font-size:11px}.dialog-link{display:inline-block;border-bottom:1px solid #ad94ff;padding-bottom:7px;font-weight:700}
@keyframes ring-one{to{transform:rotate(325deg) scaleY(.37)}}@keyframes ring-two{to{transform:rotate(426deg) scaleY(.65)}}@keyframes ring-three{to{transform:rotate(375deg) scaleY(.96)}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -12px}}@keyframes torus{to{transform:rotate(50deg) skewX(-15deg)}}@keyframes aurora-a{to{transform:translate(-170px,180px) scale(1.2)}}@keyframes aurora-b{to{transform:translate(180px,-170px) scale(1.25)}}
@media(max-width:1000px){.hero h1{font-size:clamp(73px,9.5vw,108px)}.hero-object{height:400px}.orb-rig{max-width:350px}.skill-card{padding:22px}.skill-card h3{font-size:39px}.cube{--depth:65px}.story-slide h2{font-size:62px}}
@media(max-width:780px){.nav-links{display:none}.hero-layout{grid-template-columns:1fr}.hero-content{padding-top:60px}.hero{min-height:1090px}.hero h1{font-size:clamp(80px,12vw,118px)}.hero-object{height:360px}.orb-rig{max-width:300px}.about-layout{gap:6%}.story-copy{width:55%}.story-scene{right:-8%;opacity:.8}.story-slide h2{font-size:54px}.skill-grid{grid-template-columns:repeat(2,1fr)}.skill-card:last-child{grid-column:1/-1;min-height:440px}.skill-card:last-child .skill-visual{height:170px}.skill-card:last-child h3{margin-top:15px}.cube{--depth:55px}}
@media(max-width:600px){.wrap{width:calc(100% - 42px)}.site-nav{width:calc(100% - 22px);top:10px;height:60px;padding-left:17px}.hero{padding:125px 21px 26px;min-height:965px}.hero-meta{font-size:8px}.hero-layout{min-height:765px}.hero-content{padding-top:55px}.eyebrow{font-size:9px}.hero h1{font-size:clamp(70px,15vw,100px);margin:25px 0}.hero-lead{font-size:21px}.hero-body{font-size:13px}.hero-actions{gap:18px}.pill-button{font-size:12px}.text-button{font-size:12px}.hero-object{height:305px;margin-top:30px}.orb-rig{max-width:260px}.orb-note{font-size:8px}.hero-footer{font-size:8px}.hero-footer>span:last-child{display:none}.about{padding-top:80px}.about-layout{grid-template-columns:1fr;gap:10px;padding:65px 0 75px}.about h2{font-size:clamp(53px,10vw,72px)}.about-prose{padding-top:0}.about-prose p{font-size:14px}.about-prose p.opening{font-size:18px}.value-grid{grid-template-columns:1fr}.value-grid article{border-right:0;border-bottom:1px solid var(--line);padding:28px 22px;min-height:125px}.value-grid h3{margin:8px 0}.scroll-story{height:265vh}.story-sticky{min-height:580px}.story-head{left:21px;right:21px;top:27px;font-size:9px}.story-copy{left:21px;top:16%;width:calc(100% - 42px)}.story-slide h2{font-size:clamp(45px,9vw,62px);margin:18px 0}.story-slide p{font-size:12px;max-width:340px;line-height:1.65}.story-indicator{top:310px}.story-scene{width:66%;height:35%;right:-4%;top:54%;opacity:.85}.scene-assembly{width:220px;height:220px}.cube{--depth:44px}.face-front span{font-size:29px}.scene-readout{bottom:-12px;font-size:8px}.story-foot{left:21px;right:21px;bottom:20px;font-size:9px}.work{padding:78px 0}.split-head{grid-template-columns:1fr;gap:15px;margin:55px 0 42px}.split-head h2{font-size:clamp(57px,11vw,78px)}.split-head>p{font-size:13px}.projects{grid-template-columns:1fr;row-gap:43px}.project:nth-child(even){margin-top:0}.project-visual{height:290px}.project-visual strong{font-size:60px}.project-caption h3{font-size:27px}.project-caption>span{font-size:9px}.full-link{margin-top:65px}.expertise,.journey{padding:80px 0}.skill-grid{grid-template-columns:1fr}.skill-card,.skill-card:last-child{grid-column:auto;min-height:470px}.skill-visual{height:190px}.skill-card h3{font-size:44px}.timeline-row{grid-template-columns:1fr 36px;gap:12px}.time-date{grid-column:1/-1}.timeline-row h3{font-size:27px}.contact{min-height:780px;padding:70px 0 30px}.contact-overline{margin-top:105px;font-size:10px;line-height:1.8;max-width:260px}.contact h2{font-size:clamp(73px,14vw,105px);margin:22px 0 45px}.contact-object{width:310px;height:310px;right:-25%;top:25%;opacity:.32}.contact-row{align-items:flex-start;flex-direction:column}.contact-row p{font-size:14px}.mail-button{max-width:330px}.social-row{margin-top:100px;font-size:10px;gap:20px}.social-row>span{display:none}.footer{font-size:9px;padding:24px 21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-ready .reveal{opacity:1!important;translate:none!important}}

/* enhancements.css */
/* Portfolio V3: immersive effects, bilingual UI and expanded case-study dialogs */
:root{--violet:#af94ff;--violet2:#dbbaff;--cyan:#8ad8ff;--coral:#ffb0b5;--ui-dark:#111019;color-scheme:dark}
body{background:#0b0a10}
body.dialog-open{overflow:hidden}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #d9caff;outline-offset:4px}
.lang-toggle{border:1px solid #ffffff26;background:#ffffff0c;color:#aaa0be;border-radius:50px;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 13px;font-size:11px;font-weight:750;letter-spacing:.06em;flex-shrink:0;transition:background .3s,border-color .3s,transform .3s}
.lang-toggle .lang-code{color:#f8f4ff}.lang-toggle .lang-other{color:#8e859f}.lang-toggle .lang-sep{color:#655d76}.lang-toggle:hover{background:#a88cdd26;border-color:#a88cddaa;transform:translateY(-3px)}
/* Cursor is enabled only on devices with a true fine pointer and no reduced-motion preference. */
.custom-cursor{display:none;position:fixed;left:0;top:0;z-index:9999;pointer-events:none;transform:translate3d(-100px,-100px,0);--cursor-color:#b59aff}
.cursor-core{display:block;position:absolute;top:0;left:0;width:9px;height:9px;background:var(--cursor-color);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 25px var(--cursor-color);transition:background .3s,box-shadow .3s,transform .25s}
.cursor-ring{display:block;position:absolute;top:0;left:0;width:34px;height:34px;border-radius:50%;border:1px solid var(--cursor-color);transform:translate(-50%,-50%) scale(.7);opacity:.48;transition:width .3s,height .3s,border-color .3s,opacity .3s,background .3s}
@media(pointer:fine) and (prefers-reduced-motion:no-preference){html.has-custom-cursor,html.has-custom-cursor body,html.has-custom-cursor a,html.has-custom-cursor button,html.has-custom-cursor .project,html.has-custom-cursor [role="button"]{cursor:none!important}html.has-custom-cursor input,html.has-custom-cursor textarea{cursor:text!important}html.has-custom-cursor .custom-cursor{display:block}html.cursor-hover .cursor-ring{width:57px;height:57px;opacity:.7;background:color-mix(in srgb,var(--cursor-color) 11%,transparent)}html.cursor-hover .cursor-core{transform:translate(-50%,-50%) scale(1.6)}html.cursor-click .cursor-ring{width:26px;height:26px;opacity:1}}
/* Hero introduction: animated on load, responsive hover per letter. */
.hero-content{isolation:isolate}
.hero h1{white-space:normal;position:relative;overflow:visible}
.hero-line{display:block;width:max-content;max-width:100%;transform-origin:left bottom;animation:hero-enter .95s cubic-bezier(.18,.85,.18,1) both}
.hero-line-two{animation-delay:.2s}
.hero-greeting{display:inline-block;position:relative;transition:transform .45s cubic-bezier(.18,.8,.2,1),text-shadow .45s,color .45s}
.hero-line-one:hover .hero-greeting{transform:translate3d(8px,-5px,0) rotate(-2deg);text-shadow:0 0 35px #a693ff7a;color:#f0e8ff}
.hero-name{display:inline-flex;align-items:baseline;font-style:normal!important;position:relative;isolation:isolate}
.hero-name:before{content:'';position:absolute;left:-6%;right:0;bottom:7%;height:28%;background:linear-gradient(90deg,#8973f270,#b59cff6b,transparent);filter:blur(28px);opacity:.4;z-index:-1;transform:scaleX(.3);transform-origin:left;transition:transform .55s,opacity .55s}
.hero-name:hover:before{transform:scaleX(1);opacity:.95}
.hero-letters{display:inline-flex;align-items:baseline;gap:0}
.hero-letters>span{display:inline-block;transition:transform .46s cubic-bezier(.175,.885,.32,1.5),color .35s,text-shadow .35s;will-change:transform}
.hero-letters>span:hover{transform:translateY(-15%) rotate(-8deg);color:#c3b0ff;text-shadow:0 13px 40px #b097ff7e}
.hero-letters>span:hover+span{transform:translateY(-5%) rotate(5deg)}
.hero-period{display:inline-block;color:var(--violet);transition:transform .5s,text-shadow .5s}
.hero-name:hover .hero-period{transform:translateY(-16px) rotate(15deg);text-shadow:0 0 25px var(--violet)}
.hero-lead{animation:hero-enter .85s .44s both}.hero-body{animation:hero-enter .85s .55s both}.hero-actions{animation:hero-enter .85s .67s both}
@keyframes hero-enter{0%{opacity:0;transform:translate3d(0,60px,0) rotate(3deg);filter:blur(7px)}100%{opacity:1;transform:none;filter:none}}
/* Global ambient layers. Animated textures intentionally remain subtle. */
.hero-grid{animation:background-drift 38s linear infinite;opacity:.36}
.about,.work,.expertise,.journey{position:relative;isolation:isolate;overflow:hidden}
.about{background:radial-gradient(ellipse at 92% 10%,#34244d44,transparent 44%),#101016}
.about:before,.work:before,.expertise:before,.journey:before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:-30%;opacity:.15;background-image:linear-gradient(120deg,#d5c2ff10 1px,transparent 1px),linear-gradient(30deg,#d5c2ff0b 1px,transparent 1px);background-size:120px 120px,80px 80px;animation:background-drift 48s linear infinite}
.about:after,.work:after,.expertise:after,.journey:after{content:'';z-index:-1;pointer-events:none;position:absolute;width:55vw;height:55vw;min-width:300px;min-height:300px;left:-20vw;top:10%;border-radius:50%;background:radial-gradient(circle,#65459b30,transparent 65%);filter:blur(50px);animation:ambient-float 18s ease-in-out infinite alternate}
.work{background:radial-gradient(ellipse at 78% 6%,#32234550,transparent 35%),radial-gradient(ellipse at 5% 79%,#28193763,transparent 43%),#0c0b11;color:#f6f3fa}
.work .section-meta{border-color:#ffffff26;color:#b79eff}.work .section-meta span:last-child{color:#7e788b}
.work h2 em{color:var(--violet)}.work .split-head>p{color:#ada7b8}
.work .project-caption h3{color:#f8f5ff}.work .project-caption p{color:#b3aabd}.work .project-caption>span{color:#8f859e}
.work .full-link{border-color:#ffffff3a;color:#f8f5ff}.work .full-link:hover{color:var(--violet)}
.expertise{background:radial-gradient(ellipse at 95% 50%,#382a5545,transparent 49%),#0c0b11}
.journey{background:radial-gradient(ellipse at 5% 10%,#38275338,transparent 42%),#0f0d15}
.expertise:after{left:auto;right:-22vw;top:17%;animation-delay:-5s}.journey:after{top:38%;animation-delay:-10s}
@keyframes background-drift{to{transform:translate3d(70px,-90px,0)}}
@keyframes ambient-float{from{transform:translate3d(0,0,0)}to{transform:translate3d(20vw,17vh,0)}}
/* Distinct hover behavior for section value cards, navigation and timeline. */
.value-grid article{position:relative;isolation:isolate;overflow:hidden;transition:background .3s,transform .4s,padding-left .4s}
.value-grid article:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent,#a592ff1b,transparent);transform:translateX(-120%);transition:transform .7s}
.value-grid article:hover{background:#21182e;padding-left:max(30px,5.6vw)}.value-grid article:hover:before{transform:translateX(120%)}
.timeline-row{position:relative;overflow:hidden}.timeline-row:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#b69aff;transform:scaleY(0);transform-origin:center;transition:transform .3s}.timeline-row:hover:before{transform:scaleY(1)}
.timeline-row h3{transition:translate .4s,color .4s}.timeline-row:hover h3{translate:6px 0;color:#e3d9ff}
.text-button span,.full-link>span{transition:transform .25s}.text-button:hover span,.full-link:hover>span{transform:translate(4px,-4px)}
/* Project interactions; cards act as buttons, pointer-driven light + real tilt. */
.projects{row-gap:78px}
.project{--tilt-x:0deg;--tilt-y:0deg;position:relative;transform-style:preserve-3d}
.project-visual{border-radius:5px;background-clip:padding-box;transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;box-shadow:0 15px 40px #0004}
.project:hover .project-visual{box-shadow:0 32px 80px #0009,0 0 0 1px #b6a0ff45}
.project .corner-arrow{transition:transform .35s,background .35s,color .35s}
.project:hover .corner-arrow{transform:rotate(45deg) scale(1.08);background:#f4efff;color:#2b1d3d}
.project:hover .project-caption h3{color:#cab7ff;transition:color .3s}
.project-visual:before{content:'';position:absolute;inset:-60%;background:conic-gradient(from 90deg at 50% 50%,transparent 0 33%,#ffffff16 45%,transparent 54%);transform:translateX(-80%) rotate(-20deg);transition:transform .9s;z-index:2;pointer-events:none}
.project:hover .project-visual:before{transform:translateX(70%) rotate(15deg)}
/* Coderr and Videoflix custom graphics: abstract thumbnails, not screenshots */
.project-visual.coderr{background:radial-gradient(ellipse at 70% 25%,#308c93,#123946 47%,#061523 94%)}
.project-visual.videoflix{background:radial-gradient(ellipse at 40% 15%,#ad405d,#47172b 47%,#150b1a 100%)}
.coderr-art,.videoflix-art{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.coderr-terminal{width:min(74%,420px);height:62%;border-radius:11px;border:1px solid #70d5d076;overflow:hidden;background:#081b25e8;box-shadow:25px 30px 55px #0010169d;transform:perspective(700px) rotateY(-18deg) rotateZ(-6deg);transition:transform .55s}
.project:hover .coderr-terminal{transform:perspective(700px) rotateY(-8deg) rotateZ(-2deg) scale(1.06)}
.terminal-bar{display:flex;align-items:center;gap:6px;background:#133342;padding:12px}.terminal-bar i{display:block;width:7px;height:7px;border-radius:50%;background:#80d6d5}.terminal-bar span{margin-left:12px;color:#8fc4cb;font-size:9px;letter-spacing:1px}
.terminal-content{padding:21px;display:flex;flex-direction:column;gap:12px;font-family:Consolas,monospace;font-size:11px}.terminal-command{color:#a9f7dc}.terminal-ok{color:#8cf1b9}.terminal-line{height:6px;background:#39656b;border-radius:2px;width:85%;opacity:.9}.terminal-line.short{width:55%}.terminal-quiet{color:#85adb3;font-size:10px}
.coderr-orbit{position:absolute;width:270px;height:270px;border:1px solid #8fe8e877;border-radius:50%;transform:rotate(30deg) scaleY(.5);animation:coderr-turn 14s linear infinite}
@keyframes coderr-turn{to{transform:rotate(390deg) scaleY(.5)}}
.video-browser{width:80%;height:68%;background:#100c16;border-radius:9px;border:1px solid #f1b2bb69;box-shadow:0 30px 70px #2c0b19cc;overflow:hidden;transform:perspective(700px) rotateY(13deg) rotateZ(4deg);transition:transform .55s}
.project:hover .video-browser{transform:perspective(700px) rotateY(5deg) rotateZ(1deg) scale(1.05)}
.video-nav{height:31px;display:flex;align-items:center;gap:20px;padding:0 15px;color:#d8c6d2;font-size:8px;background:#140d16}.video-nav b{font-size:20px;color:#fa8da8}
.video-hero{height:57%;display:grid;place-items:center;background:radial-gradient(circle at 67% 45%,#d05c72,#6f263e 53%,#250e1d)}
.video-play{width:50px;height:50px;display:grid;place-items:center;color:#fff;border-radius:50%;background:#ffffff30;backdrop-filter:blur(5px);font-size:18px;animation:play-pulse 3s ease-in-out infinite}
@keyframes play-pulse{50%{box-shadow:0 0 0 16px #ffffff10}}
.video-thumbnails{display:flex;gap:8px;padding:11px}.video-thumbnails span{display:block;flex:1;height:37px;border-radius:4px;background:linear-gradient(115deg,#4e3d63,#986272)}.video-thumbnails span:nth-child(2){background:linear-gradient(115deg,#2d5663,#7aa4ba)}.video-thumbnails span:nth-child(3){background:linear-gradient(115deg,#74425d,#ac779a)}
/* AI, engineering and design all move, individually. */
.skill-card{transform-style:preserve-3d;transition:translate .45s,box-shadow .45s,border-color .45s;background-image:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,35%),#a18dff29,transparent 47%)}
.skill-card:hover{translate:0 -11px;border-color:#c0aaff88;box-shadow:0 24px 70px #674a9a2e}
.skill-code{transform-style:preserve-3d}
.skill-code .code-diamond{animation:engineering-spin 13s ease-in-out infinite alternate;transform-origin:center}
.skill-code .d2{animation:engineering-spin-mid 9s ease-in-out infinite alternate-reverse}
.skill-code .d3{animation:engineering-spin-outer 17s ease-in-out infinite alternate}
.skill-code b{animation:engineering-code-float 3.8s ease-in-out infinite}
.skill-card:hover .skill-code b{color:#d1c6ff;filter:drop-shadow(0 0 15px #a58eff)}
@keyframes engineering-spin{from{transform:rotate(45deg) skew(-8deg,-8deg)}to{transform:rotate(105deg) skew(-5deg,-5deg) scale(1.05)}}
@keyframes engineering-spin-mid{from{transform:rotate(10deg) skew(-8deg,-8deg) scale(.72)}to{transform:rotate(-35deg) skew(-11deg,-11deg) scale(.91)}}
@keyframes engineering-spin-outer{from{transform:rotate(65deg) skew(-8deg,-8deg) scale(1.13)}to{transform:rotate(120deg) skew(-8deg,-8deg) scale(1.21)}}
@keyframes engineering-code-float{50%{transform:translateY(-10px) scale(1.06)}}
/* Expanded project dialog */
.project-dialog{width:min(94vw,1090px);max-width:1090px;max-height:min(92vh,930px);overflow:auto;overscroll-behavior:contain;padding:0;border-radius:18px;background:#16121e;border:1px solid #a991df44;box-shadow:0 40px 150px #000c;color:#f8f5ff}
.project-dialog::backdrop,.contact-dialog::backdrop{background:#08060edb;backdrop-filter:blur(14px)}
.project-dialog-grid{display:grid;grid-template-columns:46% 54%;min-height:580px}
.dialog-image{background:#13101a;min-height:100%;overflow:hidden;position:relative;display:flex;align-items:stretch}
.dialog-image .project-visual{width:100%;height:100%;min-height:580px;border-radius:0;transform:none!important;box-shadow:none!important;pointer-events:none}
.dialog-image .project-visual strong{font-size:clamp(47px,5vw,75px)}
.dialog-image .project-visual .corner-arrow{display:none}
.dialog-image .project-visual:after{display:none}
.dialog-content{padding:48px 46px;min-width:0}
.dialog-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#a89bb9;font-size:10px;letter-spacing:2px}
.dialog-eyebrow{color:#c2acf8;font-size:10px;letter-spacing:2px}
.project-dialog .dialog-content>h2{font-size:clamp(47px,5vw,78px);line-height:1;margin:28px 0 17px;letter-spacing:-.075em}
.project-dialog .dialog-summary{font-size:17px;line-height:1.65;color:#dfd5e9;margin:0 0 27px}
.dialog-section{padding-top:20px;border-top:1px solid #ffffff23;margin-top:22px}
.dialog-section h3{font-size:10px;font-weight:800;letter-spacing:2px;color:#b99df4;margin:0 0 14px}
.dialog-section p{color:#bdb4c9;font-size:13px;line-height:1.75;margin:0}
.dialog-section ul{padding-left:18px;margin:0;display:grid;gap:9px;color:#cfc6dc;font-size:13px;line-height:1.65}
.dialog-section li::marker{color:#aa91f1}
.project-dialog .dialog-tags{margin:26px 0;display:flex;flex-wrap:wrap;gap:7px}
.project-dialog .dialog-tags span{padding:8px 12px;background:#ffffff08;border-color:#ffffff20}
.dialog-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:26px}
.project-dialog .dialog-link{display:inline-flex;align-items:center;border:1px solid #a18dff88;border-radius:40px;background:#a18dff;color:#1a1126;font-size:11px;font-weight:800;letter-spacing:.5px;padding:15px 19px;transition:transform .3s,background .3s,box-shadow .3s}
.project-dialog .dialog-link:hover{background:#d3c4ff;transform:translateY(-3px);box-shadow:0 12px 35px #9c7cdf4c}
.dialog-extra-link{font-size:11px;color:#c5afd9;border-bottom:1px solid #75668b;padding-bottom:4px}
.dialog-extra-link[hidden]{display:none}
.project-dialog .dialog-close,.contact-close{position:sticky;float:right;top:10px;right:10px;z-index:8;border:1px solid #ffffff49;border-radius:50%;background:#241d30e8;backdrop-filter:blur(10px);width:40px;height:40px;display:grid;place-items:center;color:#fff;font-size:25px;line-height:1;transition:transform .3s,background .3s;cursor:pointer}
.project-dialog .dialog-close{position:fixed;right:max(4vw,12px);top:max(5vh,12px)}
.project-dialog .dialog-close:hover,.contact-close:hover{transform:rotate(90deg);background:#615080}
/* Contact modal: usable form, intentionally mailto-only to avoid misleading claims of direct sending */
.contact-dialog{width:min(94vw,740px);max-height:91vh;overflow:auto;border-radius:18px;padding:38px 42px;background:radial-gradient(ellipse at 80% 3%,#47335f8a,transparent 55%),#17131d;border:1px solid #b59aff5a;color:#f6f2ff;box-shadow:0 35px 130px #000d}
.contact-dialog-heading{display:flex;gap:20px;justify-content:space-between;align-items:start}
.contact-dialog-heading h2{font-size:clamp(38px,5vw,59px);letter-spacing:-.075em;line-height:1.1;margin:13px 0 10px}
.contact-dialog-heading p{font-size:13px;line-height:1.75;color:#bcb2c9;max-width:490px;margin-bottom:25px}
.contact-dialog .contact-close{position:relative;top:0;right:0;float:none;flex-shrink:0}
#contact-form-fields{display:flex;flex-direction:column;gap:17px}
#contact-form-fields label{display:flex;flex-direction:column;gap:9px;min-width:0;flex:1}
#contact-form-fields label>span{font-size:10px;letter-spacing:1.6px;color:#c0aaed;font-weight:800}
#contact-form-fields .form-line{display:flex;gap:16px}
#contact-form-fields input,#contact-form-fields textarea{appearance:none;resize:vertical;min-width:0;width:100%;font:inherit;font-size:14px;border-radius:9px;padding:14px 15px;color:#f7f1ff;background:#ffffff09;border:1px solid #ffffff35;transition:border-color .2s,background .2s,box-shadow .2s}
#contact-form-fields input::placeholder,#contact-form-fields textarea::placeholder{color:#898193}
#contact-form-fields input:focus,#contact-form-fields textarea:focus{outline:none;border-color:#baa3ff;background:#ffffff11;box-shadow:0 0 0 4px #af95ff20}
.form-footer{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:9px}
.form-footer p{font-size:11px;color:#aea5bb;line-height:1.65;max-width:330px;margin:0}
.form-submit{border:0;background:#c4b0ff;color:#171021;border-radius:50px;padding:7px 7px 7px 19px;display:flex;gap:25px;align-items:center;justify-content:space-between;white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:.7px;transition:background .3s,transform .3s}
.form-submit>span:last-child{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#20172e;color:#fff;font-size:21px}
.form-submit:hover{background:#fff;transform:translateY(-3px)}.form-status{font-size:12px;line-height:1.5;color:#bba6ef;margin:0;min-height:0}
.contact-mesh{animation:background-drift 35s linear infinite}
.contact:before{content:'';position:absolute;width:300px;height:300px;border:1px solid #cbb5ff24;border-radius:50%;right:28%;top:8%;animation:contact-ambient-rotate 25s linear infinite;pointer-events:none}
@keyframes contact-ambient-rotate{to{transform:rotate(360deg) translateX(30px)}}
@media(max-width:780px){.site-nav{gap:9px}.nav-contact{gap:10px}.lang-toggle{padding:9px 10px}.project-dialog-grid{display:block}.dialog-image{height:280px;min-height:280px}.dialog-image .project-visual{min-height:280px;height:280px}.dialog-content{padding:35px 28px}.project-dialog .dialog-close{right:6vw;top:6vh}.dialog-image .project-visual strong{font-size:60px}}
@media(max-width:600px){.hero h1{font-size:clamp(70px,13.5vw,96px)}.hero-line{max-width:100%}.hero-lead{font-size:20px}.site-nav{padding-right:7px}.lang-toggle{font-size:10px;padding:9px}.nav-contact{font-size:11px;padding:11px 12px}.projects{gap:43px}.project{margin-top:0!important}.project-visual{height:295px}.project-dialog{width:96vw;max-height:91vh}.dialog-content{padding:30px 23px}.dialog-image{height:240px;min-height:240px}.dialog-image .project-visual{min-height:240px;height:240px}.dialog-image .project-visual strong{font-size:52px}.contact-dialog{padding:25px 21px}.contact-dialog-heading h2{font-size:39px}#contact-form-fields .form-line{flex-direction:column}.form-footer{flex-direction:column;align-items:stretch}.form-submit{align-self:stretch}.form-footer p{max-width:none}.value-grid article:hover{padding-left:30px}}
@media(prefers-reduced-motion:reduce){.hero-line,.hero-lead,.hero-body,.hero-actions,.hero-grid,.about:before,.about:after,.work:before,.work:after,.expertise:before,.expertise:after,.journey:before,.journey:after,.contact-mesh,.contact:before,.skill-code .code-diamond,.skill-code b,.coderr-orbit,.video-play{animation:none!important}.project-visual,.project:hover .project-visual{transform:none!important}.hero-letters>span{will-change:auto}}
.project-dialog .dialog-close{position:absolute;right:14px;top:14px;float:none}
.copy-mail{align-self:flex-start;background:none;border:0;border-bottom:1px solid #a892db;color:#c4b0ff;font-size:10px;font-weight:800;letter-spacing:1px;padding:4px 0 5px;cursor:pointer;transition:color .2s,border-color .2s}
.copy-mail:hover{color:#fff;border-color:#fff}

/* motion-v4.css */
/* V4: deliberate, tactile motion. All new effects work without external dependencies. */
:root { --page-r:11; --page-g:10; --page-b:17; --v4-ambient-x:72%; --v4-ambient-y:42%; }
body { position:relative; isolation:isolate; background:#0b0a11; }
.scene-backdrop { position:fixed; inset:0; z-index:0; pointer-events:none; background:
  radial-gradient(ellipse 73vw 60vh at var(--v4-ambient-x) var(--v4-ambient-y),#8362cb20,transparent 70%),
  radial-gradient(ellipse 44vw 52vh at 9% 90%,#46326822,transparent 80%),
  rgb(var(--page-r),var(--page-g),var(--page-b)); }
main,.footer { position:relative; z-index:1; }
.hero,.about,.scroll-story,.work,.expertise,.journey,.contact { background:transparent!important; }
.story-sticky { background:#0b09121c!important; }
/* The hero should show its footer at 100% browser zoom on a standard desktop. */
.hero { min-height: min(810px, 100svh); padding-top:clamp(104px,12vh,127px); padding-bottom:20px; }
.hero-layout { min-height:clamp(485px,65vh,588px); }
.hero-content { padding-top:20px; }
.hero h1 { font-size:clamp(70px,8.3vw,133px); margin:21px 0 21px; }
.hero-lead { font-size:clamp(18px,2vw,25px); line-height:1.36; margin-bottom:11px; }
.hero-body { font-size:13px; line-height:1.75; }
.hero-actions { margin-top:23px; }
.hero-object { height:clamp(330px,43vh,415px); }
.orb-rig { width:min(100%,395px); }
.hero-footer { margin-top:5px; padding-top:17px; border-top:1px solid #ffffff25; }
.hero-line-one { animation:hero-enter .9s cubic-bezier(.15,.8,.18,1) both; }
.hero-line-two { animation:v4-hero-arrive 1.14s .12s cubic-bezier(.14,.82,.18,1) both; }
@keyframes v4-hero-arrive { 0% { opacity:0; transform:translate3d(-36px,38px,0) skewY(3deg); filter:blur(16px); letter-spacing:-.14em; } 60% { filter:blur(3px); } 100% { opacity:1; transform:none; filter:blur(0); letter-spacing:inherit; } }
.hero-name .hero-letters>span:hover { filter:drop-shadow(-9px 12px 12px #a38bff65); }
/* Project modal: a deliberate top-right close area, not cramped against the counter. */
.project-dialog .dialog-close { position:sticky; float:right; top:16px; right:16px; margin:16px 16px -60px 0; width:44px; height:44px; z-index:12; }
.project-dialog .dialog-content { padding-top:95px; }
.dialog-topline { padding-right:5px; }
.project-dialog .dialog-topline #dialog-counter { font-variant-numeric:tabular-nums; color:#dacbf3; }
.project-dialog .dialog-topline:after { content:'';position:absolute;right:28px;top:77px;width:42px;height:1px;background:#a890d15f; }
/* Modal cursor must live in the dialog top layer: it is moved there from JS. */
.project-dialog .custom-cursor,.contact-dialog .custom-cursor { z-index:2147483647; }
.custom-cursor { filter:drop-shadow(0 0 3px #aa93ff77); }
.cursor-core { width:11px; height:11px; }
.cursor-ring { box-shadow:0 0 20px color-mix(in srgb,var(--cursor-color) 27%,transparent); }
@media (pointer:fine) and (prefers-reduced-motion:no-preference) {
  html.has-custom-cursor .project-dialog,html.has-custom-cursor .project-dialog *,html.has-custom-cursor .contact-dialog,html.has-custom-cursor .contact-dialog * { cursor:none!important; }
  html.has-custom-cursor .contact-dialog input,html.has-custom-cursor .contact-dialog textarea { cursor:text!important; }
  .custom-cursor { mix-blend-mode:difference; }
  .project-dialog .custom-cursor,.contact-dialog .custom-cursor { mix-blend-mode:normal; }
}
/* Sharkie: actual stylized undersea artwork with swimming, refraction and bubbles. */
.project-visual.sharkie { background:radial-gradient(ellipse at 52% 0%,#2d98ad 2%,#0c6176 40%,#07192c 85%); }
.ocean-scene { position:absolute;inset:0;overflow:hidden;pointer-events:none; }
.ocean-caustics { position:absolute;inset:-50%;background:repeating-radial-gradient(ellipse at 46% -10%,transparent 0 25px,#bafcff14 26px 29px);animation:ocean-caustics-move 18s linear infinite;opacity:.9; }
.ocean-beam {position:absolute;left:25%;top:-20%;width:22%;height:130%;background:linear-gradient(180deg,#b7fbff32,transparent 85%);filter:blur(9px);clip-path:polygon(42% 0%,53% 0%,100% 100%,0% 100%);transform:rotate(-13deg);animation:ocean-beam-drift 11s ease-in-out infinite alternate;}
.beam-two{left:62%;opacity:.5;animation-delay:-6s;transform:rotate(18deg)}
.shark-illustration { position:absolute;left:8%;top:5%;width:91%;height:80%;filter:drop-shadow(0 22px 18px #061e35c8);animation:shark-swim 8s ease-in-out infinite; }
.project:hover .shark-illustration { animation-duration:5.5s; }
.ocean-bubble { position:absolute;bottom:-25%;width:11px;height:11px;border:1px solid #bceeffaa;border-radius:50%;box-shadow:inset 2px 2px 5px #fff6,0 0 11px #9ceaff50;animation:ocean-bubble-up var(--duration,6s) linear infinite;opacity:0; }
.ocean-b1{left:13%;--duration:6s;animation-delay:-1s}.ocean-b2{left:76%;width:7px;height:7px;--duration:8s;animation-delay:-5s}.ocean-b3{left:69%;width:16px;height:16px;--duration:5.5s;animation-delay:-3s}.ocean-b4{left:31%;--duration:7s;animation-delay:-6s}.ocean-b5{left:85%;width:5px;height:5px;--duration:9s;animation-delay:-4s}
.sea-floor{position:absolute;left:-6%;right:-6%;bottom:-29%;height:37%;border-radius:50%;background:radial-gradient(ellipse at center,#123f53,#0b273b);box-shadow:0 -8px 40px #062038b3}
.coral {position:absolute;bottom:-8px;height:61px;width:4px;background:#35adb8;border-radius:6px;box-shadow:0 0 13px #19aac066;transform-origin:bottom center;animation:seaweed-sway 5s ease-in-out infinite alternate}
.coral:before,.coral:after {content:'';position:absolute;background:inherit;width:4px;height:32px;border-radius:6px;bottom:18px;transform-origin:bottom;transform:rotate(-39deg)}
.coral:after{height:40px;transform:rotate(38deg)}.coral-a{left:13%}.coral-b{right:12%;height:85px;animation-delay:-2s;background:#45a6ab}
.seaweed{position:absolute;bottom:-8%;width:20px;height:110px;border-left:5px solid #219588;border-radius:65% 0 0 0;transform-origin:bottom;animation:seaweed-sway 5.7s ease-in-out infinite alternate}.weed-one{left:18%}.weed-two{right:25%;height:86px;animation-delay:-3s}
.tiny-fish {position:absolute;top:29%;right:12%;color:#bcecf0a3;font-size:12px;transform:scaleX(1.5);animation:fish-swim 11s linear infinite}.fish-b{top:37%;right:19%;font-size:7px;animation-delay:-2s}.fish-c{top:25%;right:27%;font-size:9px;animation-delay:-4s}
.ocean-caption {position:absolute;right:22px;bottom:23px;letter-spacing:2px;color:#b7edf5b3;font:600 8px/1.3 Arial,sans-serif}
.project-visual.sharkie>strong{font-size:clamp(47px,5vw,70px);align-self:end;margin-bottom:20%;text-shadow:0 8px 23px #031c2dcc}
@keyframes shark-swim {0%,100%{transform:translate3d(-12px,7px,0) rotate(-3deg)}48%{transform:translate3d(20px,-9px,0) rotate(2deg)}}
@keyframes ocean-bubble-up {0%{opacity:0;translate:0 0;scale:.65}12%{opacity:.7}85%{opacity:.55}100%{opacity:0;translate:35px -470px;scale:1.2}}
@keyframes ocean-caustics-move {to{transform:translate3d(13%,5%,0) rotate(10deg)}}
@keyframes ocean-beam-drift{to{translate:25px 0;opacity:.2}}
@keyframes seaweed-sway{to{transform:rotate(13deg)}}
@keyframes fish-swim {to{translate:-145px 32px}}
/* Join: realistic tiny transitions and completion toast. */
.project-visual.join { background:radial-gradient(ellipse at 38% 32%,#af8ee8,#51357a 64%,#2d1e4a); }
.join-float-card {position:absolute;left:5%;bottom:17%;z-index:2;display:flex;align-items:center;gap:8px;background:#fffef9;color:#3e3450;border-radius:8px;padding:11px 15px;font-size:11px;font-weight:800;box-shadow:0 12px 35px #24174479;animation:join-toast 7s ease-in-out infinite}
.join-float-card span:nth-child(2){display:flex;flex-direction:column}.join-float-card small{display:block;font-size:9px;font-weight:400;color:#8b8399;margin-top:2px}.join-check{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#caeddf;color:#279e6a}
.kanban-window { animation:join-board-float 9s ease-in-out infinite; }
.kanban-track {height:4px;width:100%;background:#e1dde9;border-radius:6px;overflow:hidden}
.kanban-track div {height:100%;background:#b9a5e6;border-radius:6px;width:33%;animation:join-progress 7s ease-in-out infinite alternate}.kanban-columns>div:nth-child(2) .kanban-track div{background:#8399d9;animation-delay:-2s}.kanban-columns>div:nth-child(3) .kanban-track div{background:#83d0b6;animation-delay:-4s}
@keyframes join-toast{0%,15%,82%,100%{opacity:0;transform:translate3d(-8px,19px,0) scale(.92);filter:blur(5px)}24%,73%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}}
@keyframes join-board-float {0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes join-progress {from{width:22%}to{width:95%}}
/* DA Bubble: staggered messages, presence and typing indicators in a loop. */
.project-visual.bubble { background:radial-gradient(ellipse at 60% 20%,#6789c8,#274c98 59%,#102453); }
.bubble-presence {position:absolute;left:24px;top:23px;display:flex;align-items:center;gap:9px;color:#fff;font-size:10px;font-weight:800;letter-spacing:1.2px;text-shadow:0 1px 8px #102453;z-index:2}
.bubble-presence i {display:block;height:9px;width:9px;border-radius:50%;background:#74f0c0;box-shadow:0 0 18px #78f3c5;animation:live-beacon 3s ease-in-out infinite}
.bubble-presence small{font-size:9px;letter-spacing:1px;color:#c3f7d7;margin-left:5px}
.bubble-thread {position:absolute;left:27px;bottom:28px;display:flex;align-items:center;z-index:2}
.avatar{width:29px;height:29px;border:2px solid #4c6ba4;background:#c2e5f2;color:#203c5c;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;margin-left:-6px;box-shadow:0 0 11px #0003}.avatar-two{background:#dfc8ff}.avatar-three{background:#b4f2da}
.bubble .chat-bubble {z-index:2;animation-duration:11s;animation-timing-function:cubic-bezier(.23,.8,.25,1);animation-iteration-count:infinite;backdrop-filter:blur(10px);box-shadow:0 14px 35px #0e246085}
.bubble .chat-one{left:15%;top:23%;background:#d7eaffde;color:#203c61;animation-name:chat-arrive-first}.bubble .chat-two{right:9%;top:41%;background:#b49affdc;color:#18122d;animation-name:chat-arrive-second}.bubble .chat-three{left:24%;bottom:17%;background:#d0ffefdd;color:#1b3a46;animation-name:chat-arrive-third}
.chat-typing{position:absolute;right:16%;bottom:28%;display:flex;align-items:center;gap:4px;background:#b39cf1b9;padding:10px 14px;border-radius:20px;z-index:2;animation:typing-window 11s linear infinite}
.chat-typing span{width:5px;height:5px;background:#fff;border-radius:50%;animation:typing-dot 1s ease-in-out infinite}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}
@keyframes chat-arrive-first{0%,5%{opacity:0;transform:translate3d(-28px,24px,0) rotate(-7deg);filter:blur(7px)}17%,88%{opacity:1;transform:translate3d(0,0,0) rotate(-4deg);filter:blur(0)}96%,100%{opacity:0;transform:translate3d(0,-15px,0);filter:blur(4px)}}
@keyframes chat-arrive-second{0%,29%{opacity:0;transform:translate3d(25px,25px,0) rotate(7deg);filter:blur(8px)}39%,87%{opacity:1;transform:translate3d(0,0,0) rotate(4deg);filter:blur(0)}96%,100%{opacity:0;filter:blur(4px)}}
@keyframes chat-arrive-third{0%,57%{opacity:0;transform:translate3d(-25px,25px,0) rotate(-6deg);filter:blur(8px)}69%,88%{opacity:1;transform:translate3d(0,0,0) rotate(-3deg);filter:blur(0)}96%,100%{opacity:0;filter:blur(4px)}}
@keyframes typing-window{0%,35%,61%,100%{opacity:0;scale:.88}40%,55%{opacity:1;scale:1}}
@keyframes typing-dot{0%,70%,100%{translate:0 0;opacity:.7}35%{translate:0 -4px;opacity:1}}
@keyframes live-beacon{50%{box-shadow:0 0 0 7px #74f0c01d,0 0 22px #78f3c5}}
/* Pokedex: a deliberately restrained radar sweep. */
.pokedex-scanner {position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none}
.poke-scanner-ring{position:absolute;width:245px;height:245px;top:calc(50% - 122px);left:calc(50% - 122px);border:1px dashed #ffe5c866;border-radius:50%;animation:poke-ring-spin 24s linear infinite}
.poke-scanner-ring.ring-b{scale:1.2;border-style:solid;border-color:#ffe5c82e;animation-duration:36s;animation-direction:reverse}
.poke-scanline{position:absolute;left:6%;width:88%;height:2px;top:0;background:linear-gradient(90deg,transparent,#fffbe9c5,transparent);box-shadow:0 0 28px 4px #fff1da55;animation:pokedex-scan 6s linear infinite}
.poke-id,.poke-status{position:absolute;font:700 9px Arial,sans-serif;letter-spacing:1.5px;color:#fff5e2c9;bottom:23px;right:21px}
.poke-id{top:25px;bottom:auto;left:25px;right:auto}.poke-status{display:flex;align-items:center;gap:7px}
.poke-status i{width:6px;height:6px;background:#afffc0;border-radius:50%;box-shadow:0 0 12px #afffc0}
.pokedex .pokeball{animation:pokeball-idle 7s ease-in-out infinite alternate}
@keyframes poke-ring-spin{to{transform:rotate(360deg)}}@keyframes pokedex-scan{to{top:110%}}@keyframes pokeball-idle{to{translate:0 -11px;rotate:7deg}}
/* Videoflix: cinematic soft projector and moving film strip. */
.film-dust{position:absolute;inset:0;opacity:.33;background-image:radial-gradient(#ffe6e6a5 .7px,transparent 1px);background-size:21px 21px;animation:film-dust-shift 8s linear infinite}
.film-beam{position:absolute;inset:-10%;background:conic-gradient(from 225deg at 70% 45%,transparent 0deg,#ffd1dd1b 35deg,transparent 80deg);animation:film-light-turn 11s ease-in-out infinite alternate;filter:blur(20px)}
.videoflix .video-browser{animation:cinema-screen 8s ease-in-out infinite}.videoflix .video-thumbnails span{animation:cinema-tiles 5s ease-in-out infinite alternate}.videoflix .video-thumbnails span:nth-child(2){animation-delay:-1.5s}.videoflix .video-thumbnails span:nth-child(3){animation-delay:-3s}
@keyframes film-dust-shift{to{background-position:45px 32px}}@keyframes film-light-turn{to{transform:rotate(45deg)}}@keyframes cinema-screen{50%{translate:0 -6px}}@keyframes cinema-tiles{to{filter:brightness(1.6);transform:scaleY(1.08)}}
/* About: a tactile wireframe sculpture that shares the same signature mark as the header. */
.about-sculpture {position:relative;height:315px;margin-top:25px;overflow:hidden;border:1px solid #b39aff38;border-radius:12px;background:radial-gradient(ellipse at 50% 44%,#7b5fb124,#1a142747 55%,transparent 75%),linear-gradient(150deg,#1b162380,#0d0a1580);isolation:isolate;perspective:850px;transition:border-color .5s,box-shadow .5s}
.about-sculpture:before {content:'';position:absolute;inset:-50%;opacity:.3;background-image:linear-gradient(#ae9bcd20 1px,transparent 1px),linear-gradient(90deg,#ae9bcd20 1px,transparent 1px);background-size:42px 42px;transform:rotate(-20deg);animation:sculpt-grid-drift 30s linear infinite}
.about-sculpture:hover{border-color:#ceb8ff85;box-shadow:0 22px 70px #8567b52c}
.sculpture-index{position:absolute;top:17px;left:19px;color:#b7a3d2;font:700 9px/1.3 Arial,sans-serif;letter-spacing:1.5px;z-index:5}.sculpture-number{left:auto;right:19px;color:#8779a6}
.sculpture-glow{position:absolute;width:240px;height:240px;left:calc(50% - 120px);top:calc(50% - 120px);border-radius:50%;background:radial-gradient(circle,#af98fa40,transparent 68%);filter:blur(26px);animation:sculpt-glow 5s ease-in-out infinite alternate}
.sculpture-frame{position:absolute;left:50%;top:48%;width:225px;height:225px;transform:translate(-50%,-50%) rotateY(var(--sculpt-x,0deg)) rotateX(var(--sculpt-y,0deg));transform-style:preserve-3d;transition:transform .45s cubic-bezier(.16,.75,.2,1)}
.sculpture-gyro{position:absolute;inset:6%;border:1.5px solid #b9a3f5a3;border-radius:50%;box-shadow:0 0 18px #bba1ff32;transform:rotate(40deg) scaleY(.42);animation:sculpt-gyro-a 19s linear infinite}.sculpture-gyro-b{transform:rotate(-52deg) scaleY(.67);animation:sculpt-gyro-b 26s linear infinite;border-color:#e6d1ff7c}
.sculpture-polyhedron{position:absolute;left:calc(50% - 48px);top:calc(50% - 48px);width:96px;height:96px;transform-style:preserve-3d;animation:sculpt-poly-spin 16s ease-in-out infinite alternate}
.poly-face{position:absolute;inset:0;background:linear-gradient(145deg,#c2afff52,#3f346571);border:1px solid #f0e4ff84;box-shadow:inset 0 0 22px #f9e5ff1f,0 0 25px #6b53ba26;backdrop-filter:blur(3px)}
.poly-front{transform:translateZ(48px)}.poly-back{transform:rotateY(180deg) translateZ(48px)}.poly-left{transform:rotateY(-90deg) translateZ(48px)}.poly-right{transform:rotateY(90deg) translateZ(48px)}.poly-top{transform:rotateX(90deg) translateZ(48px)}.poly-bottom{transform:rotateX(-90deg) translateZ(48px)}
.poly-mark{position:absolute;inset:0;transform:translateZ(51px);display:grid;place-items:center;color:#f9f5ff;font-size:29px;font-weight:900;letter-spacing:-3px;text-shadow:0 0 15px #fff6;backface-visibility:hidden}.poly-mark span{color:#b7a0ff}
.sculpture-node{position:absolute;width:7px;height:7px;border-radius:50%;background:#dccaff;box-shadow:0 0 17px #d1bbff;left:17%;top:14%}.node-b{left:auto;right:12%;top:68%}
.sculpture-foot{position:absolute;left:19px;right:19px;bottom:18px;display:flex;justify-content:space-between;font:700 9px Arial,sans-serif;color:#a99fc0;letter-spacing:1.5px}.sculpture-foot b{font-weight:500;color:#dfcbff;padding:0 8px}
@keyframes sculpt-grid-drift{to{transform:rotate(-20deg) translate(42px,34px)}}@keyframes sculpt-glow{to{scale:1.15;opacity:.55}}@keyframes sculpt-gyro-a{to{transform:rotate(400deg) scaleY(.42)}}@keyframes sculpt-gyro-b{to{transform:rotate(308deg) scaleY(.67)}}@keyframes sculpt-poly-spin{from{transform:rotateX(-25deg) rotateY(12deg) rotateZ(4deg)}to{transform:rotateX(50deg) rotateY(210deg) rotateZ(-10deg)}}
/* Contact: hand-drawn motion trails and subtle chromatic depth on typography. */
.contact-atmosphere {position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.contact-atmosphere svg{position:absolute;right:-20%;top:15%;height:85%;width:105%;opacity:.38;filter:drop-shadow(0 0 18px #b09bff5e)}
.contact-atmosphere path{fill:none;stroke:url(#contactTrailV4);stroke-width:1.2;stroke-dasharray:120 160 60 200;animation:contact-stroke 25s linear infinite}
.contact-atmosphere path:nth-child(2){animation-duration:30s;animation-direction:reverse;opacity:.6}.contact-atmosphere path:nth-child(3){animation-duration:36s;opacity:.5}
.contact-particle{position:absolute;display:block;width:4px;height:4px;border-radius:50%;background:#d8c4ff;box-shadow:0 0 20px 5px #b495ff6c;animation:contact-speck var(--dur,11s) linear infinite alternate}
.cp-one{left:15%;top:20%;--dur:14s}.cp-two{left:66%;top:14%;--dur:19s;animation-delay:-7s}.cp-three{left:86%;top:72%;--dur:11s;animation-delay:-4s}.cp-four{left:27%;top:85%;--dur:16s;animation-delay:-6s}.cp-five{left:48%;top:34%;--dur:22s;animation-delay:-10s}
.contact-ambient-label{position:absolute;top:29%;right:6%;max-width:140px;font:700 9px/1.6 Arial,sans-serif;letter-spacing:2px;color:#b0a1d1a6;transform:rotate(90deg) translate(45px,-45px);transform-origin:right top}
.contact-overline{position:relative;transition:letter-spacing .45s,color .45s,text-shadow .45s}.contact-overline:hover{letter-spacing:2.7px;color:#f1e7ff;text-shadow:0 0 22px #b69aff99}
.contact h2 { position:relative;max-width:1000px; }
.contact h2 em { display:inline-block;position:relative;transition:translate .5s cubic-bezier(.2,.8,.2,1),text-shadow .45s,filter .45s; }
.contact h2 em:hover { translate:12px -8px; text-shadow:-10px 14px 35px #b4a3ff95;filter:drop-shadow(0 0 15px #b4a3ff70) }
.contact h2 .contact-line {display:block;transition:translate .5s cubic-bezier(.16,.82,.2,1);}
.contact h2 .contact-line:hover {translate:12px 0}
.js-ready .contact h2.reveal:not(.visible) { filter:blur(16px); }
.js-ready .contact h2.reveal.visible { filter:blur(0);transition:transform .85s cubic-bezier(.18,.75,.25,1),opacity .85s,filter 1.05s; }
.contact .mail-button {box-shadow:0 0 0 1px #d1baff22,0 0 0 8px #bb96ff0c;animation:contact-button-breathe 5s ease-in-out infinite}
.contact .mail-button:hover{box-shadow:0 16px 60px #ad88ff64,0 0 0 9px #bb96ff22}
@keyframes contact-stroke {to{stroke-dashoffset:-540}}
@keyframes contact-speck {0%{transform:translate3d(-40px,40px,0) scale(.65);opacity:.15}45%{opacity:1}100%{transform:translate3d(90px,-80px,0) scale(1.25);opacity:.2}}
@keyframes contact-button-breathe{50%{box-shadow:0 0 0 1px #d1baff44,0 0 0 13px #bb96ff12}}
/* Mobile: avoid leaving sections too tall or sacrificing content for visuals. */
@media(max-width:900px){.hero{min-height:auto}.hero-layout{min-height:675px}.hero-content{padding-top:22px}.hero h1{font-size:clamp(67px,10vw,110px)}.about-sculpture{height:270px}.about-layout{gap:6%}.project-dialog .dialog-content{padding-top:75px}}
@media(max-width:780px){.hero-layout{min-height:710px}.hero-object{height:330px}.hero-footer{margin-top:5px}.about-sculpture{height:270px}.project-dialog .dialog-close{top:12px;right:12px;margin:12px 12px -54px 0}.project-dialog .dialog-content{padding-top:40px}.project-dialog .dialog-topline:after{display:none}}
@media(max-width:600px){.hero{padding-top:117px;min-height:auto;padding-bottom:26px}.hero-layout{min-height:735px}.hero-content{padding-top:25px}.hero h1{font-size:clamp(65px,13.7vw,94px)}.hero-lead{font-size:19px}.hero-object{height:277px;margin-top:17px}.orb-rig{max-width:230px}.hero-footer{font-size:8px}.about-sculpture{height:245px;margin-top:14px}.sculpture-frame{scale:.84}.project-visual.sharkie>strong{margin-bottom:23%;font-size:56px}.project-visual.sharkie .ocean-caption{display:none}.bubble-presence{font-size:9px}.bubble .chat-bubble{font-size:10px;padding:10px 13px}.chat-typing{bottom:30%;right:8%}.join-float-card{font-size:9px;left:3%;bottom:15%;padding:8px 10px}.pokedex-scanner .poke-id{font-size:8px}.contact-ambient-label{display:none}.contact h2{font-size:clamp(70px,12.5vw,110px)}.contact-atmosphere svg{right:-70%;width:165%}.project-dialog .dialog-content{padding-top:34px}.project-dialog .dialog-close{width:42px;height:42px}.dialog-topline #dialog-counter{margin-right:10px}}
@media(prefers-reduced-motion:reduce){.hero-line-two,.ocean-caustics,.ocean-beam,.shark-illustration,.ocean-bubble,.coral,.seaweed,.tiny-fish,.join-float-card,.kanban-window,.kanban-track div,.bubble-presence i,.bubble .chat-bubble,.chat-typing,.chat-typing span,.poke-scanner-ring,.poke-scanline,.pokedex .pokeball,.film-dust,.film-beam,.videoflix .video-browser,.videoflix .video-thumbnails span,.about-sculpture:before,.sculpture-glow,.sculpture-gyro,.sculpture-polyhedron,.contact-atmosphere path,.contact-particle,.contact .mail-button{animation:none!important}.join-float-card,.bubble .chat-bubble,.chat-typing{opacity:1;filter:none;transform:none}.pokedex .pokeball{translate:0 0}.hero-line-two{opacity:1;filter:none;transform:none}.contact h2.reveal{filter:none!important}}

/* motion-v5.css */
/* V5 / restrained sci-fi details, composited animation and accessible interactions */
:root{--v5-purple:#b7a0ff;--v5-ease:cubic-bezier(.2,.8,.18,1);--v5-ease-out:cubic-bezier(.16,1,.3,1)}
html{scroll-behavior:smooth}
/* Hero: genuine viewport-aware composition instead of a compressed fixed-height composition */
.hero{min-height:100svh;display:flex;flex-direction:column;padding-top:clamp(111px,13vh,148px);padding-bottom:clamp(20px,3.5vh,38px)}
.hero-meta,.hero-footer{flex-shrink:0}
.hero-layout{flex:1;min-height:0;align-items:center;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:25px}
.hero-content{padding:22px 0 0;max-width:620px}
.hero h1{font-size:clamp(70px,min(8.7vw,15vh),144px);margin:clamp(17px,2.8vh,28px) 0 clamp(19px,2.7vh,26px)}
.hero-lead{font-size:clamp(19px,min(2.05vw,3.2vh),27px);line-height:1.4;max-width:500px;margin-bottom:12px}
.hero-body{font-size:13px;line-height:1.7;max-width:420px}
.hero-actions{margin-top:clamp(20px,3vh,33px)}
.hero-object{height:clamp(270px,52vh,470px);transform:translateY(0)}
.hero-footer{margin-top:16px;padding-top:clamp(17px,2.5vh,26px)}
.hero-aura{animation:v5-hero-light 19s ease-in-out infinite alternate}
@keyframes v5-hero-light{to{transform:translate3d(-7%,9%,0);opacity:.55}}
/* A subtle engineering atmosphere shared across non-hero sections */
.about,.scroll-story,.work,.expertise,.journey{position:relative;isolation:isolate}
.v5-tech-atmosphere{position:absolute;z-index:0;pointer-events:none;inset:0;overflow:hidden;opacity:.75;contain:paint}
.v5-tech-grid{position:absolute;inset:0;background-image:linear-gradient(#baa6ff0a 1px,transparent 1px),linear-gradient(90deg,#baa6ff0a 1px,transparent 1px);background-size:75px 75px;mask-image:radial-gradient(ellipse at 80% 38%,#000,transparent 69%);transform:translate3d(0,var(--tech-shift,0px),0)}
.v5-tech-aura{position:absolute;width:620px;aspect-ratio:1;top:15%;right:-170px;background:radial-gradient(circle,#735bc631,transparent 68%);filter:blur(28px);animation:v5-aura 16s ease-in-out infinite alternate;opacity:.6}
.v5-tech-map{position:absolute;width:min(80%,850px);height:850px;right:-10%;top:10%;opacity:.55;transform:translate3d(0,var(--tech-shift,0px),0)}
.v5-tech-wire{stroke:#bbaaff65;stroke-width:1.3;stroke-dasharray:10 16;animation:v5-data-stream 19s linear infinite}
.v5-wire-alt{stroke:#7bc8d954;animation-duration:27s;animation-direction:reverse}.v5-wire-third{stroke:#ad97de62;animation-duration:23s}
.v5-map-dot{fill:#cab3fb;filter:drop-shadow(0 0 8px #af95ee);animation:v5-node 5s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
.v5-map-dot:nth-of-type(even){animation-delay:-3s}
.v5-coordinates{position:absolute;right:5%;bottom:13%;font:600 9px/1.5 Consolas,monospace;letter-spacing:2px;color:#ab99cf61}
.scroll-story .v5-tech-map{top:0;right:-19%;opacity:.42}.work .v5-tech-map{right:auto;left:-18%;transform:scaleX(-1) translateY(var(--tech-shift,0px));opacity:.38}.work .v5-tech-aura{top:30%;right:60%;background:radial-gradient(circle,#317f9d27,transparent 67%)}.expertise .v5-tech-map{right:-15%;top:24%}.journey .v5-tech-map{right:1%;top:34%}
.about>.wrap,.work>.wrap,.expertise>.wrap,.journey>.wrap{position:relative;z-index:1}
.story-sticky>.v5-tech-atmosphere{z-index:0}.story-sticky>.story-head,.story-sticky>.story-copy,.story-sticky>.story-scene,.story-sticky>.story-foot{z-index:2}
@keyframes v5-data-stream{to{stroke-dashoffset:-520}}@keyframes v5-node{50%{opacity:.4;transform:scale(.65)}100%{opacity:1;transform:scale(1.3)}}@keyframes v5-aura{to{transform:translate3d(-80px,65px,0);opacity:.9}}
/* Replacement for misaligned cube: narrative circuit, a precise business/tech object */
.about-lab{position:relative;margin-top:26px;width:100%;height:290px;border-radius:16px;overflow:hidden;border:1px solid #b4a0ef34;background:linear-gradient(140deg,#25203b97,#15122496 60%,#0b0d1b);isolation:isolate;perspective:1000px;--lab-x:0deg;--lab-y:0deg;transition:border-color .65s var(--v5-ease),box-shadow .7s var(--v5-ease)}
.about-lab:hover{border-color:#d9c8ff8c;box-shadow:0 18px 75px #a88bfc21,inset 0 0 55px #8d6ae616}
.lab-grid{position:absolute;inset:-30%;opacity:.55;background-image:linear-gradient(#b0a1f10d 1px,transparent 1px),linear-gradient(90deg,#b0a1f10d 1px,transparent 1px);background-size:34px 34px;transform:perspective(500px) rotateX(14deg) rotateZ(-12deg);animation:v5-grid-float 22s linear infinite}
.lab-aura{position:absolute;inset:12%;background:radial-gradient(ellipse at center,#9f88eb45,transparent 65%);filter:blur(40px)}
.lab-topline,.lab-bottomline{position:absolute;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:8px;font:700 9px/1.5 Consolas,monospace;letter-spacing:1.2px;color:#b1a4d1;z-index:5}
.lab-topline{top:16px}.lab-bottomline{bottom:15px;color:#c2b8dd}.lab-bottomline .lab-connect{margin:auto;color:#bcb1ff;font-size:20px}
.lab-topline span:first-child{display:flex;align-items:center;gap:10px}.lab-light{width:6px;height:6px;border-radius:50%;background:#a9f3d9;box-shadow:0 0 10px #a9f3d9;animation:v5-node 3s ease-in-out infinite alternate}
.lab-scene{position:absolute;inset:16px 0 0;display:grid;place-items:center;transform-style:preserve-3d;transform:rotateX(var(--lab-y)) rotateY(var(--lab-x));transition:transform .28s var(--v5-ease)}
.lab-layer{position:absolute;width:260px;height:156px;border:1px solid #c6afff57;border-radius:14px;transform:rotate(-12deg) skewY(-3deg);box-shadow:0 0 20px #9b7cc52a}
.lab-layer-back{translate:16px -14px;opacity:.3}.lab-layer-mid{translate:-5px 3px;opacity:.55;transform:rotate(8deg) skewY(2deg)}
.lab-circuit{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:.75}
.lab-trace{stroke:#b2a0fa;stroke-width:1;stroke-dasharray:7 13;animation:v5-data-stream 9s linear infinite}.lab-trace-2{stroke:#94aade;animation-direction:reverse}.lab-trace-3{stroke:#f2c8fa55}
.lab-dot{fill:#e7d9ff;filter:drop-shadow(0 0 7px #ab92f9);animation:v5-node 4s ease-in-out infinite alternate}.lab-dot-2,.lab-dot-4{animation-delay:-2s}
.lab-chip{position:relative;width:156px;height:122px;transform:translateZ(42px) rotate(-7deg);transform-style:preserve-3d;animation:v5-chip-float 7s ease-in-out infinite alternate}
.lab-chip-face{position:absolute;inset:0;padding:12px 12px 10px;border-radius:10px;border:1px solid #dfcaff8a;background:linear-gradient(130deg,#6d569acf,#372b56dd 63%,#15172bec);box-shadow:0 25px 45px #0b081bba,inset 0 0 22px #d8c4ff34;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.lab-chip-overline{font:700 8px Consolas,monospace;color:#cab7ee;letter-spacing:1px}.lab-chip-face strong{font-size:46px;font-weight:850;letter-spacing:-5px;line-height:1;color:#fbf8ff}.lab-chip-face strong span{color:var(--violet)}.lab-chip-face small{font:700 8px Consolas,monospace;letter-spacing:.4px;color:#d2c1eb}
.lab-chip-thickness{position:absolute;inset:9px -6px -9px 8px;border-radius:10px;background:#35234f;transform:translateZ(-12px);z-index:-1;filter:blur(1px)}
.lab-callout{position:absolute;top:31%;left:10%;padding:8px 10px;border:1px solid #bdaaf153;border-radius:4px;background:#100f21bd;font:700 8px Consolas,monospace;letter-spacing:1px;color:#cec1ec;animation:v5-brief-float 5.5s ease-in-out infinite alternate}
.lab-callout-b{left:auto;right:9%;top:64%;animation-delay:-2s}
@keyframes v5-chip-float{to{transform:translateZ(42px) translateY(-13px) rotate(0deg)}}@keyframes v5-brief-float{to{translate:0 -7px;opacity:.7}}@keyframes v5-grid-float{to{translate:28px 24px}}
/* Value icons, intentional gestures */
.value-grid article{padding-top:28px;min-height:208px}
.value-grid article>span:first-child{display:inline-block;min-width:28px}
.value-icon{display:block;position:relative;width:60px;height:60px;margin:0 0 5px 0;padding:10px;border:1px solid #b5a0f94a;border-radius:16px;background:#ab90fa0e;color:#cbb7ff;transition:transform .75s var(--v5-ease),box-shadow .65s var(--v5-ease),border-color .65s}
.value-icon svg{width:100%;height:100%;stroke-dasharray:180;stroke-dashoffset:0;filter:drop-shadow(0 0 8px #a38aff25)}
.value-grid article:hover .value-icon{transform:rotate(-11deg) translateY(-7px) scale(1.06);border-color:#c6b5ffad;box-shadow:0 12px 36px #b6a1ff36}
.value-grid article:hover .value-icon svg{animation:v5-icon-draw 1.4s var(--v5-ease) both}
.value-grid h3{margin-top:12px}
@keyframes v5-icon-draw{from{stroke-dashoffset:180;opacity:.4}to{stroke-dashoffset:0;opacity:1}}
/* Kinetic headlines: soft stagger on enter, hover with a ghost of optical motion */
.kinetic h2 .motion-word,.kinetic-head .motion-word{display:inline-block;position:relative;transform-origin:50% 70%;will-change:transform;transition:transform .7s var(--v5-ease-out),text-shadow .7s ease,color .5s,filter .55s ease}
.kinetic h2 .motion-word:hover,.kinetic-head .motion-word:hover{transform:translate3d(0,-9px,0) skewX(-4deg);text-shadow:-6px 13px 22px #bda4ff6c;filter:drop-shadow(-2px 4px 4px #bba7ff52)}
.kinetic-head:not(.motion-entered) .motion-word{opacity:0;transform:translate3d(0,28px,0) rotate(4deg);filter:blur(8px)}
.kinetic-head.motion-entered .motion-word{animation:v5-word-entrance .95s var(--v5-ease-out) backwards;animation-delay:var(--w-delay,0ms)}
.story-slide.active .motion-word{animation:v5-word-entrance .85s var(--v5-ease-out) both;animation-delay:var(--w-delay,0ms)}
@keyframes v5-word-entrance{0%{opacity:0;transform:translate3d(-12px,30px,0) skewX(5deg);filter:blur(12px)}55%{opacity:1;filter:blur(2px)}100%{opacity:1;transform:none;filter:blur(0)}}
/* Horizontal interactive chronological arc */
.career-arc{position:relative;margin:0 0 85px;min-width:0;padding:24px 0 20px;border:1px solid #cab5ff36;background:linear-gradient(125deg,#221b333e,#12111b5c);border-radius:16px;overflow:hidden;--arc-progress:0}
.career-arc:before{content:'';position:absolute;inset:-70%;background:radial-gradient(circle at 30% 60%,#7b5ba226,transparent 40%);pointer-events:none;animation:v5-aura 20s ease-in-out infinite alternate}
.career-arc-top,.career-arc-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 27px;color:#b6a8ca;font:700 10px Consolas,monospace;letter-spacing:1.1px}
.career-arc-top span:nth-child(2){color:#e0d2ff}.career-arc-foot{padding-top:24px;font-size:9px;color:#9d8eb7}
.career-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#8b72b9 transparent}
.career-line{position:relative;min-width:910px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:6px;padding:66px 25px 30px}
.career-rail,.career-fill{position:absolute;left:9%;right:9%;height:2px;top:94px;background:#73648663}
.career-fill{right:auto;width:calc(82% * var(--arc-progress));background:linear-gradient(90deg,#a897fb,#d5c5ff,#9ccddd);box-shadow:0 0 24px #a993ff9a;transition:width .12s linear}
.career-event{position:relative;min-width:0;opacity:.5;transform:translate3d(0,14px,0);transition:opacity .65s,transform .8s var(--v5-ease)}
.career-event.passed{opacity:1;transform:none}
.career-node{width:57px;height:57px;display:grid;place-items:center;border:1px solid #ad96dd7d;border-radius:50%;background:#191528;position:relative;z-index:2;box-shadow:inset 0 0 24px #a08cd417;transition:transform .55s var(--v5-ease),box-shadow .55s,border-color .55s}
.career-node:after{content:'';position:absolute;inset:12px;border:1px dashed #bbaaff7a;border-radius:50%;animation:v5-career-ring 15s linear infinite}
.career-node span{font:700 11px Consolas,monospace;color:#ded4f9;z-index:1}
.career-event:hover .career-node,.career-event.passed .career-node{border-color:#d1bfff;box-shadow:0 0 25px #a28cf86d,inset 0 0 24px #a08cd44e}
.career-event:hover .career-node{transform:scale(1.14)}
.career-event time{display:block;margin-top:30px;font:700 10px Consolas,monospace;letter-spacing:1px;color:#b8a4eb}
.career-event h3{font-size:clamp(17px,1.9vw,23px);line-height:1.25;letter-spacing:-.8px;font-weight:750;margin:11px 0 8px}
.career-event p{font-size:11px;color:#9f97ae;line-height:1.6;max-width:205px}
@keyframes v5-career-ring{to{transform:rotate(360deg)}}
/* Softer card movements; long settles, no jarring snap */
.skill-card{transition:translate .9s var(--v5-ease-out),transform .9s var(--v5-ease-out),box-shadow .9s var(--v5-ease-out),border-color .75s ease,background-color .75s ease!important}
.skill-card:hover{translate:0 -7px;box-shadow:0 25px 80px #76569e3a,0 0 55px #ae94f012!important}
.skill-card .skill-visual{transition:transform 1.05s var(--v5-ease-out),filter .8s ease;transform:translateZ(0)}
.skill-card:hover .skill-visual{transform:translate3d(0,-7px,0) scale(1.035);filter:drop-shadow(0 8px 18px #ae9aff27)}
.skill-card h3{transition:transform .85s var(--v5-ease-out),text-shadow .75s,color .75s}
.skill-card:hover h3{transform:translate3d(4px,-3px,0);text-shadow:-6px 12px 26px #b2a2ed49}
/* Thumbnail typography: color-matched shimmering ink and a faint motion ghost */
.project-visual{--title-glow:#b9a4f4}
.project-visual.sharkie{--title-glow:#80f1ff}.project-visual.join{--title-glow:#e2b7ff}.project-visual.bubble{--title-glow:#9dccff}
.project-visual.pokedex{--title-glow:#ffc5ae}.project-visual.coderr{--title-glow:#a3fff0}.project-visual.videoflix{--title-glow:#ff94c7}
.project-visual>strong{position:relative;isolation:isolate;background:linear-gradient(110deg,#ffffff 10%,var(--title-glow) 28%,#fff 42%,var(--title-glow) 66%,#fff 85%);background-size:280% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:v5-title-shimmer 9s ease-in-out infinite;text-shadow:none;filter:drop-shadow(0 10px 16px #0009);transition:transform .85s var(--v5-ease-out),filter .75s ease!important;pointer-events:none}
.project-visual>strong span{-webkit-text-fill-color:var(--title-glow);filter:drop-shadow(0 0 15px var(--title-glow))}
.project-visual>strong:after{content:attr(data-title);position:absolute;left:0;top:0;white-space:nowrap;-webkit-text-fill-color:var(--title-glow);opacity:0;filter:blur(10px);transform:translate3d(-13px,8px,0);transition:opacity .8s,transform .8s}
.project:hover .project-visual>strong{transform:translate3d(0,-7px,0) scale(1.055);filter:drop-shadow(0 10px 19px #000a) drop-shadow(0 0 15px var(--title-glow))}
.project:hover .project-visual>strong:after{opacity:.23;transform:translate3d(-6px,4px,0)}
@keyframes v5-title-shimmer{0%,18%{background-position:100% 50%}65%,100%{background-position:0 50%}}
/* Pokeball: two revolutions, strong start, easing into stillness */
.pokedex .pokeball{transform-origin:center;animation:v5-poke-rolling 3.8s cubic-bezier(.13,.77,.2,1) both!important}
.project:hover .pokeball{animation:v5-poke-rolling-hover 3.8s cubic-bezier(.13,.77,.2,1) both!important}
@keyframes v5-poke-rolling{0%{transform:rotate(-19deg) scale(.89);opacity:0;filter:blur(10px)}20%{opacity:.76;filter:blur(2px)}60%{transform:rotate(595deg) scale(1.03);filter:blur(1px)}100%{transform:rotate(701deg) scale(1);opacity:.76;filter:none}}
@keyframes v5-poke-rolling-hover{0%{transform:rotate(-19deg) scale(.89);opacity:.35;filter:blur(8px)}20%{opacity:.8;filter:blur(2px)}60%{transform:rotate(595deg) scale(1.03);filter:blur(1px)}100%{transform:rotate(701deg) scale(1);opacity:.78;filter:none}}
/* live coding line appears while the API dashboard is open */
.coderr .terminal-content{position:relative;padding:13px 14px;gap:8px}
.coderr .terminal-content>.terminal-line,.coderr .terminal-content>.terminal-quiet{opacity:.4;height:3px}
.terminal-live{font:600 10px/1.6 Consolas,'Courier New',monospace;color:#c6f5ec;margin:0;position:relative;min-height:64px;white-space:pre-wrap;word-break:break-word;text-shadow:0 0 12px #7dfae33d}
.terminal-caret{display:inline-block;width:5px;height:12px;background:#8bffe2;vertical-align:middle;animation:v5-caret-blink 1s steps(1) infinite;box-shadow:0 0 10px #8bffe2}
@keyframes v5-caret-blink{50%{opacity:0}}
/* little pointer flows toward the Videoflix play button and clicks */
.videoflix .video-browser{position:relative}
.demo-pointer{position:absolute;z-index:6;width:28px;height:28px;left:55%;top:25%;filter:drop-shadow(0 3px 4px #0008);pointer-events:none;animation:v5-demo-mouse 8s var(--v5-ease) infinite}
.demo-click-halo{position:absolute;left:50%;top:34%;z-index:5;width:42px;height:42px;border:2px solid #ffe6f0;border-radius:50%;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.35);animation:v5-video-click 8s ease-in-out infinite}
.video-playing{position:absolute;top:39px;right:13px;font:700 7px/1 Arial,sans-serif;color:#e9dde5;letter-spacing:1px;display:flex;align-items:center;gap:3px;opacity:0;animation:v5-playing 8s ease-in-out infinite}
.video-playing span{width:2px;height:10px;background:#ec9bb0;display:inline-block;transform-origin:bottom;animation:v5-vu 1s ease-in-out infinite alternate}.video-playing span:nth-child(2){animation-delay:.3s}.video-playing span:nth-child(3){animation-delay:.6s}
@keyframes v5-demo-mouse{0%,13%{transform:translate3d(90px,65px,0) rotate(-8deg);opacity:0}25%{opacity:1}42%,53%{transform:translate3d(-11px,52px,0) rotate(0deg);opacity:1}56%,60%{transform:translate3d(-11px,52px,0) scale(.75);opacity:1}72%,100%{transform:translate3d(5px,100px,0);opacity:0}}
@keyframes v5-video-click{0%,52%{opacity:0;transform:translate(-50%,-50%) scale(.25)}56%{opacity:1}73%,100%{opacity:0;transform:translate(-50%,-50%) scale(2.5)}}
@keyframes v5-playing{0%,54%,95%,100%{opacity:0}62%,88%{opacity:1}}
@keyframes v5-vu{to{transform:scaleY(.25)}}
/* Popup atmospheric depth not a flat border */
.project-dialog{box-shadow:0 60px 160px #020105f2,0 0 0 1px #c2a8ff4d,0 0 95px #9a73ed3d!important}
.project-dialog::backdrop{background:#05040ae0;backdrop-filter:blur(13px) saturate(.8)}
/* Contact interactive light-space */
.contact-floaters{position:absolute;inset:0;pointer-events:none;z-index:1}
.contact-note{position:absolute;padding:11px 15px;border:1px solid #c6b4fd35;border-radius:6px;background:#1d1630a8;backdrop-filter:blur(14px);font:700 9px Consolas,monospace;letter-spacing:1.5px;color:#c8b6f4;box-shadow:0 0 25px #9d7de027;animation:v5-note-float 8s ease-in-out infinite alternate}
.note-a{right:14%;top:28%}.note-b{right:10%;bottom:24%;animation-delay:-3s}.note-c{left:10%;bottom:12%;animation-delay:-5s}
.note-signal{width:6px;height:6px;border-radius:50%;display:inline-block;background:#bdffde;margin-right:7px;box-shadow:0 0 10px #bdffde}.note-blink{animation:v5-caret-blink 1s steps(1) infinite}.note-c span{font-size:15px;margin-right:5px}
@keyframes v5-note-float{to{transform:translate3d(16px,-24px,0);opacity:.5}}
.contact .mail-button{position:relative;overflow:hidden;isolation:isolate;transition:transform .75s var(--v5-ease-out),box-shadow .75s,background .6s!important}
.contact .mail-button:before{content:'';position:absolute;z-index:-1;inset:-80%;background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%),#e9e1ff,#bea7fb 25%,transparent 60%);opacity:0;transform:scale(.6);transition:transform .9s var(--v5-ease-out),opacity .8s}
.contact .mail-button:hover:before{opacity:1;transform:scale(1)}
.contact .mail-button:hover{transform:translate3d(0,-7px,0) scale(1.025);box-shadow:0 20px 70px #b595ff67,0 0 0 1px #fff7!important}
.contact .mail-button b{transition:transform .8s var(--v5-ease-out),background .6s!important}
.contact .mail-button:hover b{transform:rotate(45deg) scale(1.12)!important;background:#1a1030}
.contact h2{isolation:isolate}.contact h2:after{content:'';position:absolute;z-index:-1;width:60%;height:18%;left:3%;top:60%;background:linear-gradient(90deg,transparent,#a48cee5c,transparent);filter:blur(43px);opacity:.55;animation:v5-contact-glimmer 9s ease-in-out infinite alternate}
@keyframes v5-contact-glimmer{to{transform:translate(55px,-20px);opacity:.95}}
/* top-level cursor changes completely: immediate response, GPU composited, only glow is soft */
.custom-cursor{will-change:transform;contain:layout style;filter:none!important;transition:opacity .15s ease}
.cursor-core{width:8px!important;height:8px!important;box-shadow:0 0 14px var(--cursor-color)!important;transition:background-color .15s ease,box-shadow .15s ease,scale .18s ease!important}
.cursor-ring{width:27px!important;height:27px!important;opacity:.65!important;box-shadow:0 0 15px color-mix(in srgb,var(--cursor-color) 24%,transparent)!important;transition:width .25s var(--v5-ease),height .25s var(--v5-ease),border-color .15s ease,background-color .2s ease!important}
html.cursor-hover .cursor-ring{width:43px!important;height:43px!important;opacity:.75!important}
html.cursor-click .cursor-core{scale:.7}
/* At a glance the site must feel complete at normal viewport sizes */
@media(min-width:781px) and (max-height:780px){.hero{padding-top:100px;padding-bottom:20px}.hero-layout{min-height:0}.hero h1{font-size:clamp(66px,8vw,112px);margin:15px 0}.hero-lead{font-size:20px;line-height:1.3}.hero-body{line-height:1.5}.hero-actions{margin-top:18px}.hero-object{height:min(45vh,335px)}.hero-footer{padding-top:15px}}
@media(max-width:900px){.hero{min-height:auto;padding-top:120px;padding-bottom:26px}.hero-layout{min-height:570px}.hero-content{padding-top:12px}.hero-object{height:330px}.about-lab{height:260px}.value-grid article{padding-left:24px;padding-right:20px}.v5-tech-map{right:-27%}}
@media(max-width:780px){.hero-layout{display:grid;grid-template-columns:1fr;min-height:auto;gap:0}.hero-content{padding-top:55px}.hero h1{font-size:clamp(70px,12vw,120px)}.hero-object{height:330px;margin-top:28px}.hero-footer{margin-top:35px}.career-arc{margin-bottom:55px}.v5-tech-map{width:100%;right:-36%;opacity:.3}.lab-callout{font-size:7px}.note-a{right:8%;top:24%}.note-b{bottom:20%;right:6%}}
@media(max-width:600px){.hero{padding-top:111px;min-height:auto}.hero-content{padding-top:47px}.hero h1{font-size:clamp(66px,13.5vw,90px);margin:20px 0}.hero-lead{font-size:19px}.hero-body{font-size:12px}.hero-actions{margin-top:25px}.hero-object{height:270px;margin-top:25px}.hero-footer{margin-top:28px}.about-lab{height:240px}.lab-chip{scale:.78}.lab-callout{display:none}.lab-bottomline{font-size:7px}.career-line{min-width:860px}.career-arc-top,.career-arc-foot{padding-left:18px;padding-right:18px}.career-arc-swipe{color:#e2cdfa}.v5-tech-map{right:-62%;opacity:.24}.v5-coordinates{font-size:7px}.value-grid article{min-height:170px}.contact-note{font-size:7px;padding:9px}.note-a{top:22%;right:3%}.note-b{display:none}.note-c{left:3%;bottom:12%}.demo-pointer{width:19px;height:19px}.career-event h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.v5-tech-grid,.v5-tech-aura,.v5-tech-wire,.v5-map-dot,.lab-grid,.lab-chip,.lab-callout,.lab-trace,.lab-dot,.career-node:after,.project-visual>strong,.pokedex .pokeball,.terminal-caret,.demo-pointer,.demo-click-halo,.video-playing,.video-playing span,.contact-note,.contact h2:after,.hero-aura{animation:none!important}.career-event{opacity:1;transform:none}.pokedex .pokeball{opacity:.76;transform:rotate(-19deg)!important}.kinetic-head .motion-word,.story-slide .motion-word{animation:none!important;opacity:1!important;filter:none!important;transform:none!important}.demo-pointer{opacity:0}.terminal-live{opacity:1}.about-lab .lab-chip{transform:none}}
.pokedex .pokeball{animation:none!important;transform:rotate(-19deg);opacity:.76}
.project.is-visible .pokedex .pokeball{animation:v5-poke-rolling 3.8s cubic-bezier(.13,.77,.2,1) both!important}
.project:hover .pokedex .pokeball{animation:v5-poke-rolling-hover 3.8s cubic-bezier(.13,.77,.2,1) both!important}
@media(prefers-reduced-motion:reduce){.project.is-visible .pokedex .pokeball,.project:hover .pokedex .pokeball{animation:none!important;transform:rotate(-19deg)!important}}

/* motion-v6.css */
/* ENES.OS / V6 | Tailored engineering aesthetics, without runtime dependencies */
:root{--v6-lavender:#bca7ff;--v6-ice:#9ce9e2;--v6-ink:#0b0b12;--v6-motion:cubic-bezier(.16,1,.3,1)}
/* Custom scrollbar remains an actual, accessible browser scrollbar. */
html{scrollbar-width:thin;scrollbar-color:#a18be4 #151320;scroll-behavior:smooth}
html::-webkit-scrollbar{width:12px;background:#100e18}
html::-webkit-scrollbar-track{background:linear-gradient(180deg,#100e18,#1b1529 40%,#0c111d 80%,#100d19);box-shadow:inset 1px 0 #a48de91f}
html::-webkit-scrollbar-thumb{border:3px solid transparent;background:linear-gradient(180deg,#ddcfff,#a88df7 45%,#84c0da);background-clip:padding-box;border-radius:20px;box-shadow:0 0 15px #a88aff50}
html::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffffff,#d1baff 55%,#b5e9e3);background-clip:padding-box}
.career-scroll{scrollbar-width:thin;scrollbar-color:#ac95e6 #181523}
.career-scroll::-webkit-scrollbar{height:7px}.career-scroll::-webkit-scrollbar-thumb{background:#937bcc;border-radius:10px}
/* Vertical chapter navigator | coordinates replace generic floating arrows */
.v6-chapter-nav{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:30;display:grid;gap:11px;padding:14px 8px;background:linear-gradient(180deg,#14111fbd,#0b0b12d1);border:1px solid #b9a6ef30;border-radius:40px;backdrop-filter:blur(16px);box-shadow:0 15px 45px #05040977}
.v6-chapter-nav a{position:relative;display:flex;width:24px;height:20px;align-items:center;justify-content:center;color:#9c8bb4;font:700 8px/1 Consolas,monospace;letter-spacing:.3px;transition:color .3s,transform .4s var(--v6-motion)}
.v6-chapter-nav a>i{position:absolute;width:4px;height:4px;left:0;top:8px;border:1px solid #b9abcf70;border-radius:1px;transform:rotate(45deg);transition:background .3s,box-shadow .3s,transform .5s var(--v6-motion)}
.v6-chapter-nav a:hover,.v6-chapter-nav a.v6-active{color:#fff;transform:translateX(-3px)}
.v6-chapter-nav a.v6-active>i{background:#beaaff;box-shadow:0 0 10px #beacff;transform:rotate(135deg) scale(1.3)}
.v6-chapter-nav a:focus-visible{outline:2px solid #c9b3ff;outline-offset:3px;border-radius:4px}
/* Individual text languages. Deliberately distinct hover responses for different sections. */
.about .kinetic-head .motion-word{transition:transform .8s var(--v6-motion),letter-spacing .7s var(--v6-motion),text-shadow .8s,filter .8s;color .4s}
.about .kinetic-head .motion-word:hover{transform:translate3d(3px,-3px,0) rotate(-2deg);letter-spacing:-.035em;color:#f4eaff;filter:none;text-shadow:0 0 45px #c0a7ff85}
.about .kinetic-head em .motion-word{background:linear-gradient(115deg,#cbb5ff,#a28cf6,#edddff);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.about .kinetic-head em .motion-word:hover{background-position:100% 50%;transform:translate3d(4px,-4px,0) skewX(-8deg)}
.work .kinetic-head .motion-word{transition:transform .75s var(--v6-motion),filter .55s,text-shadow .75s,opacity .5s}
.work .kinetic-head .motion-word:hover{transform:translate3d(8px,0,0) skewX(-7deg);filter:drop-shadow(-7px 0 1px #6dcde659);text-shadow:4px 0 0 #b59cff38;color:#f1eaff}
.work .kinetic-head em .motion-word:hover{transform:translate3d(-2px,-7px,0) rotate(-3deg);filter:drop-shadow(4px 4px 0 #4e9eac42)}
.expertise .kinetic-head .motion-word{transition:transform 1s var(--v6-motion),filter .8s,color .8s,letter-spacing .8s}
.expertise .kinetic-head .motion-word:hover{transform:perspective(450px) rotateX(-17deg) translateY(-2px);filter:drop-shadow(0 13px 8px #bda7ff51);letter-spacing:-.025em;color:#e5d9ff}
.expertise .kinetic-head em .motion-word:hover{transform:perspective(400px) rotateY(-11deg) translateY(-2px);filter:drop-shadow(7px 4px 8px #a88cea77)}
.journey .kinetic-head .motion-word:hover{transform:translate3d(0,2px,0) scale(1.035);filter:none;text-shadow:0 -8px 20px #cbb4ff85}
.contact .kinetic-head .motion-word{transition:transform .95s var(--v6-motion),text-shadow .95s,filter .95s}
.contact .kinetic-head .motion-word:hover{transform:translate3d(0,-5px,0) rotate(-3deg);filter:drop-shadow(12px 12px 1px #7357ac40);text-shadow:-7px -1px 24px #fff9}
.story-slide.active h2 .motion-word:hover{transform:translate3d(-4px,0,0) skewY(3deg)!important;filter:drop-shadow(7px -1px 0 #97d6ed66)!important;text-shadow:none!important}
/* Give secondary typographic UI its own nuanced micro-motion. */
.kicker,.eyebrow,.section-meta>span,.project-caption h3,.timeline-row h3,.career-event h3{transition:letter-spacing .7s var(--v6-motion),color .6s,text-shadow .65s,transform .7s var(--v6-motion)}
.kicker{position:relative;display:inline-flex;align-items:center;gap:9px}.kicker:before{content:'';display:inline-block;height:5px;width:5px;background:#a99af0;box-shadow:0 0 14px #a99af0;transform:rotate(45deg);transition:transform .65s var(--v6-motion),background .5s}
.kicker:hover:before{transform:rotate(225deg) scale(1.6);background:#a9e9e2}.kicker:hover{letter-spacing:2.5px;color:#e9dcff}
.section-meta>span:first-child{position:relative}.section-meta>span:first-child:before{content:'';display:inline-block;width:5px;height:5px;margin-right:10px;background:#b9a0ff;transform:rotate(45deg);box-shadow:0 0 9px #927dff88;animation:v6-small-signal 4s ease-in-out infinite alternate}
.section-meta:hover>span:first-child{letter-spacing:1.9px}
.project-caption h3:hover{letter-spacing:-.035em;transform:translate3d(3px,-3px,0);text-shadow:-4px 7px 12px #a897ff6a}
.timeline-row:hover h3{letter-spacing:-.045em;transform:translate3d(7px,0,0);color:#e6d6ff}
.career-event:hover h3{color:#dcc8ff;transform:translateY(-4px)}
.hero .eyebrow:hover{letter-spacing:2.7px}
@keyframes v6-small-signal{to{transform:rotate(135deg);opacity:.3;box-shadow:0 0 2px #927dff}}
/* Fix the Sharkie snap: never switch animation timing when entering the hover. */
.project:hover .shark-illustration{animation-duration:8s!important;animation-timing-function:ease-in-out!important;animation-name:shark-swim!important;filter:drop-shadow(0 21px 19px #051427de) brightness(1.11)}
.shark-illustration{animation-duration:8s!important;animation-timing-function:ease-in-out!important;will-change:transform;transition:filter .8s var(--v6-motion)}
/* Signature interaction section: authentic visual simulation that users can operate. */
.signal-lab{position:relative;isolation:isolate;padding:118px 0 140px;background:linear-gradient(180deg,#0c0b12 0%,#0c1019 45%,#0c0b12 100%);overflow:hidden}
.signal-lab:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.75;background:radial-gradient(circle at 82% 28%,#47336a36,transparent 37%),radial-gradient(circle at 10% 78%,#225c6630,transparent 38%)}
.signal-grid{position:absolute;inset:0;pointer-events:none;opacity:.6;background-image:linear-gradient(#a9b7ea0b 1px,transparent 1px),linear-gradient(90deg,#a9b7ea0b 1px,transparent 1px),radial-gradient(circle at 50% 50%,#a2f6ea2b 1px,transparent 1.5px);background-size:58px 58px,58px 58px,116px 116px;mask-image:radial-gradient(ellipse at center,#000 20%,transparent 80%);animation:v6-gridpan 34s linear infinite}
@keyframes v6-gridpan{to{background-position:58px 58px,58px 58px,116px 58px}}
.signal-lab>.wrap{position:relative;z-index:2}
.signal-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:70px 0 54px}
.signal-id{font:700 10px Consolas,monospace;letter-spacing:2px;color:#aa9ccc;display:flex;align-items:center;gap:10px}
.signal-id-block{width:9px;height:9px;border:2px solid #a98df0;box-shadow:inset 0 0 0 1px #090913,0 0 18px #a28cf68c;display:inline-block;animation:v6-id-beat 3s steps(2) infinite}
.signal-id-sep{color:#6b617e}
@keyframes v6-id-beat{50%{background:#bca4ff}}
.signal-heading h2{font-size:clamp(54px,7.2vw,108px);letter-spacing:-.078em;line-height:.96;margin:25px 0 0;font-weight:750}
.signal-heading h2 em{font-style:normal;font-family:Georgia,serif;font-weight:400;letter-spacing:-.075em;color:#a7d6e3;background:linear-gradient(90deg,#ab9aff,#9bd4df 63%,#e0d9ff);background-size:210% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:background-position 1.2s var(--v6-motion)}
.signal-heading h2:hover em{background-position:100% 50%}
.signal-heading>p{width:280px;flex-shrink:0;color:#aea8bc;font-size:13px;line-height:1.85;margin-bottom:5px}
.system-console{--sig-color:#baa2ff;background:#12121b;border:1px solid #a99bcc69;border-radius:18px;overflow:hidden;box-shadow:0 38px 120px #05040994,0 0 85px #8a71c815;position:relative;transition:border-color .9s var(--v6-motion),box-shadow .9s var(--v6-motion)}
.system-console:hover{border-color:#c6baff8a;box-shadow:0 45px 120px #050409a1,0 0 75px #9b8ae02a}
.system-console[data-mode="code"]{--sig-color:#8fe0d8}.system-console[data-mode="design"]{--sig-color:#f2b5ce}
.console-topbar{background:linear-gradient(100deg,#272039,#1a1928);border-bottom:1px solid #a997d330;display:flex;justify-content:space-between;align-items:center;padding:15px 24px;gap:15px;color:#dcd1f3;font:700 10px Consolas,monospace;letter-spacing:1.2px}
.console-identity{display:flex;gap:11px;align-items:center}.console-dim{color:#998bb0}.console-pixel-logo{width:18px;height:18px;display:grid;grid-template-columns:repeat(2,5px);grid-template-rows:repeat(2,5px);gap:3px;transform:rotate(-6deg)}.console-pixel-logo i{background:#d5c1ff;box-shadow:0 0 9px #aa95fd5e}.console-pixel-logo i:nth-child(2){opacity:.2}.console-pixel-logo i:nth-child(3){opacity:.7}.console-pixel-logo i:nth-child(4){background:#80d9d8}
.console-status{display:flex;align-items:center;gap:9px;color:#a7a0b8}.console-status-light,.tiny-led{display:inline-block;width:6px;height:6px;background:#a3edd8;border-radius:50%;box-shadow:0 0 12px #9cffe3;animation:v6-signal-lit 2.5s ease-in-out infinite alternate}
.console-top-time{margin-left:18px;color:#6e6682}
.console-body{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:450px}
.console-sidebar{padding:30px 20px 21px;background:linear-gradient(170deg,#181623,#131321);border-right:1px solid #b5a1ed29;display:flex;flex-direction:column}
.console-side-label{font:700 10px Consolas,monospace;color:#a99cbd;letter-spacing:1.3px;margin:2px 8px 24px}
.console-modes{display:flex;flex-direction:column;gap:9px}
.console-mode{width:100%;appearance:none;border:1px solid transparent;background:#ffffff07;border-radius:12px;padding:16px 11px 16px 15px;color:#d2c9dd;text-align:left;display:grid;grid-template-columns:24px 1fr 17px;gap:9px;align-items:center;cursor:pointer;transition:background .6s var(--v6-motion),transform .55s var(--v6-motion),border-color .55s,box-shadow .55s}
.console-mode:hover{background:#b49ce51d;transform:translate3d(3px,0,0)}.console-mode.is-selected{border-color:var(--sig-color);background:linear-gradient(90deg,color-mix(in srgb,var(--sig-color) 19%,#15141f),#171721);box-shadow:inset 3px 0 0 var(--sig-color),0 0 27px color-mix(in srgb,var(--sig-color) 9%,transparent)}
.console-mode-no{font:700 10px Consolas,monospace;color:var(--sig-color);align-self:start;padding-top:4px}.console-mode>span:nth-child(2){font:750 12px/1.3 Inter,Arial,sans-serif;letter-spacing:.2px}.console-mode small{font:400 10px/1.6 Inter,Arial,sans-serif;color:#aaa2b9;display:block;margin-top:5px}.mode-arrow{font-size:19px;color:#a695c0;transition:transform .6s var(--v6-motion)}.console-mode:hover .mode-arrow,.console-mode.is-selected .mode-arrow{transform:rotate(45deg);color:var(--sig-color)}
.console-aside-foot{margin-top:auto;display:flex;align-items:center;gap:10px;font:650 9px Consolas,monospace;line-height:1.7;letter-spacing:.6px;color:#7f778f}.console-aside-dot{display:block;width:7px;height:7px;border:1px solid #a1eccf;transform:rotate(45deg)}
.console-main{display:flex;flex-direction:column;min-width:0;position:relative;background:radial-gradient(circle at 60% 50%,#25203993,transparent 55%),#0f111c}
.console-main:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#b8a1ff0b 1px,transparent 1px),linear-gradient(90deg,#b8a1ff0b 1px,transparent 1px);background-size:29px 29px;mask-image:radial-gradient(ellipse at center,#000,transparent 80%)}
.console-main-head{display:flex;justify-content:space-between;gap:10px;padding:23px 25px 0;color:#b6a9cb;font:700 10px Consolas,monospace;letter-spacing:1px;z-index:1}
.console-main-head>span:first-child{display:flex;gap:8px;align-items:center}.status-glyph{color:#bb9fff;font-size:17px;animation:v6-run-star 16s linear infinite}.console-live-metric b{font-weight:700;color:#dde7e9}.console-live-metric .tiny-led{margin-left:6px;width:4px;height:4px}
.signal-diagram{position:relative;flex:1;min-height:284px;overflow:hidden}
.signal-paths{position:absolute;width:100%;height:100%;inset:0;overflow:visible;opacity:.65;transition:filter .8s}
.signal-path-base{fill:none;stroke:#b2a3d052;stroke-width:2;stroke-dasharray:3 7}
.signal-path-active{fill:none;stroke:url(#sig-line-grad);stroke-width:2.5;stroke-dasharray:10 12;animation:v6-signal-dash 13s linear infinite}
.signal-pulse-dot{opacity:.8;filter:drop-shadow(0 0 9px #d0b9fd)}.system-console.is-running .signal-pulse-dot{filter:drop-shadow(0 0 12px #fff);opacity:1}.system-console.is-running .signal-path-active{stroke-width:4;filter:drop-shadow(0 0 9px var(--sig-color))}
.signal-nodes{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-around;gap:17px;padding:26px 42px;z-index:2}
.signal-node{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:137px;height:130px;max-width:31%;border:1px solid #afa0d448;border-radius:17px;background:linear-gradient(160deg,#2d283aba,#161825e3);box-shadow:0 20px 40px #0006,inset 0 1px 0 #ffffff18;backdrop-filter:blur(7px);transform:translateY(4px);transition:transform .75s var(--v6-motion),border-color .7s,background .75s,box-shadow .75s}
.signal-node.is-live{transform:translateY(-10px) scale(1.06);border-color:var(--sig-color);box-shadow:0 20px 55px color-mix(in srgb,var(--sig-color) 19%,transparent),0 0 26px color-mix(in srgb,var(--sig-color) 17%,transparent),inset 0 1px 0 #ffffff37}
.signal-node.is-done{border-color:color-mix(in srgb,var(--sig-color) 80%,#fff);background:linear-gradient(130deg,#372c4f,#151724)}
.signal-node-icon{font-size:22px;color:#d7c5ff;line-height:1;transition:transform .8s var(--v6-motion)}.signal-node.is-live .signal-node-icon{transform:rotate(90deg) scale(1.3);color:var(--sig-color)}
.signal-node small{font:700 9px Consolas,monospace;letter-spacing:1.3px;color:#a89eb6}.signal-node strong{font:750 12px Inter,Arial,sans-serif;letter-spacing:.2px;text-align:center;color:#f4f1ff}
.signal-node i{position:absolute;right:10px;top:10px;width:6px;height:6px;background:#726b86;border-radius:50%;transition:background .4s,box-shadow .4s}.signal-node.is-done i,.signal-node.is-live i{background:#aaefd8;box-shadow:0 0 12px #95e4d2}
.signal-coordinate{position:absolute;z-index:3;color:#817a9b;font:700 9px Consolas,monospace;letter-spacing:1.3px}.signal-c1{bottom:26px;left:27px}.signal-c2{bottom:26px;right:27px}
.console-main-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #b5a1ed29;padding:18px 25px 21px;z-index:2}
.console-readout{display:flex;gap:12px;align-items:center;min-width:0}.readout-indicator{flex:none;width:12px;height:12px;background:#826baa;border:2px solid #bca4ff;transform:rotate(45deg);box-shadow:0 0 10px #9974c46e}.system-console.is-complete .readout-indicator{background:#9af3d7;border-color:#d7fff0;box-shadow:0 0 14px #9af3d7}
.console-readout small{display:block;color:#9488aa;font:700 9px Consolas,monospace;letter-spacing:1.4px;margin-bottom:5px}.console-readout strong{display:block;font:650 12px/1.5 Inter,Arial,sans-serif;color:#e6ddf2;max-width:380px}
.console-run{appearance:none;flex:none;border:0;background:#dfcffc;color:#1d142e;display:flex;gap:18px;align-items:center;justify-content:space-between;padding:8px 8px 8px 19px;border-radius:45px;min-width:181px;font:800 10px Inter,Arial,sans-serif;letter-spacing:.5px;cursor:pointer;transition:transform .65s var(--v6-motion),background .55s,box-shadow .55s}
.console-run:hover{transform:translateY(-4px);background:#f2ecff;box-shadow:0 10px 42px #be9aff66}.console-run:disabled{opacity:.65;cursor:progress;transform:none}
.run-play{background:#20172e;color:#fff;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font:400 23px Inter,Arial,sans-serif;transition:transform .65s var(--v6-motion)}.console-run:hover .run-play{transform:rotate(45deg)}
.console-foot{padding:14px 24px;display:flex;gap:15px;justify-content:space-between;color:#817b90;font:700 8px/1.7 Consolas,monospace;letter-spacing:1.4px;border-top:1px solid #ada0cb20;background:#100f1b}
@keyframes v6-run-star{to{transform:rotate(360deg)}}@keyframes v6-signal-dash{to{stroke-dashoffset:-480}}@keyframes v6-signal-lit{to{opacity:.3;box-shadow:0 0 2px #9cffe3}}
/* Three signature skills: no hard-edged rectangles or ambiguous torus. */
.v6-skill-grid{gap:16px}
.v6-skill-card{--skill-accent:#bba5ff;border-radius:25px 9px 27px 12px!important;min-height:622px;overflow:hidden;padding:27px 24px 25px!important;background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,23%),#7862bc36,transparent 50%),linear-gradient(160deg,#232032,#171621 56%,#14141c)!important;border-color:#a993d736!important;box-shadow:inset 0 1px #ffffff18,0 15px 60px #0005;transition:translate .95s var(--v6-motion),transform .95s var(--v6-motion),box-shadow .95s var(--v6-motion),border-color .8s,filter .95s!important}
.v6-code-card{--skill-accent:#86e9d8}.v6-design-card{--skill-accent:#ffbed9}
.v6-skill-card:before{content:'';position:absolute;inset:-2px;pointer-events:none;background:conic-gradient(from 210deg at var(--mouse-x,50%) var(--mouse-y,35%),transparent,#d8c5ff16,transparent,transparent);z-index:0;opacity:.15;transition:opacity .9s ease}
.v6-skill-card:hover{translate:0 -5px!important;transform:none!important;filter:brightness(1.07);border-color:color-mix(in srgb,var(--skill-accent) 56%,transparent)!important;box-shadow:inset 0 1px #fff3,0 32px 85px #090610cc,0 0 45px color-mix(in srgb,var(--skill-accent) 12%,transparent)!important}
.v6-skill-card:hover:before{opacity:.7}.v6-skill-card>*{position:relative;z-index:1}
.v6-skill-card .skill-meta{color:#b7afc5;letter-spacing:1.4px}.v6-skill-symbol{font-size:22px;color:var(--skill-accent);display:block;transition:transform .7s var(--v6-motion)}.v6-skill-card:hover .v6-skill-symbol{transform:translate(3px,-3px) rotate(45deg)}
.v6-skill-card h3{font-size:clamp(34px,3.9vw,51px);letter-spacing:-.065em;min-height:108px;margin-top:14px;margin-bottom:17px;color:#f5f0fd}
.v6-skill-card p{font-size:12px;line-height:1.8;color:#c1b9cd;min-height:78px}.v6-skill-card .chips{gap:7px;margin-top:auto;position:relative;z-index:3}
.v6-skill-card .chips span{color:#e1dbea;border:1px solid #bcb0d24a;background:#ffffff09;font-size:10px;padding:7px 10px;border-radius:16px;transition:background .55s,border-color .55s,transform .55s var(--v6-motion),color .55s}
.v6-skill-card .chips span:hover{transform:translateY(-3px) rotate(-2deg);color:#fff;border-color:var(--skill-accent);background:color-mix(in srgb,var(--skill-accent) 20%,#171621)}
.v6-skill-card .skill-visual{height:232px;transform:none!important;filter:none!important;display:block;perspective:none;position:relative;margin-bottom:5px}
.v6-flow-art{isolation:isolate}
.flow-ui-header{position:absolute;top:12px;left:5%;right:5%;display:flex;gap:7px;align-items:center;color:#ae9fc3;font:700 9px Consolas,monospace;letter-spacing:.8px}
.flow-ui-header i{width:6px;height:6px;border-radius:50%;background:#aaffd8;box-shadow:0 0 10px #aaffd8;animation:v6-signal-lit 2s ease infinite alternate}
.flow-ui-header small{margin-left:auto;color:#99e3d1;font:inherit}
.flow-svg{position:absolute;left:0;top:29px;width:100%;height:164px;overflow:visible;filter:drop-shadow(0 10px 12px #0005)}
.flow-link{fill:none;stroke:#bb9bff68;stroke-width:2.8;stroke-linecap:round;stroke-dasharray:3 7}
.flow-link-2{fill:none;stroke:url(#flow-path-color);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:16 160;stroke-dashoffset:200;animation:v6-flow-code 6s ease-in-out infinite}
.flow-box rect{fill:#352946;stroke:#c2a9edaa;stroke-width:1.2;transition:fill .6s,stroke .6s}
.flow-box text{fill:#f0e6ff;font:750 10px Consolas,monospace;letter-spacing:.25px}
.flow-box-two rect{fill:#4d346e;stroke:#d6b8ff}.flow-box-four rect{fill:#1c494b;stroke:#92f2d5}
.v6-ai-card:hover .flow-box rect{stroke:#ebe1ff}.v6-ai-card:hover .flow-box-four rect{fill:#2d6c63}
.flow-foot{position:absolute;left:7%;right:7%;bottom:4px;display:flex;justify-content:space-between;gap:8px;color:#aea1c8;font:750 8px Consolas,monospace;letter-spacing:.4px}
.flow-foot b{width:6px;height:6px;display:inline-block;border-radius:50%;background:#8edbce;box-shadow:0 0 12px #8edbce;margin-right:4px}
@keyframes v6-flow-code{0%{stroke-dashoffset:220;opacity:.15}20%,80%{opacity:1}100%{stroke-dashoffset:-230;opacity:.15}}
/* Engineering vignette with visible live code. */
.v6-editor-art{display:grid!important;place-items:center!important;isolation:isolate}
.v6-editor-art:before{content:'';width:100%;height:100%;position:absolute;background:radial-gradient(ellipse,#1b766b4c,transparent 65%);filter:blur(22px)}
.v6-editor-window{position:relative;width:90%;height:190px;border-radius:12px;background:#101a24;border:1px solid #84baae77;overflow:hidden;box-shadow:9px 15px 30px #060b12a1,0 0 25px #6fcfbc28;transform:perspective(550px) rotateY(-12deg) rotateX(4deg) rotate(-2deg);transition:transform .95s var(--v6-motion),box-shadow .9s}
.v6-code-card:hover .v6-editor-window{transform:perspective(550px) rotateY(-5deg) rotateX(1deg) rotate(0deg) translateY(-4px);box-shadow:15px 24px 35px #060b12b0,0 0 28px #6fcfbc43}
.v6-editor-bar{height:31px;display:flex;justify-content:space-between;align-items:center;padding:0 10px;gap:8px;background:#293545;border-bottom:1px solid #a4dcc333;color:#b4c8d5;font:700 9px Consolas,monospace;letter-spacing:.5px}
.v6-editor-bar>div{display:flex;gap:4px}.v6-editor-bar i{width:6px;height:6px;border-radius:50%;background:#ec9fae}.v6-editor-bar i:nth-child(2){background:#ead99c}.v6-editor-bar i:nth-child(3){background:#a1e4c8}.v6-editor-bar b{color:#81e8c4;font-size:9px}
.v6-editor-lines{display:flex;gap:11px;padding:13px 15px}.editor-gutter{flex:none;color:#667e8e;font:650 12px/1.55 Consolas,monospace}.editor-text{display:flex;flex-direction:column;min-width:0;color:#d8e9eb;font:650 clamp(9px,1vw,11px)/1.75 Consolas,monospace;white-space:nowrap}
.editor-fixed{display:block}.editor-indent{padding-left:14px}.editor-text em{color:#8de6cf;font-style:normal}
.editor-live-line{color:#c4abf7;display:block;padding-left:14px;min-height:18px;position:relative}
.editor-live-line:after{content:'';display:inline-block;width:5px;height:12px;margin-left:2px;background:#9cfde1;vertical-align:middle;animation:v6-blink .9s steps(1) infinite}
.v6-code-badge{position:absolute;right:1%;bottom:3px;display:grid;place-items:center;background:#173c3c;color:#abf6e7;width:54px;height:54px;border-radius:15px 5px 15px 5px;font:850 17px Consolas,monospace;border:1px solid #b2f8e682;box-shadow:0 12px 24px #081218ab;transform:rotate(9deg);transition:transform .8s var(--v6-motion)}.v6-code-card:hover .v6-code-badge{transform:rotate(-5deg) translate(-4px,-7px)}
@keyframes v6-blink{50%{opacity:0}}
/* Design & QA: visibly identifiable mock editor, selected canvas and approved check. */
.v6-quality-art{display:grid!important;place-items:center!important;isolation:isolate}
.v6-quality-art:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse,#b968aa35,transparent 63%);filter:blur(16px)}
.quality-canvas{position:relative;width:87%;height:184px;border-radius:10px;background:#ebe9f5;border:1px solid #fff8;overflow:hidden;box-shadow:8px 17px 37px #0009;transform:perspective(550px) rotateY(13deg) rotate(-4deg);transition:transform 1s var(--v6-motion)}
.v6-design-card:hover .quality-canvas{transform:perspective(550px) rotateY(4deg) rotate(-1deg) translateY(-5px)}
.quality-app-header{height:28px;background:#29233a;display:flex;align-items:center;justify-content:space-between;padding:0 10px;color:#c9bfd5}
.quality-app-header>div{display:flex;gap:4px}.quality-app-header i{display:block;width:6px;height:6px;border-radius:50%;background:#f5b9da}.quality-app-header i:nth-child(2){background:#d8bbff}.quality-app-header i:nth-child(3){background:#94e8d4}.quality-app-header small{font:750 8px Consolas,monospace;letter-spacing:.2px}.quality-app-header b{background:#5b8668;color:#e9ffea;border-radius:50%;display:grid;place-items:center;width:16px;height:16px;font-size:12px}
.quality-layout{display:grid;grid-template-columns:3.4fr 1fr;height:calc(100% - 28px)}
.quality-wireframe{padding:11px 12px;position:relative;background:#e8e6ef}
.quality-header-bar{width:53%;height:7px;border-radius:8px;background:#9890b5}.quality-hero-block{width:100%;height:38px;margin-top:9px;border-radius:5px;background:linear-gradient(115deg,#bea6e9,#b0c4e3)}
.quality-rows{display:grid;gap:5px;margin-top:9px}.quality-rows i{height:5px;border-radius:5px;background:#bcb6cb}.quality-rows i:nth-child(2){width:85%}.quality-rows i:nth-child(3){width:57%}
.quality-button{position:absolute;bottom:10px;left:12px;width:44%;height:15px;border-radius:5px;background:#836bb1}
.quality-inspector{background:#d4cfdf;border-left:1px solid #bbaccf;padding:12px 7px;display:flex;flex-direction:column;gap:8px}.quality-inspector span{display:block;width:100%;height:10px;border-radius:3px;background:#eee6f3}.quality-inspector span:nth-child(2){height:27px;background:#b8afd0}
.quality-selection{position:absolute;left:8%;top:37%;width:68%;height:39%;border:1.8px solid #7c4bd2;pointer-events:none;box-shadow:0 0 0 1px #ffffff8a}
.quality-anchor{position:absolute;width:7px;height:7px;background:#fff;border:2px solid #7c4bd2;transform:translate(-50%,-50%)}.qa-a{left:0;top:0}.qa-b{left:100%;top:0}.qa-c{left:0;top:100%}.qa-d{left:100%;top:100%}
.quality-pointer{position:absolute;z-index:3;width:0;height:0;border-left:8px solid #f6edf9;border-right:5px solid transparent;border-bottom:15px solid transparent;filter:drop-shadow(0 1px 1px #301a43);top:36%;left:48%;transform:rotate(-32deg);animation:v6-quality-cursor 7s var(--v6-motion) infinite}
.quality-check{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #8ceec188;border-radius:8px;background:#1c463fae;backdrop-filter:blur(8px);color:#bcffda;box-shadow:0 9px 25px #0408109c;animation:v6-qa-pulse 6s ease-in-out infinite}
.quality-check b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;color:#1f5946;background:#b9ffd8;font:800 15px Arial}.quality-check span{font:850 10px/1.1 Consolas,monospace;letter-spacing:.3px}.quality-check small{display:block;margin-top:5px;font-size:8px;color:#96d6c1}
@keyframes v6-quality-cursor{0%,10%,100%{translate:45px 40px;opacity:.3}35%{translate:0 0;opacity:1}45%,65%{translate:-15px 22px;opacity:1}75%{translate:45px 40px;opacity:.7}}
@keyframes v6-qa-pulse{0%,25%,100%{box-shadow:0 9px 25px #0408109c}55%{box-shadow:0 0 23px #8ee0c559,0 9px 25px #0408109c}}
/* 2D motion for short descriptions, numbers and technical captions. */
.skill-meta span:first-child,.console-side-label,.career-event time,.project-caption>span,.hero-meta,.social-row a{position:relative}
.v6-skill-card:hover .skill-meta span:first-child{letter-spacing:2px;color:#ece2ff}
.value-grid article h3:after{content:'';display:block;height:2px;width:0;margin-top:8px;background:linear-gradient(90deg,#bca3ff,#8dd9d9);transition:width .85s var(--v6-motion)}
.value-grid article:hover h3:after{width:80%}
.timeline-row:hover .time-index{transform:rotate(-8deg) scale(1.08);color:#c8b7ff;transition:transform .7s var(--v6-motion),color .7s}
.project-caption>span{transition:transform .8s var(--v6-motion),color .8s}.project:hover .project-caption>span{transform:translateY(-3px);color:#d6c3ff}
.social-row a{transition:letter-spacing .7s var(--v6-motion),color .5s}.social-row a:hover{letter-spacing:2.7px;color:#e9d7ff}
/* Extra atmosphere that intentionally does not obstruct content */
.about:before,.expertise:before,.journey:before{pointer-events:none!important}
.work .v5-tech-aura{background:radial-gradient(circle,#3b799744,transparent 70%)}
.expertise .v5-tech-grid{background-size:62px 62px;opacity:.72}
.journey .v5-tech-map{opacity:.4}
.v6-rise{transition:opacity 1s var(--v6-motion),transform 1s var(--v6-motion),filter 1s var(--v6-motion)}
.v6-js .v6-rise:not(.v6-shown){opacity:0;transform:translateY(32px);filter:blur(9px)}
@media(max-width:1150px){.v6-chapter-nav{right:8px;opacity:.85}.v6-skill-card{padding:22px 18px!important}.v6-skill-card h3{font-size:clamp(30px,3.8vw,43px)}.v6-skill-card .chips span{font-size:9px;padding:6px 8px}.signal-heading h2{font-size:clamp(50px,7vw,88px)}}
@media(max-width:920px){.v6-chapter-nav{display:none}.signal-lab{padding:85px 0 105px}.signal-heading{margin:50px 0 38px}.console-body{grid-template-columns:235px 1fr}.console-sidebar{padding:25px 10px}.console-mode{padding:12px 7px;grid-template-columns:20px 1fr 14px;gap:4px}.console-modes .console-mode>span:nth-child(2){font-size:10px}.signal-nodes{padding:15px}.signal-node{height:115px}.signal-node strong{font-size:10px}.v6-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v6-skill-card:last-child{grid-column:1 / -1;min-height:545px}.v6-skill-card{min-height:595px}.v6-skill-card .skill-visual{height:218px}}
@media(max-width:680px){.signal-heading{display:block}.signal-heading h2{font-size:clamp(45px,10vw,68px)}.signal-heading>p{width:auto;max-width:370px;margin-top:22px}.console-topbar{font-size:9px;padding:12px 14px}.console-dim{display:none}.console-top-time{display:none}.console-status{font-size:8px}.console-body{grid-template-columns:1fr}.console-sidebar{border-right:0;border-bottom:1px solid #b5a1ed29;padding:18px 15px}.console-side-label{margin:0 0 11px}.console-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.console-mode{display:flex;flex-direction:column;gap:4px;padding:10px 6px;align-items:flex-start;min-height:80px}.console-mode-no{font-size:8px}.console-mode>span:nth-child(2){font-size:9px!important}.console-mode small{font-size:8px}.console-mode .mode-arrow{display:none}.console-aside-foot{display:none}.console-main-head{padding:20px 16px 0;font-size:8px}.signal-diagram{min-height:240px}.signal-node{height:94px;min-width:0;flex:1;width:auto;padding:8px 3px;gap:5px}.signal-node small{font-size:6px;letter-spacing:0}.signal-node strong{font-size:8px;overflow-wrap:anywhere}.signal-node-icon{font-size:20px}.signal-nodes{padding:20px 12px;gap:8px}.signal-paths{width:155%;left:-27%}.signal-coordinate{font-size:7px}.signal-c1{left:15px}.signal-c2{right:15px}.console-main-bottom{padding:14px;flex-direction:column;align-items:stretch}.console-run{justify-content:space-between}.console-readout strong{font-size:11px}.console-foot{font-size:7px;padding:12px;flex-wrap:wrap}.console-foot span:last-child{display:none}.v6-skill-grid{grid-template-columns:1fr}.v6-skill-card,.v6-skill-card:last-child{grid-column:auto;min-height:520px}.v6-skill-card h3{font-size:46px;min-height:auto}.v6-skill-card p{min-height:auto}.v6-skill-card .skill-visual{height:220px}.flow-svg{max-width:400px;left:50%;transform:translateX(-50%)}.v6-skill-card .chips{gap:5px}.v6-skill-card .chips span{font-size:10px}.signal-lab{padding:70px 0 90px}.signal-heading{margin:45px 0 35px}}
@media(max-width:370px){.console-status span:nth-child(2){display:none}.signal-heading h2{font-size:43px}.flow-svg{width:115%}.v6-skill-card{min-height:550px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.v6-js .v6-rise:not(.v6-shown){opacity:1;filter:none;transform:none}.v6-chapter-nav a,.v6-skill-card,.v6-skill-card *,.signal-lab *,.signal-lab:before,.signal-lab:after{animation:none!important;transition:none!important}.signal-node{transform:none}.signal-pulse-dot{display:none}.v6-skill-card:hover{transform:none;translate:0 0!important}.project:hover .shark-illustration{animation:none!important}}

/* motion-v7.css */
/* ENES / V7, a more human, spatial visual language. No heavyweight runtime. */
500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--v7-ease:cubic-bezier(.22,1,.36,1);--v7-purple:#baa5ff}
/* Centered hero, with balanced 3D sculptures and ambient starfield */
.hero{min-height:100svh!important;height:auto;max-height:none;padding:clamp(107px,13vh,135px) clamp(22px,6vw,84px) clamp(18px,3vh,35px)!important;background:radial-gradient(ellipse at 50% 35%,#28203d75,transparent 51%),radial-gradient(ellipse at 5% 54%,#1d294e45,transparent 35%),radial-gradient(ellipse at 95% 54%,#4222523b,transparent 34%),#0a0b12;isolation:isolate}
.hero:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 44%,#bfabf917,transparent 38%);z-index:0}
.v7-star-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.87}
.v7-hero-topography{pointer-events:none;position:absolute;inset:0;z-index:1;color:#b6a8d45c;font:700 9px/1.3 Consolas,monospace;letter-spacing:1.6px}
.v7-hud-a{position:absolute;left:2%;top:47%;transform:rotate(-90deg);transform-origin:center}.v7-hud-b{position:absolute;right:1.5%;top:55%;writing-mode:vertical-rl}
.hero-meta,.hero-footer{position:relative;z-index:4;width:100%;max-width:1320px;margin-left:auto;margin-right:auto}
.hero-layout{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr)!important;flex:1;align-items:center!important;justify-content:center!important;min-height:clamp(520px,67vh,780px)!important;width:100%;max-width:1400px;margin:0 auto;gap:0!important}
.hero-content{padding:30px 0!important;position:relative;z-index:5;text-align:center;max-width:740px!important;margin:0 auto;display:flex;align-items:center;flex-direction:column}
.hero .eyebrow{justify-content:center;gap:12px;color:#d2c1ff}
.hero h1{font-size:clamp(73px,min(10.1vw,16vh),152px)!important;margin:18px 0 25px!important;line-height:.95;letter-spacing:-.088em}
.hero-name{filter:drop-shadow(0 5px 45px #b198ff35)}
.hero-lead{margin:0 auto 12px!important;font-family:'DM Sans','Segoe UI',sans-serif;font-size:clamp(19px,2.2vw,29px)!important;max-width:610px!important;font-weight:600;line-height:1.38!important;letter-spacing:-.038em}
.hero-body{font-family:'DM Sans','Segoe UI',sans-serif;max-width:540px!important;margin:0 auto!important;line-height:1.7}
.hero-actions{margin-top:clamp(19px,3vh,31px)!important;justify-content:center;gap:20px}
.hero-footer{margin-top:0!important;padding-top:18px!important}
.hero-object,.v7-hero-left{position:absolute!important;top:50%;transform:translateY(-50%);width:clamp(215px,27vw,390px);height:clamp(215px,29vw,390px)!important;pointer-events:none;z-index:2;opacity:.94}
.hero-object{right:-7%}.v7-hero-left{left:-6%;display:grid;place-items:center;isolation:isolate}
.hero-object .orb-rig{transform:scale(.86) rotateX(var(--orx,0deg)) rotateY(var(--ory,0deg))!important}
.hero-object .orb-note{bottom:-7%;white-space:nowrap}
.v7-left-glow{position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(circle,#50aac553,#8b70ec25,transparent 68%);filter:blur(23px);animation:v7-glow 8s ease-in-out infinite alternate}
.v7-icosa{width:71%;height:71%;position:relative;transform-style:preserve-3d;transform:perspective(700px) rotateX(var(--lx,27deg)) rotateY(var(--ly,35deg));transition:transform .23s ease-out;animation:v7-bob 9s ease-in-out infinite alternate}
.v7-ico-outer,.v7-ico-mid,.v7-ico-in{position:absolute;inset:8%;border:1px solid #b9e8ffb8;transform-style:preserve-3d;box-shadow:inset 0 0 24px #8e91e735,0 0 35px #6eabd43d;backdrop-filter:blur(1px);background:linear-gradient(145deg,#b8c6ff13,#6acade09)}
.v7-ico-outer{clip-path:polygon(50% 0%,100% 27%,90% 80%,50% 100%,9% 81%,0 28%);transform:translateZ(32px) rotate(12deg);animation:v7-prism 24s linear infinite}
.v7-ico-mid{clip-path:polygon(50% 0%,100% 27%,90% 80%,50% 100%,9% 81%,0 28%);transform:translateZ(-12px) rotate(-24deg) scale(1.13);border-color:#8586dbd9;animation:v7-prism-back 25s linear infinite}
.v7-ico-in{inset:21%;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transform:translateZ(62px) rotate(10deg);background:#a6baff29;border-color:#d1e8ff;animation:v7-prism 17s linear infinite}
.v7-ico-core{position:absolute;inset:32%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e5eaff;text-shadow:0 0 13px #d6dbff;background:radial-gradient(circle,#a4a3ff55,#1e1b3b66);border-radius:50%;transform:translateZ(80px);box-shadow:0 0 45px #baa4ff67}
.v7-ico-core span{font:800 28px 'Space Grotesk',sans-serif}.v7-ico-core small{font:700 7px Consolas,monospace;letter-spacing:1px;text-align:center}
.v7-float-index{position:absolute;bottom:0;left:12%;font:600 9px Consolas,monospace;letter-spacing:1.6px;color:#8bc6df}.v7-float-cross{position:absolute;right:6%;top:15%;font-size:29px;color:#aeabfc;animation:v7-cross 11s linear infinite}
@keyframes v7-prism{to{transform:translateZ(32px) rotate(372deg)}}@keyframes v7-prism-back{to{transform:translateZ(-12px) rotate(-384deg) scale(1.13)}}@keyframes v7-cross{to{transform:rotate(360deg)}}@keyframes v7-glow{to{opacity:.65;transform:translateY(18px) scale(1.08)}}@keyframes v7-bob{to{translate:0 -9px}}
/* Typography: modern sans, soft lighting, not jumpy distortions */
.about-prose .opening.v7-opening{font-family:'Space Grotesk','DM Sans','Segoe UI',sans-serif!important;font-size:clamp(24px,2.65vw,38px)!important;font-weight:600;line-height:1.38!important;letter-spacing:-.05em;color:#f1eafa;max-width:690px;text-wrap:pretty;margin-bottom:28px}
.about-prose .opening.v7-opening:first-letter{color:#cbb8ff}
.about-prose p:not(.opening){font-family:'DM Sans','Segoe UI',sans-serif;letter-spacing:-.012em;line-height:1.86}
/* Replace V6's cartoonish skew, false extrusions and overlapping shadows */
.about .kinetic-head .motion-word:hover,.work .kinetic-head .motion-word:hover,.expertise .kinetic-head .motion-word:hover,.journey .kinetic-head .motion-word:hover,.contact .kinetic-head .motion-word:hover,.story-slide.active h2 .motion-word:hover,.kinetic h2 .motion-word:hover,.signal-heading h2:hover em{transform:translate3d(0,-2px,0)!important;filter:none!important;letter-spacing:inherit!important;text-shadow:0 6px 32px #b49cff33!important}
.about .kinetic-head em .motion-word:hover,.expertise .kinetic-head em .motion-word:hover{transform:translate3d(0,-2px,0)!important;filter:none!important}
.story-slide.active h2 .motion-word{transition:color .6s ease,filter .7s ease!important}.story-slide.active h2 .motion-word:hover{color:#e8deff;text-shadow:0 0 36px #b49dff55!important}
.kinetic-head .motion-word{transition:transform .75s var(--v7-ease),color .75s,opacity .75s,filter .75s!important}
.work .kinetic-head em,.expertise .kinetic-head em{position:relative}
.work .split-head h2:after,.expertise .split-head h2:after{content:'';display:block;width:72px;height:2px;background:linear-gradient(90deg,#ac90ff,transparent);transform:scaleX(.45);transform-origin:left;opacity:.5;transition:transform 1.1s var(--v7-ease),width 1s var(--v7-ease),opacity 1s}
.work .split-head:hover h2:after,.expertise .split-head:hover h2:after{width:190px;transform:scaleX(1);opacity:1}
/* Tighten the oversized area after project grid */
.work{padding-bottom:clamp(48px,6vw,86px)!important}.work .full-link{margin-top:clamp(30px,5.5vw,65px)!important}.expertise{padding-top:clamp(68px,7vw,110px)!important}
/* Reliable Pokeball: exactly two full revolutions and returns to initial angle */
.pokedex .pokeball,.project.is-visible .pokedex .pokeball{animation:none!important;opacity:.78}
.project:hover .pokedex .pokeball{animation:v7-poke-back 3.6s cubic-bezier(.18,.92,.22,1) both!important}
@keyframes v7-poke-back{0%{transform:rotate(-19deg) scale(.96);opacity:.78;filter:blur(0)}15%{transform:rotate(10deg) scale(1.07);opacity:1}55%{transform:rotate(610deg) scale(1.03);filter:blur(1px)}100%{transform:rotate(701deg) scale(1);opacity:.78;filter:blur(0)}}
/* Resolve V6's skill artwork spacing / clipping / pointer */
.v6-ai-card .flow-box-three{transform:translate(-15px,-1px)}.v6-ai-card .flow-box-four{transform:translate(10px,3px)}
.v6-editor-window{width:96%!important;transform:perspective(550px) rotateY(-6deg) rotateX(3deg) rotate(-1deg)!important}
.v6-editor-lines{padding:12px 8px!important;gap:7px!important}.editor-text{font-size:clamp(8px,.83vw,10px)!important;white-space:pre!important;letter-spacing:-.3px}.editor-live-line{max-width:99%;overflow:hidden;text-overflow:clip}
.quality-pointer{width:18px!important;height:22px!important;border:0!important;transform:rotate(-14deg)!important;clip-path:none!important;filter:drop-shadow(0 2px 2px #26132c7a)!important;background:none!important}
.quality-pointer:after{content:'';display:block;width:100%;height:100%;background:#fcf5ff;clip-path:polygon(3% 2%,5% 94%,37% 69%,51% 98%,68% 92%,54% 61%,91% 62%);outline:1px solid #372045}
/* Signal paths connect port to port, not through hidden card interiors */
.signal-heading{margin-bottom:48px}.signal-heading h2{font-family:'Space Grotesk','Segoe UI',sans-serif;font-weight:700;letter-spacing:-.077em;font-size:clamp(48px,6.3vw,92px)}
.signal-heading h2 em{font-family:inherit;font-weight:600;font-style:normal}
.signal-diagram{min-height:330px;isolation:isolate;overflow:hidden;--pulse:#bcabff}
.v7-signal-atmosphere{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 50% 42%,#7d65b72c,transparent 45%);pointer-events:none}
.v7-flow-svg{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible;pointer-events:none}
.v7-flow-base{fill:none;stroke:#776ba3c7;stroke-width:2;stroke-dasharray:5 7;opacity:.8}
.v7-flow-beam{fill:none;stroke:url(#v7-link-gradient);stroke-width:3;opacity:.24;transition:opacity .45s;filter:drop-shadow(0 0 5px #a9c9ff6b)}
.system-console.is-running .v7-flow-beam,.system-console.is-complete .v7-flow-beam{opacity:1}
.v7-signal-nodes{z-index:3;padding:24px 26px 54px;justify-content:space-between;gap:clamp(16px,5%,52px)}
.v7-signal-nodes .signal-node{width:clamp(93px,26%,152px);max-width:30%;height:126px;flex-shrink:0;overflow:visible;border-radius:15px;backdrop-filter:blur(8px);background:linear-gradient(155deg,#292339f2,#151723f8)}
.v7-signal-nodes .signal-node.is-live{transform:translateY(-6px) scale(1.03)}
.v7-inlet,.v7-outlet{position:absolute;top:50%;height:11px;width:11px;border:2px solid #c0aaff;border-radius:50%;background:#12121e;box-shadow:0 0 16px #ae94ff77;transform:translateY(-50%);z-index:10;transition:background .5s,box-shadow .5s}
.v7-inlet{left:-6px}.v7-outlet{right:-6px}
.v7-signal-nodes [data-node="0"]>.v7-inlet,.v7-signal-nodes [data-node="2"]>.v7-outlet{display:none}
.signal-node.is-live .v7-inlet,.signal-node.is-live .v7-outlet,.signal-node.is-done .v7-outlet{background:#bca2ff;box-shadow:0 0 22px #bba4ff}
.v7-node-sweep{position:absolute;inset:0;z-index:0;border-radius:inherit;overflow:hidden;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 40%,#cdb6ff2e 50%,transparent 60%);background-size:230% 100%}
.signal-node.is-live .v7-node-sweep{opacity:1;animation:v7-node-scan 1.2s linear infinite}
@keyframes v7-node-scan{to{background-position:-230% 0}}
.v7-flow-packet{position:absolute;width:13px;height:13px;background:#e8dcff;border:2px solid #f6f1ff;border-radius:4px;box-shadow:0 0 18px #b69efc,0 0 42px #a08aff7b;z-index:2;opacity:0;transform:translate(-50%,-50%) rotate(45deg);pointer-events:none}
.v7-flow-packet-second{width:7px;height:7px;background:#9ae4e5;border:0;filter:blur(.2px)}
.v7-data-trace{position:absolute;z-index:5;bottom:13px;left:25px;right:25px;display:flex;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid #a38de526;padding-top:10px;color:#aa9cc2;font:700 9px/1.4 Consolas,monospace;letter-spacing:1px;pointer-events:none}
.v7-trace-state{color:#d4bdff}.v7-trace-log{color:#8bdfd5;text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.system-console.is-running .console-main{background:radial-gradient(circle at 50% 50%,#40335d6c,transparent 66%),#10121d}
@media(min-width:1350px){.hero-object{right:-2%}.v7-hero-left{left:-2%}}
@media(max-width:1100px){.hero h1{font-size:clamp(67px,10vw,111px)!important}.hero-object,.v7-hero-left{width:260px;height:280px!important;opacity:.60}.hero-object{right:-9%}.v7-hero-left{left:-9%}.hero-content{max-width:680px!important}.v7-signal-nodes{padding-left:13px;padding-right:13px}}
@media(max-width:780px){.hero{min-height:100svh!important;padding-top:115px!important}.hero-layout{min-height:630px!important}.hero-content{padding-top:30px!important;max-width:560px!important}.hero-object,.v7-hero-left{height:220px!important;width:200px;top:22%;opacity:.42}.hero-object{right:-7%}.v7-hero-left{left:-7%}.hero h1{font-size:clamp(70px,13vw,112px)!important}.hero-lead{font-size:clamp(19px,3.7vw,24px)!important;max-width:520px!important}.hero-body{max-width:470px!important}.hero-footer{margin-top:0!important}.v7-hud-a,.v7-hud-b{display:none}.signal-heading h2{font-size:clamp(50px,7.8vw,76px)}.v7-signal-nodes{padding:20px 14px 55px}.v7-signal-nodes .signal-node{height:113px}.v7-game-invite{flex-wrap:wrap}.v7-game-launch{margin-left:auto}}
@media(max-width:600px){.hero{padding:102px 22px 22px!important;min-height:780px!important}.hero-layout{min-height:660px!important}.hero-content{padding-top:15px!important}.hero h1{font-size:clamp(68px,16vw,88px)!important;margin:18px 0 20px!important}.hero-lead{font-size:19px!important}.hero-body{font-size:12px!important}.hero-object,.v7-hero-left{width:155px;height:165px!important;top:13%;opacity:.28;filter:blur(.2px)}.hero-object{right:-12%}.v7-hero-left{left:-12%}.v7-float-index,.orb-note{display:none!important}.hero-content .eyebrow{font-size:9px}.hero-actions{gap:12px}.hero .pill-button{font-size:11px}.hero .text-button{font-size:11px}.v7-ico-core span{font-size:16px}.v7-ico-core small{display:none}.v7-signal-nodes{padding:20px 7px 60px;gap:7px}.v7-signal-nodes .signal-node{height:92px;width:31%;max-width:31%;gap:5px}.v7-signal-nodes .signal-node strong{font-size:8px}.v7-signal-nodes .signal-node small{font-size:6px}.v7-data-trace{left:11px;right:11px;font-size:7px}.signal-diagram{min-height:250px}.v7-game-section{padding:18px}.v7-game-invite h3{font-size:23px}.v7-game-launch{width:100%;justify-content:space-between}.v7-game-header,.v7-game-footer{padding:10px;font-size:8px}.v7-game-footer{flex-direction:column;align-items:stretch}.v7-game-controls{justify-content:center}.v7-game-controls button{flex:1;max-width:60px}.about-prose .opening.v7-opening{font-size:27px!important}}
@media(max-height:750px) and (min-width:781px){.hero{padding-top:100px!important;padding-bottom:15px!important}.hero-layout{min-height:470px!important}.hero-content{padding:5px 0!important}.hero h1{font-size:clamp(68px,13vh,105px)!important;margin:10px 0 15px!important}.hero-lead{font-size:21px!important}.hero-body{font-size:12px!important}.hero-actions{margin-top:18px!important}.hero-object,.v7-hero-left{width:255px;height:255px!important}.hero-footer{padding-top:12px!important}}
@media(prefers-reduced-motion:reduce){.v7-icosa,.v7-ico-outer,.v7-ico-mid,.v7-ico-in,.v7-float-cross,.v7-left-glow,.v7-node-sweep{animation:none!important}.v7-star-canvas{opacity:.65}.project:hover .pokedex .pokeball{animation:none!important;transform:rotate(-19deg)!important}.hero .hero-object .orb-rig{animation:none!important}}
/* Film pointer animated from its exact play-button center on both card and cloned dialog preview */
.demo-pointer{animation:none!important;will-change:transform,opacity}.demo-click-halo{left:var(--v7-play-x,50%)!important;top:var(--v7-play-y,50%)!important;transform:translate(-50%,-50%)}

/* motion-v8.css */
/* ENES PORTFOLIO V8: typographic balance, an intentional hover animation and a scroll-directed pixel story */
.hero .hero-content h1{display:flex!important;flex-direction:column;align-items:center;justify-content:center;width:100%;text-align:center}
.hero .hero-content .hero-line{display:flex!important;align-items:center;justify-content:center;width:max-content!important;max-width:100%;margin-inline:auto;transform-origin:center bottom!important}
.hero .hero-content .hero-line-two{align-self:center;margin-inline:auto!important}
.hero .hero-content .hero-line-two .hero-name{justify-content:center;white-space:nowrap}
.hero .hero-lead{font-size:clamp(19px,2.15vw,27px)!important;max-width:600px!important;line-height:1.35!important;text-wrap:balance}
.hero .hero-body{font-size:clamp(12px,1.05vw,14px)!important;line-height:1.65!important;max-width:500px!important;text-wrap:balance}
@media(min-width:900px){.hero .hero-content{max-width:810px!important}.hero .hero-content h1{margin:20px 0 21px!important}}

/* A scroll-driven 16-bit vignette, not a playable game. */
.v8-scroll-story{position:relative;height:260vh;color:#f3edf9;background:#100d1c;isolation:isolate}
.v8-scroll-stage{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 65% 70%,#3026529c,transparent 58%),radial-gradient(ellipse at 14% 12%,#151f3569,transparent 59%),#0c0b14}
.v8-story-ambient{position:absolute;inset:-30%;pointer-events:none;opacity:.55;background:radial-gradient(circle at 38% 50%,#8c69df23 0%,transparent 34%),linear-gradient(90deg,transparent 0 47%,#997dff07 47.1% 47.3%,transparent 47.4%);filter:blur(3px);transform:translate3d(var(--v8-parallax,0px),0,0)}
.v8-scroll-stage:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.21;background-image:radial-gradient(circle,#a393e7 0.6px,transparent 0.9px);background-size:36px 36px;mask-image:linear-gradient(180deg,#000,transparent 66%)}
.v8-story-shell{position:relative;z-index:2;max-width:1330px;width:100%;padding:65px clamp(22px,6vw,92px) 43px;display:flex;flex-direction:column;gap:23px;max-height:100svh}
.v8-story-top{border-bottom:1px solid #b4a1e430;padding-bottom:16px;display:flex;justify-content:space-between;gap:12px;align-items:center;color:#a897dc;font:700 10px/1.5 'Space Grotesk',Consolas,monospace;letter-spacing:1.4px}
.v8-story-coordinates{color:#a99ebc}.v8-x-value{color:#e6d8ff;font-variant-numeric:tabular-nums}
.v8-story-heading{display:flex;align-items:end;justify-content:space-between;gap:25px}
.v8-story-intro{max-width:670px}.v8-story-eyebrow,.v8-story-chapter-label{color:#bcaaff;font-size:10px;letter-spacing:1.9px;font-weight:750}
.v8-story-heading h2{font-family:'Space Grotesk','DM Sans',sans-serif;font-size:clamp(40px,5.7vw,78px);font-weight:650;line-height:.99;letter-spacing:-.075em;margin:14px 0}
.v8-story-heading h2 em{font-family:'Space Grotesk','DM Sans',sans-serif;font-weight:450;font-style:normal;letter-spacing:-.06em;background:linear-gradient(100deg,#c0aaff,#a3dff0,#c0aaff);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:170% auto;animation:v8-title-tone 9s ease-in-out infinite alternate}
.v8-scene-description{font-size:13px;line-height:1.6;color:#bab1ca;max-width:480px;margin:0;min-height:22px;transition:opacity .35s,transform .35s}
.v8-story-chapter{flex:none;min-width:185px;align-self:end;text-align:right;display:flex;flex-direction:column;gap:12px;padding-bottom:4px}
.v8-scene-title{font-size:19px;letter-spacing:-.025em;color:#f1ebfb;font-weight:650}
.v8-story-chapter-index{font:700 10px Consolas,monospace;letter-spacing:1.7px;color:#8c81a9}
.v8-pixel-frame{position:relative;background:#070914;border:1px solid #bca8ec66;border-radius:16px;overflow:hidden;box-shadow:0 30px 95px #000a,0 0 72px #8464cc20,inset 0 0 1px #dcc2ff;isolation:isolate}
.v8-pixel-frame:after{content:"";position:absolute;inset:37px 0 35px;pointer-events:none;background:linear-gradient(90deg,transparent 0%,#ccafff10 48%,transparent 100%);mix-blend-mode:screen;z-index:2}
.v8-pixel-frame-header,.v8-pixel-frame-footer{height:37px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#141324;color:#a49cbb;padding:0 17px;font:700 10px Consolas,monospace;letter-spacing:1.05px}
.v8-pixel-frame-header>div{display:flex;gap:5px}.v8-pixel-frame-header i{height:6px;width:6px;border-radius:50%;background:#d0b6fc}.v8-pixel-frame-header i:nth-child(2){background:#8ac8cf}.v8-pixel-frame-header i:nth-child(3){background:#706c8c}
.v8-system-led{color:#91e0cc;display:flex;align-items:center;gap:4px}
.v8-pixel-stage{position:relative;overflow:hidden}
.v8-pixel-canvas{display:block;width:100%;height:auto;aspect-ratio:800/270;image-rendering:pixelated;image-rendering:crisp-edges;background:#0d1125}
.v8-pixel-frame-footer{height:35px;background:#141324;font-size:9px;color:#8d83a7}
.v8-pixel-hint{color:#dacafa}
.v8-crt-toggle{appearance:none;background:#26203c;border:1px solid #ab90e070;color:#d4c3ff;border-radius:5px;padding:5px 10px;font:700 9px Consolas,monospace;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}
.v8-crt-toggle:hover,.v8-crt-toggle[aria-pressed=true]{background:#8064bd;color:#fff}
.v8-pixel-scanlines{pointer-events:none;position:absolute;inset:0;z-index:4;opacity:0;transition:opacity .3s;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(0,0,0,.25) 4px,rgba(0,0,0,.25) 5px);mix-blend-mode:multiply}
.v8-pixel-frame.crt-enabled .v8-pixel-scanlines{opacity:.6}
.v8-story-bottom{display:flex;flex-direction:column;gap:13px}
.v8-story-progress{position:relative;height:3px;border-radius:3px;background:#ac9ac02d}
.v8-story-progress-fill{display:block;height:100%;width:0%;background:linear-gradient(90deg,#9b83eb,#9ae4e6);box-shadow:0 0 17px #a08bfb8a;transition:width .09s linear}
.v8-story-progress-marker{position:absolute;width:11px;height:11px;left:0;top:-4px;border:2px solid #eee4ff;background:#8a72cf;box-shadow:0 0 16px #c5adff;border-radius:2px;transform:rotate(45deg) translateX(-50%);transition:left .09s linear}
.v8-story-phases{display:flex;align-items:center;justify-content:space-between;gap:10px;font:750 10px 'Space Grotesk',Consolas,monospace;letter-spacing:1.4px;color:#716b8d}
.v8-story-phases span{transition:color .3s,transform .4s,filter .4s;display:inline-block}.v8-story-phases span.is-active{color:#dccfff;transform:translateY(-2px);filter:drop-shadow(0 0 9px #d2adff9c)}
.v8-story-endcap{height:3px;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(90deg,transparent,#a48ce780,transparent)}
@keyframes v8-title-tone{to{background-position:100% 50%}}
@media(max-width:900px){.v8-story-shell{padding:32px 5% 26px;gap:18px}.v8-story-heading h2{font-size:clamp(39px,6.6vw,66px)}.v8-story-chapter{min-width:155px}.v8-scene-title{font-size:15px}}
@media(max-width:650px){.v8-scroll-story{height:210vh}.v8-scroll-stage{min-height:560px}.v8-story-shell{padding:40px 17px 22px;gap:18px;justify-content:center}.v8-story-top{font-size:8px;letter-spacing:.75px}.v8-story-coordinates{display:none}.v8-story-heading{align-items:start;flex-direction:column;gap:10px}.v8-story-heading h2{font-size:clamp(40px,9vw,64px);margin:10px 0}.v8-story-eyebrow{font-size:9px}.v8-scene-description{font-size:11px}.v8-story-chapter{align-self:auto;text-align:left;display:flex;flex-direction:row;align-items:center;gap:12px;min-width:0}.v8-story-chapter-label{font-size:8px}.v8-scene-title{font-size:11px}.v8-story-chapter-index{display:none}.v8-pixel-frame{border-radius:10px}.v8-pixel-frame-header{height:31px;padding:0 9px;letter-spacing:.3px;font-size:8px}.v8-pixel-frame-footer{height:31px;padding:0 9px;font-size:7px;letter-spacing:.2px}.v8-pixel-frame-footer>span:last-child{display:none}.v8-pixel-frame:after{inset:31px 0 31px}.v8-story-phases{font-size:8px;letter-spacing:0}.v8-crt-toggle{font-size:8px;padding:5px 8px}}
@media(max-height:720px) and (min-width:651px){.v8-story-shell{padding-block:24px;gap:12px}.v8-story-heading h2{font-size:clamp(38px,5vw,60px);margin:7px 0}.v8-pixel-canvas{max-height:32vh;object-fit:cover}.v8-story-heading .v8-scene-description{font-size:11px}}
@media(prefers-reduced-motion:reduce){.v8-story-heading h2 em{animation:none}.v8-story-ambient{transform:none!important}.v8-story-phases span,.v8-scene-description,.v8-story-progress-fill,.v8-story-progress-marker{transition:none!important}.project-visual.pokedex.v8-poke-spin .pokeball,.dialog-image .project-visual.pokedex.v8-poke-spin .pokeball{animation:none!important;transform:rotate(-19deg)!important}}

/* motion-v9.css */
/* ENES.OS V9 — separate creative edition. Keeps V8 intact. */
:root{--v9-lilac:#c8acff;--v9-mint:#8eeed5;--v9-edge:#c5adff30;--v9-ease:cubic-bezier(.18,.75,.18,1)}
.v9-quest,.v9-quest *{box-sizing:border-box}
/* The primary story: different worlds, one connected path. */
.v9-quest{position:relative;isolation:isolate;color:#f0eaf8;border:1px solid #9e83dc50;border-radius:22px;overflow:hidden;background:radial-gradient(ellipse at 72% 4%,#6a429d2c,transparent 45%),radial-gradient(ellipse at 16% 90%,#22414a49,transparent 53%),#100f1d;box-shadow:0 30px 90px #06050a55,inset 0 1px #e0d2ff12;margin:0 0 23px}
.v9-quest:before{position:absolute;content:"";inset:0;pointer-events:none;opacity:.23;background-image:radial-gradient(#e1ceff 0.5px,transparent .9px);background-size:29px 29px;mask-image:linear-gradient(to bottom,#000 0,transparent 68%)}
.v9-quest-top,.v9-quest-intro,.v9-quest-footer,.v9-quest-detail{position:relative;z-index:2}
.v9-quest-top{height:49px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 26px;border-bottom:1px solid var(--v9-edge);font:700 10px 'Space Grotesk',Consolas,monospace;letter-spacing:1.1px;color:#ae9fc7}
.v9-quest-top>div{display:flex;align-items:center;gap:9px}.v9-quest-led,.v9-now-live,.v9-quest-tiny-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--v9-mint);box-shadow:0 0 15px #8eeed594;flex:none}.v9-quest-battery{letter-spacing:2px;color:var(--v9-mint)}.v9-quest-battery b{letter-spacing:.5px;font-size:8px;font-weight:650;margin-left:7px;color:#a3e5d4}
.v9-quest-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:37px 35px 27px}.v9-overline,.v9-quest-counter small{font:750 10px 'Space Grotesk',monospace;letter-spacing:1.5px;color:#ae9dcc}.v9-quest-intro h3{font:650 clamp(25px,3vw,41px)/1.13 'Space Grotesk','DM Sans',sans-serif;letter-spacing:-.06em;margin:11px 0 0}.v9-quest-intro h3 em{font-style:normal;font-weight:450;color:#bba1ff}.v9-quest-counter{text-align:right;display:grid;gap:7px;padding-bottom:3px;flex:none}.v9-quest-location{font-size:12px;letter-spacing:.5px;color:#e2d5ff}
.v9-world{position:relative;z-index:1;padding:0 26px 29px}.v9-chapters{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.v9-chapter{appearance:none;border:1px solid #d3b9ff2d;text-align:left;cursor:pointer;min-width:0;background:linear-gradient(180deg,#201a30ee,#171422ec);border-radius:13px;overflow:hidden;color:#f4edff;padding:0;position:relative;transform:translateZ(0);transition:transform .8s var(--v9-ease),background .7s,border-color .6s,box-shadow .7s;box-shadow:0 10px 25px #05040b47}.v9-chapter:hover,.v9-chapter:focus-visible{transform:translateY(-9px);border-color:#a28ce59c;box-shadow:0 19px 43px #0008,0 0 31px #9575da25}.v9-chapter.is-active{border-color:#c7aaf5bd;background:linear-gradient(170deg,#33264c,#1a1829);box-shadow:0 15px 35px #0006,0 0 0 1px #b39af139}.v9-chapter:focus-visible{outline:2px solid #e4d4ff;outline-offset:3px}
.v9-card-scene{position:relative;display:block;aspect-ratio:270/150;background:#151a30;overflow:hidden;isolation:isolate}.v9-card-scene:after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#17132258 100%)}.v9-card-scene canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;transition:transform 1.2s var(--v9-ease),filter .8s}.v9-chapter:hover canvas,.v9-chapter.is-active canvas{transform:scale(1.075);filter:saturate(1.18)}.v9-scene-scan{position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 50%,#03020a13 50%);background-size:100% 5px;z-index:1;opacity:.33}.v9-card-level{position:absolute;top:10px;left:10px;z-index:2;border:1px solid #eedcff36;background:#181327a6;padding:5px 7px;font:700 9px Consolas,monospace;letter-spacing:1.5px;color:#f2e9ff;backdrop-filter:blur(8px)}
.v9-chapter-info{position:relative;padding:20px 18px 24px;display:flex;flex-direction:column;min-height:130px;gap:8px}.v9-period{font:700 10px Consolas,monospace;color:#c1adf6;letter-spacing:.8px}.v9-chapter-info strong{font:650 clamp(15px,1.7vw,22px)/1.15 'Space Grotesk',sans-serif;letter-spacing:-.045em}.v9-chapter-info small{font:700 9px/1.5 'Space Grotesk',monospace;letter-spacing:.7px;color:#a095b8}.v9-select-icon{position:absolute;right:12px;bottom:17px;font-size:18px;color:#b89cff;opacity:.65;transition:transform .65s var(--v9-ease),opacity .3s}.v9-chapter:hover .v9-select-icon,.v9-chapter.is-active .v9-select-icon{opacity:1;transform:translate(3px,-3px)}
.v9-world-road{position:absolute;left:36px;right:36px;top:119px;height:3px;z-index:3;pointer-events:none;background:#ad92f634}.v9-world-trail{position:absolute;left:0;top:0;height:100%;width:var(--v9-quest-progress,0%);background:linear-gradient(90deg,#b79afa,#98f0dd);box-shadow:0 0 20px #b79afa90;transition:width 1.1s var(--v9-ease)}.v9-avatar-rail{position:absolute;top:-15px;left:var(--v9-quest-progress,0%);width:23px;height:33px;transform:translateX(-50%);filter:drop-shadow(0 0 9px #a788ffb0);transition:left 1.1s var(--v9-ease)}.v9-avatar-head{position:absolute;top:0;left:7px;width:13px;height:13px;background:#f0b999;box-shadow:0 -4px #211934,3px 1px #2c2242,-3px 1px #2c2242}.v9-avatar-head:after{content:"";position:absolute;top:5px;left:10px;background:#1e1b2d;width:2px;height:2px}.v9-avatar-body{position:absolute;top:15px;left:4px;width:18px;height:12px;background:#9d81e4;box-shadow:inset 3px 0 #5c4b9e,0 7px #5d518a,-4px 1px #c8aaf1}.v9-avatar-body:after{content:"";position:absolute;top:17px;left:0;width:6px;height:3px;background:#30263f;box-shadow:12px 0 #30263f}
.v9-quest-detail{border-top:1px solid #aa8fd846;display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:24px;min-height:144px;padding:24px 31px;background:linear-gradient(100deg,#28203c91,#151425d1)}.v9-quest-detail-key{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#cdbaff}.v9-quest-detail-key>span:first-child{font-size:25px}.v9-quest-detail-index{font:750 18px 'Space Grotesk',sans-serif}.v9-quest-detail-key small{display:block;width:100%;color:#8e84a7;font:700 9px Consolas,monospace;letter-spacing:1.1px}.v9-quest-detail-body h4{font:650 22px 'Space Grotesk',sans-serif;letter-spacing:-.055em;margin:0 0 8px;color:#f3edff}.v9-quest-detail-body p{font:400 13px/1.75 'DM Sans','Space Grotesk',sans-serif;color:#b6abc9;max-width:660px;margin:0;min-height:45px}.v9-quest-controls{display:flex;gap:8px}.v9-quest-controls button{height:41px;width:41px;display:grid;place-items:center;border:1px solid #ae90ed72;background:#211c32;color:#d9c6fc;border-radius:50%;cursor:pointer;transition:background .35s,transform .45s var(--v9-ease)}.v9-quest-controls button:hover:not(:disabled){transform:translateY(-3px);background:#7c5cc4}.v9-quest-controls button:disabled{opacity:.3;cursor:default}.v9-quest-footer{display:flex;align-items:center;gap:11px;padding:17px 30px;background:#10111a;border-top:1px solid #ad96f423;color:#a69abf;font:700 9px Consolas,monospace;letter-spacing:1px}.v9-quest-footer span:last-child{margin-left:auto;color:#8b7fa2}.v9-quest-tiny-dot{width:5px;height:5px}
.v9-now-strip{border:1px solid #c0aaf52d;border-radius:14px;padding:21px 24px;background:linear-gradient(100deg,#221a303e,#13121e6f);display:flex;align-items:center;gap:35px;justify-content:space-between}.v9-now-heading{min-width:170px;display:flex;align-items:center;gap:10px;font:700 10px 'Space Grotesk',sans-serif;letter-spacing:1px;color:#c3b0ed}.v9-now-items{display:flex;gap:43px;flex:1;justify-content:flex-end}.v9-now-items>div{display:grid;gap:5px}.v9-now-items span{font:700 9px Consolas,monospace;color:#9385b3;letter-spacing:.8px}.v9-now-items b{font:600 13px 'Space Grotesk',sans-serif;color:#e7ddf5}.v9-now-items small{font:500 11px 'DM Sans',sans-serif;color:#9288a3}
/* ENES.OS: compare two illustrated paths without pretending to measure actual processing. */
.v9-path-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 18px;background:#111522;border-bottom:1px solid #8b79b744}.v9-path-label{font:700 9px Consolas,monospace;color:#877a9b;letter-spacing:.8px;margin-right:auto}.v9-process-option{appearance:none;border:1px solid #aa93e246;background:#211d30;color:#a99cbd;cursor:pointer;padding:8px 12px;border-radius:7px;display:flex;align-items:center;gap:7px;font:700 9px 'Space Grotesk',monospace;letter-spacing:.6px;transition:background .4s,border-color .4s,transform .4s,color .4s}.v9-process-option:hover{transform:translateY(-2px);color:#fff}.v9-process-option.is-selected{border-color:#bfa5fc9e;background:#35284d;color:#e6d9ff}.v9-opt-led{width:6px;height:6px;border-radius:50%;background:#6d6780}.v9-process-option.is-selected .v9-opt-led{background:#8ef1d8;box-shadow:0 0 8px #8ef1d888}.v9-telemetry{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 20px;padding:14px 19px 17px;border-top:1px solid #9b82c638;background:#100f1d}.v9-telemetry>div:not(.v9-telemetry-bar){display:grid;gap:6px}.v9-telemetry span{font:750 8px Consolas,monospace;letter-spacing:.85px;color:#8b809f}.v9-telemetry strong{font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.5px;color:#d0c1ee}.v9-telemetry-bar{grid-column:1/-1;height:3px;background:#a58cdd22;border-radius:4px;overflow:hidden}.v9-telemetry-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#9b7dec,#8ce7d8);box-shadow:0 0 16px #b0acff88;transition:width .38s ease}.system-console.v9-manual .v7-flow-packet{filter:hue-rotate(-40deg)}
/* Pixel-Enes identity bar; character pixel art is drawn in canvas at source resolution. */
.v9-player-id{display:flex;align-items:center;gap:8px;font:750 9px Consolas,monospace;letter-spacing:1px;color:#b9a5ff;margin:0 0 12px}.v9-player-dot{width:6px;height:6px;background:#8cebd8;box-shadow:0 0 10px #8cebd880}.v9-player-blink{animation:v9-caret .8s steps(1) infinite;color:#e0cbff}@keyframes v9-caret{50%{opacity:0}}
.v9-quicknav{border:1px solid #ae9bcc51;cursor:pointer;color:#c7b5e8;background:#291e3a73;padding:9px 10px;border-radius:99px;display:inline-flex;gap:8px;align-items:center;font:700 9px 'Space Grotesk',sans-serif;letter-spacing:.5px;transition:transform .5s var(--v9-ease),border-color .4s,background .4s}.v9-quicknav:hover{background:#59447770;border-color:#cdb2ff;transform:translateY(-3px)}.v9-quicknav kbd{font:700 8px Consolas,monospace;color:#b3a8c7;background:#15111c;padding:4px 6px;border:1px solid #7f68a955;border-radius:4px}.v9-quicknav-spark{font-size:15px;color:#bba0fa}
.v9-launcher-backdrop{position:fixed;z-index:999999;inset:0;background:#05050cbd;backdrop-filter:blur(18px);display:flex;align-items:flex-start;justify-content:center;padding:clamp(75px,15vh,145px) 18px 20px}.v9-launcher-backdrop[hidden]{display:none!important}.v9-launcher{width:min(100%,540px);border:1px solid #bfa5ff80;border-radius:18px;overflow:hidden;box-shadow:0 40px 140px #000b,0 0 70px #a189e42e;background:linear-gradient(145deg,#272038,#11101e);color:#f7efff;animation:v9-launch-in .36s var(--v9-ease) both}.v9-launcher-head{display:flex;align-items:center;gap:12px;padding:20px 23px 15px;font:700 10px 'Space Grotesk',sans-serif;letter-spacing:1.1px;color:#c5b2e5}.v9-launch-icon{font-size:23px;color:#be9eff}.v9-launcher-close{margin-left:auto;color:#a297bb;border:1px solid #bc9afe55;border-radius:6px;cursor:pointer;padding:7px 9px;background:#211b30;font:700 10px Consolas,monospace}.v9-launcher input{width:calc(100% - 46px);margin:0 23px 13px;outline:none;padding:13px 15px;background:#0f0f1b;border:1px solid #a18bcc75;border-radius:9px;color:#faf6ff;font:500 17px 'Space Grotesk',sans-serif}.v9-launcher input:focus{border-color:#d3b9ff;box-shadow:0 0 0 3px #b99aff20}.v9-launcher-results{padding:4px 12px 14px;max-height:min(48vh,350px);overflow-y:auto}.v9-launcher-item{width:100%;border:0;color:#e2d7f5;padding:12px;display:flex;align-items:center;text-align:left;gap:15px;border-radius:9px;background:transparent;cursor:pointer;font:500 13px 'Space Grotesk',sans-serif}.v9-launcher-item span{font:700 10px Consolas,monospace;color:#9f8cc5}.v9-launcher-item b{font-weight:650}.v9-launcher-item i{font-style:normal;margin-left:auto;color:#9985bc}.v9-launcher-item[aria-selected=true],.v9-launcher-item:hover{background:#775bb045}.v9-launcher-empty{font:400 13px 'DM Sans',sans-serif;color:#ab9dbb;padding:17px}.v9-launcher-foot{display:flex;gap:20px;border-top:1px solid #a18ac631;padding:14px 22px;color:#80768e;font:700 9px Consolas,monospace}.v9-launcher-foot>span{display:flex;gap:8px}.v9-launcher-foot span span{color:#b8a9cb}@keyframes v9-launch-in{from{opacity:0;filter:blur(10px);transform:translateY(17px) scale(.97)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
/* Very subtle signature ambient accents; keep content legible. */
.v9-quest .v9-chapter.is-active:before{content:"";position:absolute;left:-60%;width:35%;height:190%;top:-45%;background:linear-gradient(90deg,transparent,#f7e3ff14,transparent);transform:rotate(22deg);animation:v9-shine 4.5s ease-in-out infinite;pointer-events:none;z-index:4}@keyframes v9-shine{0%,55%{left:-60%}100%{left:155%}}
.v9-chapter:hover .v9-card-level{color:#9ce8dd}.v9-quest-tiny-dot{animation:v9-pulse 3s ease-in-out infinite}@keyframes v9-pulse{50%{opacity:.3}}
@media(max-width:1050px){.v9-quest-intro{padding:29px 23px 23px}.v9-chapters{gap:8px}.v9-world{padding:0 17px 19px}.v9-chapter-info{padding:16px 12px 23px}.v9-quest-detail{grid-template-columns:110px 1fr auto;padding:20px}.v9-now-strip{align-items:flex-start;flex-direction:column;gap:16px}.v9-now-items{width:100%;justify-content:flex-start}}
@media(max-width:760px){.v9-quest-top{padding:0 15px;font-size:8px}.v9-quest-battery,.v9-quest-level{display:none}.v9-quest-intro{align-items:start;flex-direction:column}.v9-quest-intro h3{font-size:31px}.v9-quest-counter{text-align:left}.v9-chapters{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.v9-chapter-info{min-height:116px}.v9-chapter-info strong{font-size:18px}.v9-world-road{display:none}.v9-quest-detail{grid-template-columns:1fr auto;gap:12px}.v9-quest-detail-key{grid-column:1/-1}.v9-quest-detail-body h4{font-size:20px}.v9-quest-detail-body p{font-size:12px}.v9-quest-controls{align-self:center}.v9-quest-footer span:last-child{display:none}.v9-now-items{flex-direction:column;gap:18px}.v9-quicknav{padding:8px}.v9-quicknav kbd{display:none}}
@media(max-width:450px){.v9-quest{border-radius:14px}.v9-quest-intro h3{font-size:26px}.v9-world{padding:0 10px 13px}.v9-chapters{gap:7px}.v9-card-level{font-size:8px}.v9-chapter-info strong{font-size:16px}.v9-chapter-info small{font-size:8px}.v9-period{font-size:9px}.v9-chapter-info{min-height:118px}.v9-quest-detail{padding:18px 14px}.v9-quest-footer{font-size:8px;padding:14px}.v9-process-option{padding:7px 8px;font-size:8px}.v9-path-label{width:100%}.v9-telemetry{padding:12px}.v9-telemetry strong{font-size:9px}.v9-quicknav>span:nth-child(2){display:none}.v9-now-strip{padding:18px}.v9-now-items b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.v9-quest *, .v9-quicknav,.v9-launcher{animation:none!important;transition-duration:.01ms!important}.v9-chapter:hover{transform:none}.v9-quest .v9-chapter.is-active:before{display:none}}
.v9-story-identity{position:relative;margin-left:auto;margin-right:15px;color:#9ee6dc;font:700 9px Consolas,monospace;letter-spacing:1px}
@media(max-width:580px){.v9-story-identity{display:none}}

.v9-quest-particle{position:absolute;z-index:20;pointer-events:none;display:block;width:5px;height:5px;background:#a7f4e4;box-shadow:0 0 12px #9ee3e4;opacity:0}

/* v13.css */
/* ENES / V13 — a single intentional design layer. Earlier V10/V11 overrides are not loaded. */
:root{--v13-ink:#0a090e;--v13-lilac:#c2adff;--v13-mint:#9eeadb;--v13-line:#ffffff25;--v13-ease:cubic-bezier(.18,.82,.16,1)}
html{scroll-padding-top:90px;scrollbar-width:thin;scrollbar-color:#816ac6 #100d16}
body{background:#0a090e}
body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:#100d16}body::-webkit-scrollbar-thumb{border:2px solid #100d16;border-radius:40px;background:linear-gradient(#987fe5,#91ccd2)}
.page-progress{top:75px!important;height:2px!important;border-radius:10px;z-index:89!important;box-shadow:0 0 14px #ae8fff77;background:linear-gradient(90deg,#926adf,#f1e7ff,#a1eee4)!important}
.site-nav{width:min(calc(100% - 36px),860px)!important;height:58px!important;top:12px!important;padding:8px 10px 8px 20px!important;gap:15px!important;left:50%!important;transform:translateX(-50%)!important;box-shadow:0 12px 35px #0009,inset 0 1px #ffffff0a!important;background:#1b1723d9!important;border:1px solid #cec0ff34!important;backdrop-filter:blur(23px)!important}
.brand{font-size:25px!important;letter-spacing:-2.8px!important;flex-shrink:0}.nav-links{display:flex!important;gap:clamp(13px,2.2vw,25px)!important}.nav-links a{font-size:11px!important;white-space:nowrap}.nav-contact{border-radius:22px!important;background:#e9ddff!important;color:#20172c!important;gap:8px!important;padding:10px 14px!important;white-space:nowrap}.lang-toggle{padding:7px!important;border:1px solid #ffffff18!important;background:#1a1623!important;color:#eee8f8!important;border-radius:15px!important;font-size:10px!important;min-width:60px}
.v9-quicknav,.v10-nav-cluster,.v10-command,.v10-mode,.v9-launcher-backdrop,.v6-chapter-nav{display:none!important}

/* 01 / THE CINEMATIC STAGE */
.v13-hero{position:relative;min-height:850px;min-height:100svh;overflow:hidden;padding:0!important;background:#020306!important;isolation:isolate;color:#f7f6f8}
.v13-hero-art{position:absolute;inset:-1.5%;background-image:url('assets/orb-cinematic.webp');background-position:center 7%;background-size:cover;background-repeat:no-repeat;transform:translate3d(var(--orb-pan-x,0px),var(--orb-pan-y,0px),0) scale(1.028);will-change:transform;transition:transform .22s ease-out;z-index:-3}
.v13-hero-haze{position:absolute;inset:0;background:linear-gradient(90deg,#030406 0%,#030406ba 8%,#0008 23%,transparent 37%,transparent 62%,#0007 76%,#030406d6 96%),linear-gradient(180deg,#000c 0%,transparent 24%,transparent 68%,#03030663 100%);z-index:-2;pointer-events:none}
.v13-orb-halo{position:absolute;left:50%;top:44%;width:min(33vw,450px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 90px #b4d5ff17,0 0 140px #bd80ef10;pointer-events:none;z-index:-1;animation:v13-halo 7s ease-in-out infinite alternate}
.v13-orb-glint{position:absolute;left:50%;top:40%;width:18%;height:24%;transform:translate(-50%,-50%);background:radial-gradient(circle,#ffffff17,transparent 68%);filter:blur(38px);mix-blend-mode:screen;pointer-events:none;animation:v13-light 9s ease-in-out infinite alternate}
.v13-legacy{display:none!important}
.v13-hero-layout{position:relative;min-height:calc(100svh - 100px);min-height:750px;max-width:1520px;margin:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.8fr);align-items:center;gap:30%;padding:112px clamp(30px,5vw,86px) 110px;z-index:3}
.v13-hero-left{min-width:0;max-width:530px;margin-top:4%;text-shadow:0 2px 22px #000c}
.v13-micro{color:#9d95a8;letter-spacing:.25em;font:700 10px/1.6 'Space Grotesk','DM Sans',monospace;text-transform:uppercase}
.v13-hero-left .v13-micro{display:flex;align-items:center;gap:11px;color:#d2bfff}
.v13-hero-left .v13-micro:before{content:'';width:29px;height:1px;background:#c7b3f4}
.v13-hero h1{font-size:initial!important;white-space:normal!important;font-family:'Space Grotesk','DM Sans',Arial,sans-serif!important;letter-spacing:normal!important;line-height:1.05!important;display:flex!important;flex-direction:column!important;align-items:start!important;gap:7px!important;margin:21px 0 18px!important;font-weight:500!important}
.v13-hero-serif{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(52px,5.3vw,90px);font-weight:400;letter-spacing:-.075em;line-height:1.03;white-space:nowrap}
.v13-hero-role{font-family:Impact,'Arial Narrow','Space Grotesk',sans-serif;text-transform:uppercase;font-size:clamp(55px,5.2vw,87px);font-stretch:condensed;font-weight:750;line-height:.99;letter-spacing:-.045em;white-space:nowrap}
.v13-hero-degree{font:600 11px/1.7 'Space Grotesk',Consolas,monospace;letter-spacing:.13em;color:#a9a2b6;max-width:450px}
.v13-hero-cta{display:flex;align-items:center;flex-wrap:wrap;gap:23px;margin-top:35px}
.v13-hero-cta a:first-child{padding:15px 19px;border-radius:999px;background:linear-gradient(120deg,#f2e9ff,#c7b6fa);color:#18121d;font-size:12px;font-weight:800;transition:transform .3s,box-shadow .3s}
.v13-hero-cta a:first-child:hover{transform:translateY(-4px);box-shadow:0 12px 30px #bba2ff4b}
.v13-hero-cta-sub{color:#e5dff0;border-bottom:1px solid #b4a8c7;padding-bottom:6px;font-size:12px;font-weight:650}
.v13-hero-right{display:flex;gap:22px;align-items:start;justify-self:end;margin-top:17%;max-width:320px;text-shadow:0 3px 15px #000}
.v13-intro-rule{margin-top:12px;width:35px;height:1px;background:#d1c4da;flex:none}.v13-hero-right .v13-micro{color:#d5c3ff}
.v13-hero-right p{font-size:clamp(15px,1.25vw,18px);line-height:1.75;color:#f1eaf9;font-weight:500;margin:13px 0 15px;max-width:320px}
.v13-intro-meta{font:700 10px/1.6 Consolas,monospace;letter-spacing:.12em;color:#8b8893;text-transform:uppercase}
.v13-hero-foot{position:absolute;left:clamp(30px,5vw,86px);right:clamp(30px,5vw,86px);bottom:21px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;font:750 9px/1.6 Consolas,monospace;letter-spacing:.18em;color:#a6a1ae;text-shadow:0 2px 10px #000}.v13-hero-foot a{color:#e6d8ff;transition:color .25s}.v13-hero-foot a:hover{color:#fff}
@keyframes v13-halo{to{box-shadow:0 0 85px #b7defb20,0 0 160px #cc91e517;transform:translate(-50%,-50%) scale(1.045)}}
@keyframes v13-light{to{opacity:.4;transform:translate(-44%,-56%) scale(1.12)}}

/* 02 / EDITORIAL RHYTHM AND CLEAN TYPOGRAPHY */
.about,.expertise,.journey{isolation:isolate}
.about-prose p.opening{font:500 clamp(22px,2.15vw,31px)/1.5 'Space Grotesk','DM Sans',sans-serif!important;letter-spacing:-.046em!important}
.about h2,.work h2,.expertise h2,.journey h2{letter-spacing:-.07em!important}
.value-grid article{transition:transform .4s var(--v13-ease),background .4s}.value-grid article:hover{transform:translateY(-6px)}
.work{background:#100e18!important}.project-visual{border-radius:7px;transition:box-shadow .4s var(--v13-ease)}.project:hover .project-visual{box-shadow:0 28px 45px #1b132c33}

/* V13 Pokeball controller removed. V14 owns the animation. */

/* 04 / PIXEL-ENES SCROLL STORY — tangible steps and station descriptions */
.v8-scroll-story{height:285vh!important;background:#0b0a13!important}
.v8-scroll-stage{background:radial-gradient(ellipse at 50% 52%,#221836 0%,#0b0a13 62%)!important}
.v8-story-shell{gap:20px!important}
.v8-pixel-frame{box-shadow:0 35px 85px #000b,0 0 0 1px #ffffff08 inset!important}
.v8-pixel-canvas{opacity:1!important;display:block!important;image-rendering:pixelated!important}
.v8-pixel-stage{overflow:hidden!important;position:relative;isolation:isolate}
.v8-story-phases{padding-top:10px;gap:12px!important;align-items:center}
.v8-story-phases span{cursor:pointer;border:1px solid #a28de82d;padding:11px 15px;border-radius:9px;font-size:10px;letter-spacing:.08em!important;transition:background .3s,border-color .3s,color .3s,transform .3s}
.v8-story-phases span.is-active{background:#44305f89!important;border-color:#b394e4b0;color:#f6f1ff!important}
.v8-story-progress{height:4px!important;background:#7c67a029!important;margin-top:16px;margin-bottom:0!important}
.v8-story-progress-marker{top:-5px!important}
.v8-story-bottom{gap:8px!important}
.v13-story-insight{display:flex;align-items:center;gap:16px;border-radius:12px;border:1px solid #ad99d63b;background:linear-gradient(105deg,#1a1729c8,#171522b8);padding:14px 18px;min-height:70px;color:#e5dff0;box-shadow:inset 0 1px #ffffff0d}
.v13-story-step{font:800 11px Consolas,monospace;letter-spacing:.1em;color:#c8b4ff;white-space:nowrap}.v13-story-insight p{font-size:12px;line-height:1.55;color:#b4abc8;margin:0}.v13-story-insight strong{font-size:12px;color:#f1eaf9;display:block;margin-bottom:3px}
.v13-story-mission{color:#9ce8d5!important;font:700 10px/1.4 Consolas,monospace!important;white-space:nowrap;margin-left:auto}
.v13-pixel-transition{position:relative;min-height:205px;overflow:hidden;background:linear-gradient(180deg,#0b0a13,#13111b 40%,#f3f0f1);display:flex;justify-content:center;align-items:center}
.v13-pixel-transition h3{z-index:3;position:relative;font:500 clamp(24px,4vw,52px)/1.15 Georgia,serif;font-style:italic;color:#f3e8ff;text-shadow:0 5px 20px #0009;letter-spacing:-.04em;transition:opacity .4s}
.v13-transition-tiles{position:absolute;inset:0;display:grid;grid-template-columns:repeat(32,1fr);grid-template-rows:repeat(7,1fr);opacity:.9;pointer-events:none}
.v13-transition-tiles span{opacity:var(--tile-opacity,.2);background:var(--tile-color,#ac91dc);transition:opacity .3s}

/* 05 / CASE STUDIES */
.project-dialog{width:min(1140px,96vw)!important;max-height:92vh!important}
.project-dialog-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1fr)!important}
.dialog-image{min-height:610px!important}
.v13-case-meta{margin:19px 0 25px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v13-case-meta article{border:1px solid #ffffff19;background:linear-gradient(145deg,#201c2c,#171420);padding:16px;border-radius:13px;min-width:0}
.v13-case-meta article span{display:block;color:#c0ace5;letter-spacing:.11em;font:750 9px Consolas,monospace;margin-bottom:9px;text-transform:uppercase}
.v13-case-meta article p{font-size:12px;line-height:1.65;color:#d3c9df;margin:0}
.v13-case-interactive{margin:18px 0 24px;border-radius:17px;border:1px solid #b79feb45;background:#151320;padding:17px}
.v13-case-title{display:flex;justify-content:space-between;gap:10px;color:#d4c4f4;font:750 10px Consolas,monospace;letter-spacing:.12em;padding-bottom:12px;border-bottom:1px solid #ffffff14;margin-bottom:15px}
.v13-case-interactive button{border:1px solid #bda7ef56;border-radius:9px;background:#332746;color:#f7efff;padding:9px 13px;font-size:12px;cursor:pointer;transition:background .2s,transform .2s}
.v13-case-interactive button:hover{background:#5b408c;transform:translateY(-2px)}
.v13-demo-result{min-height:38px;font:500 12px/1.65 'Space Grotesk',sans-serif;color:#d4cbe1}
.v13-demo-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.v13-demo-preview{padding:17px 15px;border-radius:12px;min-height:112px;background:#0b0d19;border:1px solid #ffffff12;margin-bottom:14px;color:#bfeada;font:700 11px/1.65 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.v13-mini-kanban{display:grid;grid-template-columns:1fr 1fr;gap:9px}.v13-mini-kanban>div{background:#272139;padding:13px;border-radius:8px;font-size:11px;color:#c9b6de}.v13-mini-kanban b{display:block;margin:7px 0;padding:8px;border-radius:6px;background:#675591;color:#fff;font-size:12px}
.v13-poke-orb{width:64px;height:64px;border-radius:50%;background:linear-gradient(#ec757f 0 45%,#292636 45% 55%,#fff5e4 55%);box-shadow:inset -6px -8px 12px #20142e4b;position:relative;margin:0 auto 10px;transform:rotate(-19deg)}.v13-poke-orb:after{content:'';position:absolute;left:calc(50% - 11px);top:calc(50% - 11px);width:22px;height:22px;border:6px solid #292636;border-radius:50%;background:#fff}
.v13-poke-orb.is-spinning{animation:v13-pokeball 2.35s cubic-bezier(.16,.84,.2,1) both}
.v13-case-eyebrow{font-size:10px;color:#9d87be;margin-top:5px}

/* 06 / TECHNOLOGY EVIDENCE */
.v13-evidence{margin:0 0 46px;border-radius:24px;overflow:hidden;border:1px solid #b8a2ff32;background:linear-gradient(135deg,#1e182b,#0e0c16);box-shadow:0 25px 65px #0006}
.v13-evidence-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px 28px;border-bottom:1px solid #ffffff14}
.v13-evidence-head h3{font:600 clamp(22px,2.4vw,32px)/1.2 'Space Grotesk','DM Sans',sans-serif;letter-spacing:-.04em;margin:6px 0 0}
.v13-evidence-head span{font:750 10px Consolas,monospace;letter-spacing:.14em;color:#b69bff}
.v13-evidence-main{display:grid;grid-template-columns:230px 1fr;min-height:295px}
.v13-evidence-nav{padding:18px;border-right:1px solid #ffffff14;display:flex;flex-direction:column;gap:8px}
.v13-evidence-nav button{font:700 12px 'Space Grotesk',sans-serif;text-align:left;border:1px solid transparent;background:#ffffff08;color:#aaa1b9;padding:14px;border-radius:10px;cursor:pointer;transition:background .3s,color .3s,transform .3s}
.v13-evidence-nav button[aria-selected=true],.v13-evidence-nav button:hover{color:#fff;background:#604a9e69;border-color:#b3a0e157;transform:translateX(3px)}
.v13-evidence-content{position:relative;padding:29px 30px;color:#e9e3f0;background:radial-gradient(circle at 90% 5%,#8865d327,transparent 37%)}
.v13-evidence-content h4{font-size:29px;line-height:1.15;letter-spacing:-.06em;margin:0 0 10px;color:#fff}.v13-evidence-content>p{font-size:13px;line-height:1.75;color:#bcb2cc;max-width:580px}
.v13-evidence-tags{display:flex;gap:8px;flex-wrap:wrap;margin:21px 0}.v13-evidence-tags span{padding:7px 10px;border:1px solid #bba6e347;color:#d7cbea;border-radius:999px;font:700 10px Consolas,monospace}
.v13-evidence-cases{display:flex;gap:10px;flex-wrap:wrap}.v13-evidence-cases button{border:1px solid #c8b6eb65;border-radius:9px;padding:10px 14px;background:#30243d;color:#f5edff;font-size:12px;cursor:pointer;transition:transform .2s}.v13-evidence-cases button:hover{transform:translateY(-3px);background:#554074}
.v13-evidence-caption{display:block;margin-top:23px;color:#9286a2;font:700 10px/1.6 Consolas,monospace;letter-spacing:.04em}

/* 07 / RECRUITER FIRST — calm and readable on mobile */
@media(max-width:1150px){.v13-hero-layout{gap:27%;grid-template-columns:1fr 1fr}.v13-hero-serif{font-size:clamp(46px,5.3vw,77px)}.v13-hero-role{font-size:clamp(46px,5vw,70px)}.v13-hero-right{max-width:260px}.v13-intro-rule{display:none}}
@media(max-width:900px){.site-nav{width:min(calc(100% - 26px),760px)!important}.nav-links{gap:13px!important}.nav-links a{font-size:10px!important}.page-progress{top:73px!important}.v13-hero-art{background-position:center 8%}.v13-hero-layout{min-height:770px;min-height:100svh;padding:138px 5% 65px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:20px}.v13-hero-left{margin:0;max-width:100%;text-align:left}.v13-hero-serif{font-size:clamp(49px,7.5vw,78px)}.v13-hero-role{font-size:clamp(49px,7vw,76px)}.v13-hero-right{max-width:390px;align-self:flex-end;margin-top:330px;padding:13px 16px;background:#030207ac;border-radius:12px;backdrop-filter:blur(6px)}.v13-hero-foot{font-size:9px}.dialog-image{min-height:500px!important}.project-dialog-grid{grid-template-columns:1fr!important}.dialog-image{min-height:300px!important;height:300px!important}}
@media(max-width:650px){.site-nav{width:calc(100% - 24px)!important;top:8px!important;height:56px!important;padding:6px 9px 6px 16px!important}.site-nav .nav-links{display:none!important}.nav-contact{margin-left:auto;font-size:10px!important;padding:10px 12px!important}.lang-toggle{min-width:54px}.page-progress{top:68px!important}.v13-hero{min-height:820px!important;min-height:100svh!important}.v13-hero-layout{min-height:820px;min-height:100svh;padding:118px 7% 80px}.v13-hero-art{background-position:50% 15%;filter:brightness(.9)}.v13-hero-haze{background:linear-gradient(180deg,#020204bb 0%,#020204ad 22%,#0000 40%,#0000 64%,#000b 78%,#010102f5 100%)}.v13-hero-left{margin:0}.v13-hero-serif{font-size:clamp(44px,9vw,65px)}.v13-hero-role{font-size:clamp(43px,10vw,65px)}.v13-hero-degree{font-size:9px}.v13-hero-cta{gap:17px;margin-top:20px}.v13-hero-right{align-self:stretch;margin:270px 0 0;max-width:none;display:block;background:#090711ba;border:1px solid #ffffff17;padding:16px;border-radius:12px}.v13-hero-right p{font-size:14px;margin:8px 0}.v13-hero-foot{left:7%;right:7%;bottom:12px}.v13-hero-foot span:last-child{display:none}.v13-story-insight{flex-wrap:wrap;gap:7px}.v13-story-mission{margin-left:0}.v8-story-phases{gap:5px!important}.v8-story-phases span{font-size:8px;padding:8px 5px}.v13-evidence-main{grid-template-columns:1fr}.v13-evidence-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #ffffff14;padding:12px}.v13-evidence-nav button{font-size:10px;white-space:nowrap;padding:11px}.v13-evidence-content{padding:24px 20px}.v13-evidence-head{padding:20px}.v13-evidence-head span{display:none}.v13-case-meta{grid-template-columns:1fr 1fr;gap:7px}.v13-case-meta article{padding:11px}.project-dialog{width:97vw!important}.v13-pixel-transition{min-height:145px}.v13-pixel-transition h3{font-size:27px}}
@media(max-width:400px){.v13-hero-serif{font-size:43px}.v13-hero-role{font-size:43px}.v13-hero-right{margin-top:220px}.v13-case-meta{grid-template-columns:1fr}.v13-hero-cta a:first-child{padding:12px 15px}}
@media(prefers-reduced-motion:reduce){.v13-orb-halo,.v13-orb-glint,.v13-poke-orb.is-spinning,.project:hover .project-visual.pokedex .pokeball,.project-visual.pokedex.v13-spin .pokeball,.dialog-image .project-visual.pokedex.v13-spin .pokeball{animation:none!important}.v13-hero-art{transform:none!important;transition:none!important}.v13-transition-tiles span{transition:none}}

/* V13 final visual calibration: keep the visual object and editorial copy in separate zones. */
@media(min-width:901px){
.v13-hero-art{background-size:min(80vw,1140px) auto;background-position:center 117px}
.v13-hero-layout{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:0!important;padding-left:clamp(36px,4vw,76px)!important;padding-right:clamp(36px,4vw,76px)!important}
.v13-hero-left{flex:0 1 410px;max-width:410px!important;min-width:0;margin-top:6%!important}
.v13-hero-right{flex:0 0 258px;max-width:258px!important;margin-top:9%!important;align-self:center}
.v13-hero-serif{font-size:clamp(51px,4.15vw,70px)!important}
.v13-hero-role{font-size:clamp(50px,4.08vw,69px)!important;letter-spacing:-.05em!important}
.v13-hero-degree{font-size:10px!important}
}
@media(max-width:900px){
.v13-hero-art{background-size:980px auto;background-position:center 150px}
}
@media(max-width:650px){
.v13-hero-art{background-size:805px auto!important;background-position:center 206px!important}
.v13-hero-layout{justify-content:space-between!important}
.v13-hero-right{margin-top:auto!important;margin-bottom:17px!important}
.v13-hero-serif{font-size:clamp(42px,9vw,65px)!important}
.v13-hero-role{font-size:clamp(42px,9.2vw,65px)!important}
}
@media(min-height:750px){
.v8-story-shell{padding-top:24px!important;padding-bottom:20px!important;gap:14px!important;justify-content:center}
.v8-story-heading h2{font-size:clamp(38px,4.2vw,58px)!important;margin:8px 0!important}
.v8-story-heading{flex:0 0 auto!important}
.v8-pixel-frame{flex:0 0 auto!important}
.v8-pixel-canvas{height:290px!important;aspect-ratio:auto!important;object-fit:fill!important}
.v13-story-insight{flex:0 0 auto!important;min-height:58px!important;padding:11px 16px!important}
.v8-story-phases{padding-top:4px!important}
.v8-story-progress{margin-top:7px!important}
}
@media(max-width:650px){
.v8-pixel-canvas{height:auto!important;aspect-ratio:800/270!important}
.v8-story-shell{gap:13px!important}
.v8-story-heading h2{font-size:clamp(36px,9vw,52px)!important}
.v13-story-insight{padding:11px 12px!important}
}
.v13-hero{display:block!important}
.v13-hero-layout{width:100%!important}

@media(min-width:901px){.v13-hero-art{background-position:calc(50% + 36px) 117px}}
@media(min-width:901px) and (max-width:1150px){
 .v13-hero-art{background-size:860px auto;background-position:center 182px}
 .v13-hero-layout{align-items:flex-start!important;padding-top:145px!important}
 .v13-hero-left{margin-top:0!important}
 .v13-hero-right{align-self:flex-end!important;margin:0 0 95px 0!important;max-width:240px!important;flex-basis:240px}
 .v13-hero-serif{font-size:50px!important}
 .v13-hero-role{font-size:49px!important}
}
/* Put the career character and its rail on the pixel-world ground. */
.v9-world-road{top:auto!important;bottom:26px!important;height:3px!important}
.v9-avatar-rail{top:-32px!important}
.v9-avatar-head{box-shadow:0 -4px #644023,3px 1px #644023,-3px 1px #644023!important}
.v9-avatar-head:before{content:"";position:absolute;top:-4px;left:1px;width:11px;height:5px;background:#644023}

/* v14.css */
/* V14 — carefully scoped corrections; earlier animation controllers for the Hero, Retro Story and Pokeball are disabled. */
:root{--v14-iris:#b296f5;--v14-iris-light:#d4c1ff;--v14-ink:#0b0a12}
html{scrollbar-width:thin;scrollbar-color:#b69dfa #15101d}
body{background:#09080f!important}
body::-webkit-scrollbar{width:12px;background:#111018}
body::-webkit-scrollbar-track{background:#100d17;border-left:1px solid #ffffff12}
body::-webkit-scrollbar-thumb{border:3px solid #100d17;border-radius:18px;background:linear-gradient(180deg,#d8cbff,#9e81ee 53%,#94c8dc);box-shadow:0 0 18px #ac91f95a}
body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#e8dfff,#bcaaff 45%,#a1e8e3)}
body::-webkit-scrollbar-button{display:none;height:0;width:0}

/* liquid-glass navigation - refractive highlight only responds to the cursor inside the header */
.site-nav{width:min(calc(100% - 34px),795px)!important;height:60px!important;top:12px!important;background:linear-gradient(125deg,#e7d8ff19,#ffffff06 36%,#c6adff12 65%,#130e1fcf)!important;border:1px solid #e5d4ff55!important;box-shadow:0 20px 65px #000b,0 0 0 1px #ffffff0b inset,0 1px 12px #bba4ff20 inset!important;backdrop-filter:blur(28px) saturate(160%)!important;-webkit-backdrop-filter:blur(28px) saturate(160%)!important;isolation:isolate;transition:box-shadow .35s,border-color .35s!important}
.site-nav:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(250px circle at var(--nav-glow-x,50%) var(--nav-glow-y,0%),#ffffff30,transparent 70%);opacity:.85;transition:opacity .35s}
.site-nav:after{content:"";position:absolute;left:26px;right:26px;top:0;height:1px;border-radius:100%;background:linear-gradient(90deg,transparent,#f9f2ff95,transparent);pointer-events:none}
.site-nav:hover{border-color:#e9d7ff81!important;box-shadow:0 22px 70px #000b,0 1px 25px #bba8f21c inset!important}
.site-nav .nav-links{gap:20px!important}
.site-nav .nav-links a{transition:color .25s,transform .3s;letter-spacing:.04em}
.site-nav .nav-links a:hover{transform:translateY(-2px);color:#fff!important}
.site-nav .brand{font-size:27px!important}
.nav-contact{background:linear-gradient(130deg,#eadeff,#bea4ff)!important;box-shadow:inset 0 1px #fff8,0 5px 16px #9c7de43b;border:1px solid #ffffff55;border-radius:999px!important}
.lang-toggle{border-radius:999px!important;background:#ffffff11!important;border:1px solid #ffffff28!important}
.page-progress{top:79px!important;height:2px!important;box-shadow:0 0 10px #bea2ff66!important}

/* Hero — independently animated sphere, live reflection, edge-to-edge wet surface */
.v13-hero{background:#020207!important;isolation:isolate;min-height:max(795px,100svh)!important}
.v13-hero-art,.v13-orb-halo,.v13-orb-glint{display:none!important}
.v14-stage{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 39%,#3621491b,transparent 43%),linear-gradient(#010104,#04030a 65%,#090811)}
.v14-floor{position:absolute;bottom:0;left:0;width:100%;height:34%;min-height:260px;background-image:linear-gradient(180deg,#040408bd 0%,#08060a1f 15%,transparent 35%,#01010455 100%),url('assets/wet-floor.webp');background-repeat:no-repeat;background-position:center center;background-size:100% 100%;filter:brightness(.86) saturate(1.17);z-index:1}
.v14-floor::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#01010666,transparent 25%,transparent 75%,#01010666),linear-gradient(180deg,#040408,transparent 19%,transparent 88%,#03020777)}
.v14-orb-shadow{position:absolute;top:71%;left:50%;width:min(33vw,450px);height:34px;transform:translateX(-50%);border-radius:50%;background:#010104;filter:blur(26px);opacity:.76;z-index:2}
.v14-orb-rig{position:absolute;left:50%;top:45%;width:clamp(280px,36.7vw,520px);aspect-ratio:1;transform:translate(-50%,-50%) translate3d(var(--mouse-x,0px),calc(var(--mouse-y,0px) + var(--float-y,0px)),0);filter:drop-shadow(0 0 22px #bda9ff48) drop-shadow(0 0 54px #a883e92a);will-change:transform;z-index:4}
.v14-orb-rig canvas{display:block;width:100%;height:100%}
.v14-reflection-wrap{position:absolute;left:50%;top:72%;width:clamp(260px,34vw,500px);aspect-ratio:1;transform:translateX(-50%) scaleY(-1) skewX(1deg);filter:blur(2.5px) saturate(1.25);opacity:.46;mask-image:linear-gradient(0deg,transparent 7%,#000 85%,#000 100%);-webkit-mask-image:linear-gradient(0deg,transparent 7%,#000 85%,#000 100%);z-index:3;mix-blend-mode:screen}.v14-reflection{display:block;width:100%;height:100%}
.v13-hero-haze{z-index:1!important;background:linear-gradient(90deg,#030207f2 0%,#05040a89 22%,transparent 37%,transparent 63%,#04030999 83%,#020206ee 100%),linear-gradient(180deg,#020204e8 0%,transparent 24%,transparent 70%,#04020751 100%)!important}
.v13-hero-layout{z-index:7!important;pointer-events:none}
.v13-hero-layout a,.v13-hero-layout button{pointer-events:auto}
.v13-hero-left{overflow:visible!important}
.v13-hero-serif,.v13-hero-role{display:inline-block;transition:filter .35s,translate .45s cubic-bezier(.17,.8,.2,1),color .35s;cursor:default}
.v13-hero-serif:hover{translate:0 -7px;filter:drop-shadow(0 8px 22px #c4a4ff7c);color:#fff}
.v13-hero-role{color:#b59bff!important;text-shadow:0 8px 40px #8b6fff35}
.v13-hero-role:hover{translate:0 -6px;color:#e4d8ff!important;filter:drop-shadow(0 0 18px #ac86ff5a)}
.v13-hero-degree{transition:color .3s,letter-spacing .4s}.v13-hero-degree:hover{color:#ded1f8!important;letter-spacing:.17em}
.v13-hero-right p{transition:color .3s,transform .4s}.v13-hero-right:hover p{color:#fff;transform:translateX(4px)}
.v13-hero-foot{pointer-events:none}.v13-hero-foot a{pointer-events:auto}

/* Projects: restore dark visual rhythm from the rest of the site */
.work{background:radial-gradient(ellipse at 82% 15%,#39264e40,transparent 44%),linear-gradient(180deg,#100e18,#15111f 53%,#100e18)!important;color:#f4eef9!important}
.work .section-meta{border-color:#ffffff26!important;color:#b6a0f7!important}.work .section-meta span:last-child{color:#9489a3!important}
.work h2,.work .project-caption h3{color:#f5eefc!important}.work h2 em{color:#baa0ff!important}.work .split-head>p,.work .project-caption p{color:#b3aabe!important}.work .project-caption>span{color:#988baa!important}.work .full-link{border-color:#ffffff2a!important;color:#e8dbfa!important}.work .full-link:hover{color:#c5a9ff!important}
.project-visual{border-radius:13px!important;transform-style:preserve-3d}

/* Modal is one screen on desktop: no nested user scroll and no extra UI study. */
.project-dialog{width:min(970px,96vw)!important;max-width:970px!important;max-height:min(690px,86dvh)!important;overflow:hidden!important;border-radius:20px!important}
.project-dialog-grid{grid-template-columns:43% 57%!important;min-height:0!important;height:100%!important}
.dialog-image{min-height:0!important;height:auto!important;overflow:hidden!important}
.dialog-image .project-visual{min-height:100%!important;height:100%!important;pointer-events:none!important}
.dialog-content{padding:33px 35px 27px!important;min-width:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;gap:0}
.project-dialog .dialog-content>h2{font-size:clamp(33px,3.7vw,54px)!important;line-height:1!important;margin:15px 0 11px!important}
.project-dialog .dialog-summary{font-size:13px!important;line-height:1.55!important;margin:0 0 12px!important;color:#cbbdde!important}
.dialog-section{padding-top:12px!important;margin-top:11px!important}
.dialog-section h3{margin-bottom:7px!important;font-size:9px!important}
.dialog-section p{font-size:12px!important;line-height:1.55!important;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.dialog-section ul{font-size:11px!important;line-height:1.45!important;gap:3px!important;margin-bottom:0!important}
.dialog-section li:nth-child(n+3){display:none!important}
.project-dialog .dialog-tags{margin:14px 0!important;gap:5px!important}
.project-dialog .dialog-tags span{padding:5px 9px!important;font-size:10px!important}
.project-dialog .dialog-actions{margin-top:auto;padding-top:12px!important}
.project-dialog .dialog-link{padding:10px 14px!important}
.v13-case-meta,.v13-case-interactive{display:none!important}
.project-dialog .dialog-close{position:absolute!important;top:11px!important;right:11px!important;z-index:12!important}

/* Pokeball: remove conflicting transform interpolation. Only one keyframe + one playback controller. */
.project-visual.pokedex .pokeball,.dialog-image .project-visual.pokedex .pokeball{animation:none!important;translate:none!important;rotate:none!important;transform:rotate(-19deg);transition:none!important;transform-origin:center center!important;will-change:transform}
.project-visual.pokedex.v14-spinning .pokeball,.dialog-image .project-visual.pokedex.v14-spinning .pokeball{animation:v14-pokeball-spin 1.75s cubic-bezier(.32,.08,.24,1) 1 both!important}
@keyframes v14-pokeball-spin{0%{transform:rotate(-19deg)}100%{transform:rotate(701deg)}}

/* Game-like career character, grounded on the track */
.v9-world-road{bottom:26px!important;top:auto!important}
.v9-avatar-rail{top:auto!important;bottom:3px!important;width:43px!important;height:59px!important;transform:translateX(-50%)!important;background:url('assets/pixel-enes-0.png') center bottom/contain no-repeat!important;image-rendering:pixelated;filter:drop-shadow(0 2px #141020) drop-shadow(0 0 4px #9f87e0)!important;animation:v14-quest-walk .7s steps(1,end) infinite;transition:left 1.05s cubic-bezier(.22,.75,.2,1)!important}
.v9-avatar-rail>*{display:none!important}
@keyframes v14-quest-walk{50%{background-image:url('assets/pixel-enes-1.png')}}
.v9-now-strip{padding:20px 27px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;flex-wrap:wrap}
.v9-now-items{display:flex!important;align-items:center!important;gap:12px!important;width:auto!important}
.v9-now-items>div:not(.v14-current-role){display:none!important}
.v14-current-role{display:flex;gap:12px;align-items:center;color:#faf3ff}.v14-current-role strong{font-size:16px;letter-spacing:-.035em}.v14-current-role small{color:#ab9aca;font-size:11px}

/* Minimal standalone scrollbar cue on the side, no intrusive chapter dots */
.v14-scroll-cue{position:fixed;right:22px;top:45%;display:flex;flex-direction:column;align-items:center;gap:12px;z-index:85;pointer-events:none;opacity:.9}
.v14-scroll-cue b{font:750 9px Consolas,monospace;letter-spacing:.12em;color:#c7b3f9}
.v14-scroll-cue-track{width:3px;height:118px;border-radius:99px;background:#ffffff26;overflow:hidden}
.v14-scroll-cue-track i{display:block;width:100%;height:0;background:linear-gradient(180deg,#bba1ff,#90dddf);border-radius:99px;box-shadow:0 0 12px #a98afa}
@media(max-width:1100px){.v14-scroll-cue{display:none}}
@media(max-width:900px){.v13-hero{min-height:820px!important}.v14-orb-rig{top:46%;width:clamp(300px,46vw,445px)}.v14-reflection-wrap{top:70%;width:clamp(300px,46vw,440px)}.v14-floor{height:39%;min-height:300px}.v13-hero-layout{padding-bottom:80px!important}.project-dialog{max-height:90dvh!important}.project-dialog-grid{grid-template-columns:1fr!important;grid-template-rows:220px 1fr!important}.dialog-image{height:220px!important}.dialog-image .project-visual{height:220px!important;min-height:220px!important}.dialog-content{padding:24px 25px!important}.dialog-section:nth-of-type(2){display:none!important}.project-dialog .dialog-content>h2{margin:11px 0!important}}
@media(max-width:650px){.site-nav{width:calc(100% - 23px)!important}.v14-orb-rig{width:clamp(240px,70vw,370px);top:48%}.v14-floor{height:33%;min-height:275px}.v14-reflection-wrap{top:73%;width:clamp(220px,62vw,360px)}.v14-orb-shadow{top:70%}.v13-hero-layout{padding-top:115px!important}.v13-hero-left{position:relative;z-index:8}.v13-hero-role{color:#b29aff!important}.v13-hero-right{margin-top:auto!important;position:relative;z-index:8}.project-dialog{max-height:94dvh!important}.project-dialog-grid{grid-template-rows:170px 1fr!important}.dialog-image,.dialog-image .project-visual{height:170px!important;min-height:170px!important}.dialog-image .project-visual strong{font-size:46px!important}.dialog-content{padding:17px 18px!important}.project-dialog .dialog-content>h2{font-size:34px!important}.dialog-section{padding-top:8px!important;margin-top:7px!important}.dialog-section p{-webkit-line-clamp:3}.project-dialog .dialog-tags{margin:9px 0!important}.v9-now-strip{padding:18px!important}.v14-current-role{gap:7px!important}.v14-current-role strong{font-size:14px!important}}
@media(prefers-reduced-motion:reduce){.v14-orb-rig,.v9-avatar-rail,.v13-hero-serif,.v13-hero-role{animation:none!important;transition:none!important}.v13-hero-serif:hover,.v13-hero-role:hover{translate:none!important}.project-visual.pokedex.v14-spinning .pokeball{animation:none!important;transform:rotate(-19deg)!important}}

/* Explicit story state: labels and progress now describe the same continuous path. */
.v8-scroll-story{height:270vh!important}
.v8-pixel-stage{background:#091225!important}
.v8-pixel-canvas{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:800/270!important;object-fit:contain!important}
.v8-story-shell{max-height:none!important;gap:12px!important;padding-top:25px!important;padding-bottom:22px!important}
.v8-story-heading h2{font-size:clamp(35px,4.5vw,58px)!important;line-height:1.05!important;margin:7px 0!important}
.v8-story-heading .v8-scene-description{font-size:12px!important}
.v8-story-progress{margin:12px 0 0!important;height:4px!important}
.v8-story-phases{padding-top:5px!important}
.v8-story-phases span{border-radius:8px;padding:8px 14px!important}
.v8-story-phases span.is-active{background:#3b2f57!important}
.v13-story-insight{display:none!important}
.v14-story-info{display:flex;align-items:center;gap:19px;background:linear-gradient(110deg,#1c162b,#100e18);border:1px solid #bca2ff33;border-radius:11px;padding:13px 17px;min-height:57px}
.v14-story-info b{font-size:12px;color:#e1d3ff;letter-spacing:-.01em;white-space:nowrap}
.v14-story-info span{font-size:11px;color:#b1a7c0;line-height:1.5}
.v14-story-info em{font:700 9px Consolas,monospace;white-space:nowrap;margin-left:auto;color:#9ce9da;font-style:normal}
@media(max-width:750px){.v14-story-info{flex-wrap:wrap;gap:6px;padding:10px 12px}.v14-story-info b{font-size:11px}.v14-story-info span{flex-basis:100%;font-size:10px}.v14-story-info em{display:none}.v8-story-shell{gap:11px!important;padding-top:28px!important;padding-bottom:22px!important}.v8-story-heading h2{font-size:clamp(32px,8vw,52px)!important}.v8-story-phases span{padding:8px!important}}
@media(max-height:740px) and (min-width:651px){.v8-story-shell{gap:7px!important;padding-top:12px!important;padding-bottom:10px!important}.v8-pixel-canvas{max-height:30vh!important}.v14-story-info{min-height:48px;padding:8px 12px}.v8-story-heading h2{font-size:clamp(32px,4.2vw,48px)!important}.v8-story-top{padding-bottom:8px!important}}

/* V14 final Pokéball authority: override *all* legacy V13 hover selectors. */
.project:hover .project-visual.pokedex .pokeball,
.project:focus-visible .project-visual.pokedex .pokeball,
.project-visual.pokedex .pokeball,
.project-visual.pokedex.v13-spin .pokeball,
.dialog-image .project-visual.pokedex.v13-spin .pokeball,
.dialog-image .project-visual.pokedex .pokeball {animation:none!important; transform:rotate(-19deg)!important;}
.project:hover .project-visual.pokedex.v14-spinning .pokeball,
.project:focus-visible .project-visual.pokedex.v14-spinning .pokeball,
.project-visual.pokedex.v14-spinning .pokeball,
.dialog-image .project-visual.pokedex.v14-spinning .pokeball{animation:v14-pokeball-spin 1.8s cubic-bezier(.21,.77,.27,1) 1 both!important;}
/* Orb placement and full-bleed floor: keep the stage centered regardless of viewport width */
.v14-floor{background-size:cover!important;background-position:50% 36%!important;width:100vw!important;left:50%!important;transform:translateX(-50%)!important}
.v13-hero-role{color:#b396ff!important}
.v13-hero-left h1{overflow:visible!important}
@media(min-width:901px){.v14-orb-rig{left:51%;top:44%}.v14-reflection-wrap{left:51%}}
@media(max-width:900px){.v14-reflection-wrap{left:50%}.v14-orb-rig{left:50%}}
@media(max-width:650px){.v14-scroll-cue{display:none}}

/* Guaranteed high-quality poster while WebGL initializes or if it is unavailable. */
.v14-orb-rig .v14-orb-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;z-index:1;opacity:1;transition:opacity .8s ease;filter:saturate(1.09) drop-shadow(0 0 12px #ac83f932)}
.v14-orb-rig .v14-orb-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;opacity:0;transition:opacity .55s ease}
.v14-orb-rig.v14-webgl-ready .v14-orb-canvas{opacity:1}
.v14-orb-rig.v14-webgl-ready .v14-orb-poster{opacity:0}
/* Keep the sticky chapter heading clear of the fixed navigation. */
.v8-story-shell{padding-top:max(89px,10vh)!important;gap:9px!important;justify-content:center!important}
.v8-pixel-frame{width:min(100%,1080px)!important;margin-inline:auto!important}
.v8-story-heading h2{margin:4px 0 5px!important;font-size:clamp(36px,4.2vw,56px)!important}
.v8-story-heading .v8-scene-description{margin-top:5px!important}
.v8-story-progress{margin-top:7px!important}
@media(max-width:750px){.v8-story-shell{padding-top:86px!important;gap:9px!important}.v8-pixel-frame{width:100%!important}}
@media(max-height:760px) and (min-width:751px){.v8-story-shell{padding-top:78px!important;gap:7px!important}.v8-story-heading h2{font-size:clamp(32px,3.8vw,45px)!important}.v8-pixel-frame{max-width:920px!important}.v14-story-info{padding:9px 12px}}
/* Mobile editorial balance: text leads, orb remains visibly separate below the actions. */
@media(max-width:650px){
  .v14-orb-rig{top:53%!important;width:clamp(245px,72vw,350px)!important}
  .v14-reflection-wrap{top:74%!important;width:clamp(220px,63vw,350px)!important}
  .v14-orb-shadow{top:70%!important}
}

/* v15.css */
/* V15 — one motion idea per UI element, no retro overlays that compete with the story. */
:root{--v15-purple:#b79cff;--v15-teal:#9ce3e5}
/* Rounded optical scrollbar; scrollbar buttons intentionally hidden where supported. */
html{scrollbar-color:#a78bff #0b0a12;scrollbar-width:thin}
::-webkit-scrollbar{width:13px;height:9px}
::-webkit-scrollbar-track{background:#080710;border-left:1px solid #d8c4ff12}
::-webkit-scrollbar-thumb{border-radius:99px;border:3px solid #080710;background:linear-gradient(160deg,#e9dfff 0%,#bca4ff 30%,#846fd5 58%,#8edce1 100%);background-clip:padding-box;box-shadow:inset 0 0 4px #fff7}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#fff,#d5b9ff 35%,#9af4ed);background-clip:padding-box}
::-webkit-scrollbar-button,::-webkit-scrollbar-button:single-button{display:none!important;width:0!important;height:0!important}
.v14-scroll-cue{right:24px!important;opacity:.85!important;gap:8px!important}
.v14-scroll-cue-track{width:6px!important;height:133px!important;border-radius:50px!important;border:1px solid #a78ce147!important;background:#120e20af!important;box-shadow:inset 0 0 13px #000a,0 0 22px #987cff19}
.v14-scroll-cue-track i{background:linear-gradient(#bba3ff,#d3baff 38%,#9af9df)!important;box-shadow:0 0 15px #bda6ffa4!important;position:relative}
.v14-scroll-cue-track i::after{content:"";position:absolute;left:50%;bottom:0;translate:-50% 0;border-radius:50%;width:11px;height:11px;background:#f0eaff;box-shadow:0 0 16px #b7a2ff}

/* Orb — smaller and sharper. Stage remains full bleed. Pointer tracking only on the orb. */
.v14-stage{background:radial-gradient(ellipse at 50% 33%,#2f204e2f,transparent 43%),linear-gradient(180deg,#000005,#050309 75%,#020104)!important}
.v14-orb-rig{width:clamp(218px,27.5vw,390px)!important;left:50%!important;top:42.5%!important;pointer-events:auto!important;cursor:grab;outline-offset:9px;transition:filter .25s ease;filter:drop-shadow(0 0 22px #ad8bea67) drop-shadow(0 0 55px #b389ee39)!important}
.v14-orb-rig.v15-orb-engaged{cursor:grabbing;filter:drop-shadow(0 0 28px #c5abff8c) drop-shadow(0 0 68px #9876ff50)!important}
.v14-orb-rig:focus-visible{outline:2px solid #d3baff;border-radius:50%}
.v14-orb-rig .v14-orb-canvas{image-rendering:auto;filter:contrast(1.06) saturate(1.13)!important}
.v14-orb-rig .v14-orb-poster{filter:saturate(1.19) contrast(1.06) drop-shadow(0 0 18px #af8dff8f)!important}
.v14-orb-shadow{top:66%!important;opacity:.48!important;width:min(25vw,310px)!important}
.v14-floor{background-image:linear-gradient(180deg,#040208c5,#0b051024 24%,#03020838 88%),url('assets/wet-floor-neutral.webp')!important;background-size:cover!important;background-position:50% 38%!important;filter:brightness(.88) saturate(.7)!important;height:41%!important;min-height:300px!important}
.v14-reflection-wrap{left:50%!important;top:64%!important;width:clamp(190px,26vw,370px)!important;opacity:.31!important;filter:blur(3.2px) saturate(1.3)!important;mask-image:linear-gradient(0deg,transparent 18%,#000 90%)!important;-webkit-mask-image:linear-gradient(0deg,transparent 18%,#000 90%)!important}
.v13-hero-haze{pointer-events:none}
/* fine star field and minimal orbital geometry (behind the main object) */
.v15-cosmic-field{position:absolute;inset:0;z-index:0;opacity:.72;pointer-events:none;background-image:radial-gradient(1px 1px at 17% 14%,#adadffdf 40%,transparent 70%),radial-gradient(1px 1px at 84% 35%,#c7a6eacc 40%,transparent 70%),radial-gradient(2px 2px at 68% 16%,#9bceffb3 35%,transparent 80%),radial-gradient(1px 1px at 28% 47%,#ffffffbe 35%,transparent 80%),radial-gradient(1px 1px at 52% 13%,#c4b0ffb1 35%,transparent 80%),radial-gradient(1px 1px at 41% 29%,#b4a9ffb1 35%,transparent 80%),radial-gradient(1px 1px at 75% 54%,#d6c3ffb0 35%,transparent 80%),radial-gradient(1px 1px at 10% 60%,#b6a5ee99 35%,transparent 80%);background-size:231px 191px,283px 211px,389px 267px,467px 339px,307px 233px,403px 301px,293px 229px,373px 287px;animation:v15-cosmos-breathe 13s ease-in-out infinite alternate}
.v15-orbit-rings{position:absolute;left:50%;top:43%;width:clamp(330px,42vw,590px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;z-index:0;opacity:.42}
.v15-orbit-rings i{position:absolute;display:block;inset:12%;border:1px solid #b6a0ff26;border-radius:50%;transform:rotate(-22deg) scaleY(.52)}
.v15-orbit-rings i:nth-child(2){inset:2%;border-color:#91defd15;transform:rotate(31deg) scaleY(.83)}
.v15-orbit-rings i:nth-child(3){inset:26%;border-color:#b79aff32;transform:rotate(-55deg) scaleY(.6)}
@keyframes v15-cosmos-breathe{0%{opacity:.41;transform:translateY(0)}100%{opacity:.75;transform:translateY(-5px)}}
/* independent letter motion: adjacent letters lift less for a subtle responsive wave */
.v13-hero-serif,.v13-hero-role{overflow:visible;white-space:nowrap!important;cursor:default;transition:filter .35s ease!important}
.v13-hero-serif .v15-letter,.v13-hero-role .v15-letter{display:inline-block;transform:translateY(0);transition:transform .46s cubic-bezier(.21,.8,.2,1),color .45s ease,filter .45s ease;will-change:transform}
.v13-hero-serif:hover .v15-letter,.v13-hero-role:hover .v15-letter{transform:translateY(calc(-1px * var(--lift,4)));color:#f9f5ff;filter:drop-shadow(0 0 12px #bca2ff66)}
.v13-hero-role:hover .v15-letter{color:#d9c6ff}
.v13-hero-serif .v15-letter:hover,.v13-hero-role .v15-letter:hover{transform:translateY(-11px) rotate(-2deg) scale(1.045);color:#fbfaff!important;filter:drop-shadow(0 0 18px #d5bdffac)}
.v13-hero-serif:hover,.v13-hero-role:hover{translate:0 0!important;filter:none!important}
.v13-hero-serif .v15-letter-space,.v13-hero-role .v15-letter-space{white-space:pre}

/* tighter 03 -> 04 section handoff without overlap */
.work{padding-bottom:70px!important}
.work .full-link{margin-top:65px!important}
.expertise{padding-top:75px!important}

/* Pixel character: keep scene sprites on pixel-perfect edges without green accents */
.v8-pixel-canvas,.v9-card-scene canvas{image-rendering:pixelated!important}
.v9-avatar-rail{background-image:url('assets/pixel-enes-0.png')!important;filter:drop-shadow(0 2px #141020) drop-shadow(0 0 3px #a992ee)!important}
@keyframes v14-quest-walk{50%{background-image:url('assets/pixel-enes-1.png')}}

/* simulation — physically distinct signal graph silhouettes and icon sets */
.system-console .signal-node{transform:translateY(0)!important;transition:translate .46s cubic-bezier(.2,.8,.2,1),border-color .35s,background .4s,box-shadow .35s!important;will-change:translate}
.system-console[data-mode="ai"] .signal-node:nth-child(1){translate:0 20px}
.system-console[data-mode="ai"] .signal-node:nth-child(2){translate:0 -29px}
.system-console[data-mode="ai"] .signal-node:nth-child(3){translate:0 18px}
.system-console[data-mode="code"] .signal-node:nth-child(1){translate:0 -13px}
.system-console[data-mode="code"] .signal-node:nth-child(2){translate:0 19px}
.system-console[data-mode="code"] .signal-node:nth-child(3){translate:0 -13px}
.system-console[data-mode="design"] .signal-node:nth-child(1){translate:0 17px}
.system-console[data-mode="design"] .signal-node:nth-child(2){translate:0 -10px}
.system-console[data-mode="design"] .signal-node:nth-child(3){translate:0 -31px}
.system-console[data-mode="ai"] .signal-node-icon{color:#c6aaff}
.system-console[data-mode="code"] .signal-node-icon{color:#a2ebea}
.system-console[data-mode="design"] .signal-node-icon{color:#ffc5d8}
.system-console .signal-diagram:before{content:'AI · CONTEXT → RAG → WORKFLOW';position:absolute;z-index:1;top:18px;left:21px;font:700 9px Consolas,monospace;letter-spacing:.13em;color:#a994d4;pointer-events:none}
.system-console[data-mode="code"] .signal-diagram:before{content:'ENGINEERING · SPEC → BUILD → TEST';color:#8bddda}
.system-console[data-mode="design"] .signal-diagram:before{content:'DESIGN · RESEARCH → ITERATE → SHIP';color:#edb0d5}
.system-console[data-mode="code"] .v7-flow-base{stroke-dasharray:7 4}
.system-console[data-mode="design"] .v7-flow-base{stroke-dasharray:1 7;stroke-linecap:round}
.system-console[data-mode="ai"] .v7-flow-base{stroke-dasharray:none}
@media(max-width:900px){.v14-orb-rig{top:49%!important;width:clamp(230px,35vw,340px)!important}.v14-reflection-wrap{top:70%!important;width:clamp(210px,32vw,325px)!important}.v15-orbit-rings{top:48%;width:clamp(290px,44vw,490px)}.v13-hero-left h1{white-space:normal!important}}
@media(max-width:650px){.v14-orb-rig{top:53%!important;width:clamp(190px,56vw,260px)!important}.v14-reflection-wrap{top:73%!important;width:clamp(170px,52vw,246px)!important}.v14-orb-shadow{top:75%!important}.v15-orbit-rings{top:54%;width:clamp(280px,85vw,420px)}.v13-hero-role .v15-letter,.v13-hero-serif .v15-letter{will-change:auto}.v14-floor{height:34%!important;min-height:270px!important}.system-console .signal-diagram:before{top:4px;left:12px;font-size:7px}}
@media(prefers-reduced-motion:reduce){.v15-cosmic-field{animation:none!important}.v13-hero-serif .v15-letter,.v13-hero-role .v15-letter{transition:none!important}.v14-orb-rig{transform:translate(-50%,-50%)!important}.system-console .signal-node{transition:none!important}}
/* The wrapper can rotate independently; the old ball's forced -19° base angle is stable. */
.v15-ball-wheel{position:absolute;inset:auto;width:230px;height:230px;left:50%;top:50%;translate:-50% -50%;z-index:2;transform-origin:50% 50%;will-change:transform;pointer-events:none;display:block}
.v15-ball-wheel>.pokeball{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:100%!important;transition:none!important;animation:none!important;transform:rotate(-19deg)!important;display:block}
.project-visual.pokedex:hover .v15-ball-wheel>.pokeball,.project:hover .project-visual.pokedex .v15-ball-wheel>.pokeball{animation:none!important;transform:rotate(-19deg)!important}
.dialog-image .project-visual.pokedex .v15-ball-wheel{width:min(230px,48%);height:auto;aspect-ratio:1}
@media(max-width:650px){.v15-ball-wheel{width:195px;height:195px}}
/* Accessible non-WebGL fallback: directional panorama shift and single reflection. */
.v14-orb-rig.v15-no-webgl{animation:v15-quiet-float 5.9s ease-in-out infinite;pointer-events:auto}
.v14-orb-rig.v15-no-webgl .v14-orb-poster{z-index:1;opacity:1;transition:opacity .45s ease}
.v14-orb-rig.v15-no-webgl .v15-orb-2d{position:absolute;inset:0;z-index:2;border-radius:50%;opacity:0;pointer-events:none;transition:opacity .7s ease;background-image:radial-gradient(circle at 29% 18%,#ffffff70,transparent 28%),radial-gradient(circle at 78% 78%,#0703138e,transparent 58%),url('assets/orb-panorama-hd.webp');background-size:100% 100%,100% 100%,225% 116%;background-position:center,center,50% 50%;box-shadow:inset -18px -22px 36px #12112663,inset 10px 8px 26px #fff8,0 0 24px #d1a4ff71;filter:saturate(1.11) contrast(1.05)}
.v14-orb-rig.v15-no-webgl.v15-orb-engaged .v15-orb-2d{opacity:.89}
.v14-orb-rig.v15-no-webgl.v15-orb-engaged .v14-orb-poster{opacity:.24}
@keyframes v15-quiet-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@media(prefers-reduced-motion:reduce){.v14-orb-rig.v15-no-webgl{animation:none!important}}
.v15-orb-reflection{position:absolute;inset:0;border-radius:50%;pointer-events:none;opacity:.82;filter:blur(1.5px) saturate(1.3);background-image:radial-gradient(circle at 28% 23%,#fff6,transparent 30%),radial-gradient(circle at 76% 80%,#0c0719a8,transparent 58%),url('assets/orb-panorama-hd.webp');background-size:100% 100%,100% 100%,225% 116%;background-position:center,center,50% 50%;box-shadow:inset -14px -22px 25px #07030b80}
/* Hero text is intentionally hoverable while the surrounding grid stays click-through to the orb. */
.v13-hero-left h1,.v13-hero-serif,.v13-hero-role{pointer-events:auto!important}
/* Laptop composition: preserve a visible gutter between typography, orb and intro. */
@media(min-width:901px) and (max-width:1200px){
 .v14-orb-rig,.v14-reflection-wrap{left:56%!important}
 .v14-orb-shadow{left:56%!important}
 .v15-orbit-rings{left:56%!important}
 .v13-hero-role{font-size:clamp(42px,4.3vw,56px)!important}
 .v13-hero-serif{font-size:clamp(43px,4.4vw,58px)!important}
 .v13-hero-left{max-width:395px!important;flex-basis:395px!important}
}

/* v16.css */
/* V16 — Motion crafted as interactions. Keep decorative work composited and scoped. */
:root{--v16-iris:#bda3ff;--v16-cyan:#91e7ed;--v16-ease:cubic-bezier(.16,1,.3,1)}
/* Liquid lens: positioning measured once per nav change / scroll section, not per animation frame. */
.site-nav{overflow:visible;contain:layout style;transition:width .4s var(--v16-ease),transform .4s var(--v16-ease),border-color .3s!important}
.site-nav.v16-scrolled{background:linear-gradient(128deg,#322944eb,#1b1427e8 58%,#100d1cd9)!important;border-color:#e7d6ff82!important;box-shadow:0 20px 55px #000b,0 1px 16px #f6efff18 inset!important}
.v16-nav-lens{position:absolute;top:10px;left:0;height:calc(100% - 20px);width:0;z-index:0;border-radius:999px;pointer-events:none;opacity:0;background:linear-gradient(120deg,#ffffff26,#a991ff21 60%,#ffffff11);border:1px solid #eaddff3b;box-shadow:inset 0 0 18px #ffffff18,0 5px 16px #b6a4fd19;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:transform .55s var(--v16-ease),width .55s var(--v16-ease),opacity .22s}
.site-nav .nav-links{position:relative;z-index:1}.site-nav .nav-links a{z-index:1}.site-nav .brand,.site-nav>.lang-toggle,.site-nav>.nav-contact{position:relative;z-index:2}
.site-nav .nav-links a:after{opacity:.15}
.site-nav .nav-links a.v16-active{color:#fff!important}
/* Orb surface remains one single reflection; interaction leaves a small short-lived light trace. */
.v14-orb-rig{isolation:isolate}
.v16-orb-trail{position:absolute;inset:-11%;border-radius:50%;z-index:6;pointer-events:none;opacity:0;background:radial-gradient(ellipse 18% 14% at var(--trail-x,50%) var(--trail-y,50%),#e3ceff72,transparent 94%);mix-blend-mode:screen;transition:opacity .18s ease;filter:blur(12px)}
.v14-orb-rig.v16-orb-active .v16-orb-trail{opacity:.62}
.v14-orb-rig .v14-orb-canvas{backface-visibility:hidden}
/* Kinetic type uses event-driven CSS variables; no permanent typography animation loop. */
.v13-hero-serif .v15-letter,.v13-hero-role .v15-letter{transform:translate3d(var(--v16-x,0px),var(--v16-y,0px),0) rotate(var(--v16-angle,0deg));transition:transform .52s var(--v16-ease),color .3s,filter .3s;will-change:auto}
.v13-hero-serif:hover .v15-letter,.v13-hero-role:hover .v15-letter{transform:translate3d(var(--v16-x,0px),var(--v16-y,0px),0) rotate(var(--v16-angle,0deg))!important}
.v13-hero-left h1{perspective:600px}
.v13-hero-serif:hover,.v13-hero-role:hover{filter:drop-shadow(0 0 12px #b29aff30)!important}
/* Chapter rail supersedes an extra scrollbar overlay. Native scrolling remains accessible. */
.v14-scroll-cue{display:none!important}
.v16-rail{position:fixed;z-index:82;right:18px;top:50%;transform:translateY(-50%);width:34px;padding:12px 7px;display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid #ddc3ff26;border-radius:24px;background:#1b1424cb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 12px 32px #0006}
.v16-rail>span{font:700 9px Consolas,monospace;letter-spacing:.08em;color:#d5c4ff;margin-bottom:3px}
.v16-rail-track{position:absolute;top:42px;bottom:13px;left:calc(50% - 1px);width:2px;background:#a68cb62c;border-radius:99px;z-index:-1}
.v16-rail-fill{position:absolute;top:0;left:0;width:100%;height:var(--v16-rail-progress,0%);background:linear-gradient(#d8bbff,#8ee7e3);box-shadow:0 0 10px #a98bffc9;border-radius:99px;transition:height .16s linear}
.v16-rail-link{position:relative;width:19px;height:23px;flex:none;background:transparent;color:#a99ab7;border:0;border-radius:9px;font:700 8px Consolas,monospace;padding:0;display:grid;place-items:center;transition:background .25s,color .25s,transform .25s}
.v16-rail-link:hover,.v16-rail-link[aria-current="location"]{background:#8c72c663;color:white;transform:scale(1.11)}
.v16-rail-link::before{content:attr(data-label);position:absolute;right:calc(100% + 13px);top:50%;transform:translate(5px,-50%);opacity:0;pointer-events:none;white-space:nowrap;background:#1a1429e9;border:1px solid #c5b0ff38;padding:7px 12px;border-radius:9px;color:#f2eaff;font:700 10px 'DM Sans',sans-serif;box-shadow:0 12px 25px #0008;transition:transform .23s,opacity .23s}
.v16-rail-link:hover::before,.v16-rail-link:focus-visible::before{opacity:1;transform:translate(0,-50%)}
@media(max-width:1100px){.v16-rail{display:none}}
/* scrollbar: low-noise frosted glass-like thumb with rounded corners. */
html{scrollbar-width:thin;scrollbar-color:#c0a6f2 #0d0912}
::-webkit-scrollbar{width:13px!important;height:10px!important}
::-webkit-scrollbar-track{background:#0d0a12!important;border-left:1px solid #e6d6ff13}
::-webkit-scrollbar-thumb{border-radius:99px!important;border:3px solid #0d0a12!important;background:linear-gradient(155deg,#ebe0ff,#ae8fff 50%,#83e7de)!important;background-clip:padding-box!important;box-shadow:inset 0 0 7px #ffffff88,0 0 11px #ac91ff45!important}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(145deg,#fff,#d5bdff,#b1f7f2)!important;background-clip:padding-box!important}
::-webkit-scrollbar-button{display:none!important;width:0!important;height:0!important}
/* Pixel-to-reality entrance: one graceful reveal; doesn't hijack scroll. */
.v16-chapter-entry{transition:opacity .75s var(--v16-ease),transform .75s var(--v16-ease)}
.v16-chapter-entry:not(.is-entered){opacity:.5;transform:translateY(20px)}
.v16-chapter-entry.is-entered{opacity:1;transform:translateY(0)}
.v16-story-label{display:flex;align-items:center;gap:10px;color:#b4a0da;font:700 10px 'Space Grotesk',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.v16-story-label i{width:5px;height:5px;border-radius:50%;background:#9febdd;box-shadow:0 0 10px #a2e9df}
/* Project previews: hover conveys each app's actual behavior. */
.project-visual{position:relative}
.v16-project-cue{position:absolute;z-index:7;left:19px;top:18px;max-width:60%;padding:8px 12px;border-radius:100px;background:#07081280;backdrop-filter:blur(12px);border:1px solid #ffffff45;color:#f2edff;font:700 10px 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;opacity:.58;transform:translateY(4px);transition:transform .35s var(--v16-ease),opacity .35s;pointer-events:none}
.project:hover .v16-project-cue,.project:focus-visible .v16-project-cue{opacity:1;transform:translateY(0)}
.project-visual.sharkie:hover .ocean-bubble{animation-duration:2s!important}
.project-visual.join:hover .kanban-window{filter:drop-shadow(0 14px 15px #20103446)}
.project-visual.bubble:hover .chat-bubble{filter:brightness(1.16)}
.project-visual.coderr:hover .coderr-terminal{box-shadow:0 20px 44px #0009,0 0 18px #a287ff38}
.project-visual.videoflix:hover .video-play{filter:drop-shadow(0 0 17px #ece0ffad)}
.project:focus-visible{outline:2px solid #886cc5;outline-offset:6px}
/* Simulation: different visual languages for three real purposes. */
.v16-scenario{position:relative;margin:14px 0 9px;padding:14px 16px;display:flex;align-items:center;gap:12px;border:1px solid #ae95ff31;border-radius:14px;background:linear-gradient(125deg,#241c37af,#10132166);color:#e6ddf6}
.v16-scenario .v16-scenario-icon{font-size:22px;display:grid;place-items:center;width:40px;height:40px;flex:none;background:#8e70d02b;border:1px solid #9e87f04f;border-radius:13px}
.v16-scenario strong{display:block;font-size:13px;letter-spacing:.02em;margin-bottom:3px}
.v16-scenario small{display:block;font-size:11px;color:#aea6bf;line-height:1.45}
.v16-scenario-result{font:700 9px Consolas,monospace;white-space:nowrap;color:#9ee9dc;margin-left:auto}
.system-console[data-mode="code"] .v16-scenario{border-color:#8dd3f947;background:linear-gradient(120deg,#11283d,#11131f)}
.system-console[data-mode="code"] .signal-node.is-live{outline:1px solid #8dc7ff}
.system-console[data-mode="design"] .v16-scenario{border-color:#91e8cf4a;background:linear-gradient(120deg,#13322f,#181522)}
.system-console[data-mode="design"] .signal-node.is-live{outline:1px solid #a5efdf}
.system-console[data-mode="ai"] .signal-node.is-live{outline:1px solid #bfa1ff}
.system-console .v16-scenario-result.is-complete{color:#aaffd6}
/* Lightweight type entrance with no blur/render-heavy filter stacks. */
@media(prefers-reduced-motion:reduce){.v16-chapter-entry{opacity:1!important;transform:none!important;transition:none!important}.v16-nav-lens,.v16-rail-fill,.v13-hero-serif .v15-letter,.v13-hero-role .v15-letter{transition:none!important}.v16-orb-trail{display:none!important}}
.v16-paused *,.v16-page-hidden *{animation-play-state:paused!important}
.dialog-image .v16-project-cue{display:none}


/* V19.2: Restore project live-preview links while retaining GitHub actions. */
.project-dialog .dialog-actions{gap:10px 12px}
.project-dialog .dialog-demo-link{background:#b49aff;border-color:#cbb8ff;color:#170f28;box-shadow:0 7px 25px #9475f63d}
.project-dialog .dialog-demo-link:hover,.project-dialog .dialog-demo-link:focus-visible{background:#dfd3ff;transform:translateY(-2px)}
.project-dialog .dialog-github-link{background:transparent;border-color:#9d8baeb3;color:#eee6ff;box-shadow:none}
.project-dialog .dialog-github-link:hover,.project-dialog .dialog-github-link:focus-visible{background:#ffffff16;color:#fff;transform:translateY(-2px)}
.project-dialog .dialog-demo-pending{display:inline-flex;align-items:center;padding:10px 13px;font-size:10px;font-weight:700;letter-spacing:.04em;color:#d4c9e4;border:1px dashed #a89fb080;border-radius:100px}
.project-dialog .dialog-actions [hidden]{display:none!important}
.project-dialog .dialog-actions a:focus-visible{outline:2px solid #ecddff;outline-offset:3px}
@media(max-width:440px){.project-dialog .dialog-actions .dialog-link{font-size:10px;padding:11px 14px!important}.project-dialog .dialog-actions{gap:10px}}
@media(prefers-reduced-motion:reduce){.project-dialog .dialog-actions .dialog-link{transition:none!important}}
