*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:Inter,system-ui,sans-serif;background:#06080f;color:#e8ecf4;overflow-x:hidden}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}a{color:inherit}::selection{background:#38bdf8;color:#06080f}:root{--bg: #06080f;--ink: #e8ecf4;--muted: #94a3b8;--accent: #38bdf8;--card: rgba(255, 255, 255, .035);--line: rgba(255, 255, 255, .09);--display: "Space Grotesk", "Inter", sans-serif;--mono: "IBM Plex Mono", monospace}.pfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.kicker{font-family:var(--mono);font-size:.74rem;letter-spacing:.34em;color:var(--accent);transition:color .6s ease}h2{font-family:var(--display);font-weight:700;font-size:clamp(1.8rem,4.2vw,3rem);line-height:1.08;margin:14px 0 18px}h2.big{font-size:clamp(2.2rem,5.5vw,4rem)}.lead{color:var(--muted);font-size:clamp(.98rem,1.6vw,1.12rem);line-height:1.75;max-width:56ch}.btn{display:inline-block;font-family:var(--display);font-weight:500;border-radius:10px;padding:13px 26px;font-size:.95rem;text-decoration:none;letter-spacing:.02em;transition:transform .2s ease,box-shadow .3s ease,background .3s ease,color .3s ease,border-color .3s ease}.btn.sm{padding:10px 20px;font-size:.85rem}.btn.solid{background:var(--accent);color:#06080f}.btn.solid:hover{transform:translateY(-2px);box-shadow:0 8px 30px color-mix(in srgb,var(--accent) 45%,transparent)}.btn.ghost{border:1px solid var(--line);color:var(--ink)}.btn.ghost:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent)}.rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i, 0) * 90ms)}.sec.active .rv{opacity:1;transform:none}.plx{position:absolute;pointer-events:none;will-change:transform}.ghost{top:50%;left:50%;margin-top:-.5em;font-family:var(--display);font-weight:700;font-size:clamp(16rem,42vw,34rem);line-height:1;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--accent) 16%,transparent);z-index:0;-webkit-user-select:none;user-select:none}.ghost.arabic{font-family:Amiri,serif}.halo{width:60vw;height:60vw;border-radius:50%;top:50%;left:50%;margin:-30vw 0 0 -30vw;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 13%,transparent) 0%,transparent 62%);z-index:0}.loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:24px;transition:opacity .4s ease}.loading.leaving{opacity:0}.loading .name{font-family:var(--display);font-weight:700;font-size:clamp(2.2rem,7vw,5.5rem);letter-spacing:.14em}.loading .name span{display:inline-block;opacity:0;transform:translateY(40px);animation:riseIn .7s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i) * 55ms)}.loading .name .sp{width:.5em}@keyframes riseIn{to{opacity:1;transform:none}}.loading .sub{color:var(--muted);font-family:var(--mono);font-size:clamp(.72rem,1.8vw,.85rem);letter-spacing:.34em;opacity:0;animation:fadeIn 1s ease .7s forwards}.loading .typeline{min-height:1.6em;color:#cbd5e1;font-family:var(--mono);font-size:clamp(.9rem,2.2vw,1.1rem)}.cursor{display:inline-block;width:.6ch;color:var(--accent);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.enterbtn{margin-top:8px;font-family:var(--display);font-weight:500;background:var(--accent);color:#06080f;border-radius:10px;padding:15px 36px;letter-spacing:.12em;font-size:.92rem;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .5s ease,transform .5s ease}.enterbtn.show{opacity:1;transform:none;pointer-events:auto;animation:pulseAccent 2.2s ease-out infinite}@keyframes pulseAccent{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 50%,transparent)}to{box-shadow:0 0 0 16px transparent}}.skiplink{position:absolute;bottom:24px;color:#475569;font-size:.78rem;letter-spacing:.1em;text-decoration:none;border-bottom:1px dotted #334155}.skiplink:hover{color:var(--muted)}.eq{display:flex;gap:5px;align-items:flex-end;height:52px}.eq span{width:4px;height:var(--h, 60%);border-radius:2px;background:linear-gradient(to top,var(--accent),color-mix(in srgb,var(--accent) 25%,transparent));transform-origin:bottom;animation:eqBounce 1.1s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.13s);transition:background .6s ease}@keyframes eqBounce{0%{transform:scaleY(.18)}to{transform:scaleY(1)}}.eq.intro{height:40px}.sec:not(.active) .eq span{animation-play-state:paused}.topnav{position:fixed;top:0;left:0;right:0;z-index:110;display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:60px;background:linear-gradient(to bottom,rgba(6,8,15,.88),rgba(6,8,15,.45) 75%,transparent)}.topnav .brand{font-family:var(--display);font-weight:700;font-size:1.25rem;letter-spacing:.04em}.topnav .brand span{color:var(--accent);transition:color .6s ease}.topnav nav{display:flex;gap:4px}.topnav nav button{position:relative;font-family:var(--display);font-weight:500;font-size:.86rem;letter-spacing:.05em;color:var(--muted);padding:9px 14px;border-radius:8px;transition:color .25s ease}.topnav nav button:hover{color:var(--ink)}.topnav nav button:after{content:"";position:absolute;left:14px;right:14px;bottom:3px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1),background .6s ease}.topnav nav button.on{color:var(--ink)}.topnav nav button.on:after{transform:scaleX(1)}.gui{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none}.gui>*{pointer-events:auto}.progress{position:fixed;top:0;left:0;height:2px;width:100%;background:#ffffff0f;z-index:120}.progress span{display:block;height:100%;width:0;background:var(--accent);transition:background .6s ease;box-shadow:0 0 10px var(--accent)}.tourtoggle{position:fixed;bottom:28px;left:24px;font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:9px 16px;background:#0a0e1899;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .25s ease}.tourtoggle:hover{color:var(--ink);border-color:var(--accent)}.tourtoggle.on{color:#06080f;background:var(--accent);border-color:var(--accent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 55%,transparent)}.flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;pointer-events:none;opacity:0;background:radial-gradient(circle at center,color-mix(in srgb,var(--accent, #38bdf8) 30%,white 12%),transparent 70%)}.flash.go{animation:flashAnim .5s ease-in-out}@keyframes flashAnim{0%{opacity:0}40%{opacity:.18}to{opacity:0}}.hwrap{position:relative;overflow:hidden;z-index:1}.track{display:flex;width:600vw;will-change:transform}.sec{width:100vw;height:100vh;flex-shrink:0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.ch-inner{position:relative;z-index:2;max-width:900px;padding:9vh 7vw 6vh;width:100%}.ch-inner.wide{max-width:1150px}.duo-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,70px);align-items:center;max-width:1100px}@media (max-width: 767px){.hwrap{overflow:visible}.track{display:block;width:100vw}.sec{width:100vw;min-height:100vh;height:auto;padding:13vh 0 9vh}.duo-grid{grid-template-columns:1fr;gap:30px}.ghost,.halo,.grid-floor{display:none}}.s-hero{--accent: #38bdf8}.grid-floor{inset:auto -20vw 0;height:38vh;z-index:0;background-image:linear-gradient(color-mix(in srgb,var(--accent) 14%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,transparent) 1px,transparent 1px);background-size:56px 56px;transform:perspective(500px) rotateX(60deg);mask-image:linear-gradient(to top,rgba(0,0,0,.5),transparent);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.5),transparent)}.s-hero .ch-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}.s-hero h1{font-family:var(--display);font-weight:700;font-size:clamp(2.8rem,9.5vw,7.2rem);line-height:1.02;letter-spacing:.02em;background:linear-gradient(115deg,#fff 30%,var(--accent) 85%);-webkit-background-clip:text;background-clip:text;color:transparent}.s-hero h1 span{display:inline-block;opacity:0;transform:translateY(70px) rotate(5deg);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.8,.2,1);transition-delay:calc(.15s + var(--i) * 45ms)}.s-hero.active h1 span{opacity:1;transform:none}.s-hero h1 .sp{width:.45em}.s-hero .tagline{font-family:var(--display);font-size:clamp(1.15rem,2.6vw,1.7rem);color:#cbd5e1}.s-hero .tagline em{font-style:normal;color:var(--accent)}.s-hero .sub{font-family:var(--mono);font-size:clamp(.72rem,1.5vw,.85rem);letter-spacing:.14em;color:var(--muted)}.s-hero .ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:8px}.scrollhint{position:absolute;bottom:30px;left:50%;transform:translate(-50%);font-family:var(--mono);font-size:.72rem;letter-spacing:.3em;color:var(--muted);z-index:2}.scrollhint .arr{display:inline-block;color:var(--accent);animation:nudge 1.4s ease-in-out infinite}@keyframes nudge{0%,to{transform:translate(0)}50%{transform:translate(7px)}}@media (max-width: 767px){.scrollhint{display:none}}.s-about{--accent: #a78bfa}.photo-side{display:flex;justify-content:center}.photo-frame{position:relative;border-radius:22px;padding:5px;background:linear-gradient(140deg,var(--accent),transparent 55%,var(--accent))}.photo-frame img{display:block;width:clamp(200px,22vw,290px);height:auto;aspect-ratio:1;object-fit:cover;border-radius:18px;filter:saturate(1.04)}.photo-frame:after{content:"";position:absolute;top:-22px;right:-22px;bottom:-22px;left:-22px;border-radius:34px;z-index:-1;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%)}.stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.stat{border:1px solid var(--line);border-radius:14px;padding:14px 18px;background:var(--card);min-width:150px;transition:border-color .3s ease,transform .3s ease}.stat:hover{border-color:var(--accent);transform:translateY(-3px)}.stat b{display:block;font-family:var(--display);font-size:1.15rem;color:var(--accent)}.stat span{font-size:.78rem;color:var(--muted)}.s-skills{--accent: #34d399}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}.skill-card{border:1px solid var(--line);border-radius:16px;padding:20px 22px;background:var(--card);transition:opacity .7s ease,transform .45s cubic-bezier(.2,.7,.2,1),border-color .3s ease,box-shadow .3s ease}.skill-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:0 14px 38px color-mix(in srgb,var(--accent) 12%,transparent)}.skill-card .glyph{font-family:var(--mono);font-size:1.15rem;color:var(--accent)}.skill-card h3{font-family:var(--display);font-size:1.02rem;margin:8px 0 12px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips span{font-size:.74rem;color:#cbd5e1;border:1px solid var(--line);border-radius:999px;padding:4px 11px;background:#ffffff05}@media (max-width: 1000px){.skill-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.skill-grid{grid-template-columns:1fr}}.s-projects{--accent: #d4a843}.proj-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:18px;margin-top:10px}.featured{border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:20px;padding:clamp(20px,2.6vw,32px);background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 7%,transparent),var(--card) 55%);box-shadow:0 20px 60px color-mix(in srgb,var(--accent) 8%,transparent)}.feat-head{display:flex;align-items:center;gap:18px}.makhraj{font-family:Amiri,serif;font-size:clamp(2.6rem,4.5vw,3.6rem);line-height:1;color:var(--accent);animation:goldGlow 2.4s ease-in-out infinite alternate}@keyframes goldGlow{0%{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 25%,transparent))}to{filter:drop-shadow(0 0 18px color-mix(in srgb,var(--accent) 65%,transparent))}}.sec:not(.active) .makhraj{animation-play-state:paused}.featured h3{font-family:var(--display);font-size:clamp(1.05rem,1.8vw,1.3rem)}.feat-sub{font-size:.78rem;color:var(--muted);margin-top:3px}.feat-text{color:#cbd5e1;font-size:clamp(.86rem,1.4vw,.95rem);line-height:1.7;margin:16px 0}.wer-row{display:flex;align-items:center;gap:18px;margin:6px 0 16px}.wer-num{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--accent);font-variant-numeric:tabular-nums;transition:color .4s ease}.wer-num.done{color:#4ade80;text-shadow:0 0 22px rgba(74,222,128,.45)}.wer-cap{font-size:.78rem;color:var(--muted);line-height:1.55}.feat-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.feat-tags span{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px;padding:5px 12px}.side-stack{display:flex;flex-direction:column;gap:14px}.proj-card{flex:1;border:1px solid var(--line);border-radius:16px;padding:18px 20px;background:var(--card);transition:opacity .7s ease,transform .45s cubic-bezier(.2,.7,.2,1),border-color .3s ease}.proj-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.proj-card h3{font-family:var(--display);font-size:.98rem;margin-bottom:6px}.proj-card p{font-size:.8rem;color:var(--muted);line-height:1.6;margin-bottom:12px}.proj-card .feat-tags{margin-bottom:0}@media (max-width: 1000px){.proj-grid{grid-template-columns:1fr}}.s-journey{--accent: #fb7185}.tl{position:relative;list-style:none;display:flex;flex-direction:column;gap:clamp(14px,2.4vh,26px)}.tl:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,var(--accent),color-mix(in srgb,var(--accent) 15%,transparent));transform:scaleY(0);transform-origin:top;transition:transform 1.3s cubic-bezier(.3,.6,.2,1) .25s}.s-journey.active .tl:before{transform:scaleY(1)}.tl-item{position:relative;display:flex;gap:16px;padding-left:34px}.tl-item .dot{position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 45%,transparent)}.tl-item .year{font-family:var(--mono);font-size:.74rem;color:var(--accent);min-width:64px;padding-top:5px;letter-spacing:.04em}.tl-item h3{font-family:var(--display);font-size:1rem}.tl-item p{font-size:.82rem;color:var(--muted);line-height:1.6;margin-top:3px;max-width:44ch}.tl-item.next .dot{background:var(--accent);animation:pulseAccent 2s ease-out infinite}.tl-item.next h3:after{content:"NEXT";font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;color:#06080f;background:var(--accent);border-radius:999px;padding:3px 8px;margin-left:10px;vertical-align:2px}.s-contact{--accent: #38bdf8}.s-contact .ch-inner{text-align:center;display:flex;flex-direction:column;align-items:center}.contact-grid{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin:30px 0 26px}.contact-card{display:flex;flex-direction:column;gap:6px;text-align:left;border:1px solid var(--line);border-radius:16px;padding:18px 24px;background:var(--card);text-decoration:none;min-width:210px;transition:opacity .7s ease,transform .4s cubic-bezier(.2,.7,.2,1),border-color .3s ease,box-shadow .3s ease}.contact-card:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 16px 40px color-mix(in srgb,var(--accent) 14%,transparent)}.contact-card .label{font-family:var(--mono);font-size:.64rem;letter-spacing:.3em;color:var(--accent)}.contact-card b{font-family:var(--display);font-weight:500;font-size:.95rem}.endnote{margin-top:34px;font-size:.8rem;color:var(--muted)}.endnote b{color:var(--accent)}.echo-orb{position:fixed;right:30px;bottom:28px;z-index:130;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#0a0e18cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);transition:transform .2s ease,border-color .6s ease}.echo-orb:hover{transform:scale(1.08)}.echo-orb img{width:40px;height:40px;border-radius:50%;object-fit:cover}.echo-orb .ring{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:1px solid var(--accent);opacity:.7;animation:ringPulse 2.2s ease-out infinite}@keyframes ringPulse{0%{transform:scale(1);opacity:.7}to{transform:scale(1.55);opacity:0}}.echo-orb .tip{position:absolute;bottom:112%;right:0;white-space:nowrap;background:#0a0e18f2;border:1px solid var(--line);color:var(--ink);font-size:.72rem;font-family:var(--display);padding:7px 12px;border-radius:8px;opacity:0;transform:translateY(4px);transition:all .2s ease;pointer-events:none}.echo-orb:hover .tip{opacity:1;transform:none}.echo{position:fixed;right:30px;bottom:28px;z-index:130;width:380px;height:560px;max-height:calc(100vh - 60px);display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:#090d17eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:0 24px 70px #0009;transform-origin:bottom right;animation:panelIn .35s cubic-bezier(.2,.9,.3,1.15);transition:border-color .6s ease}@keyframes panelIn{0%{transform:scale(.82) translateY(16px);opacity:0}to{transform:none;opacity:1}}.e-head{flex-shrink:0;display:flex;align-items:center;gap:11px;padding:13px 16px;border-bottom:1px solid var(--line)}.e-head img{width:34px;height:34px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 50%,transparent)}.e-head .who{flex:1;display:flex;flex-direction:column;line-height:1.25}.e-head .who b{font-family:var(--display);font-size:.92rem;letter-spacing:.18em;color:var(--accent);transition:color .6s ease}.e-head .who span{font-size:.7rem;color:var(--muted)}.e-head .x{font-size:1rem;opacity:.6;padding:6px}.e-head .x:hover{opacity:1}.e-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}.msg{max-width:86%;padding:10px 14px;border-radius:14px;font-size:.88rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.msg.user{align-self:flex-end;background:color-mix(in srgb,var(--accent) 22%,rgba(255,255,255,.04));border-bottom-right-radius:4px}.msg.ai{align-self:flex-start;background:#ffffff0d;border:1px solid var(--line);border-bottom-left-radius:4px}.msg.ai.streaming:after{content:"▋";color:var(--accent);animation:blink 1s steps(1) infinite;margin-left:2px}.e-pills{flex-shrink:0;display:flex;gap:8px;padding:8px 12px;overflow-x:auto;scrollbar-width:none}.e-pills button{flex-shrink:0;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent);border-radius:999px;padding:6px 13px;font-size:.73rem;transition:all .2s ease}.e-pills button:hover{background:var(--accent);color:#06080f}.e-input{flex-shrink:0;display:flex;gap:8px;padding:10px 12px 13px;border-top:1px solid var(--line)}.e-input input{flex:1;min-width:0;background:#ffffff0a;border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:10px 13px;font-size:.88rem;outline:none;font-family:inherit;transition:border-color .2s ease}.e-input input:focus{border-color:var(--accent)}.e-input input::placeholder{color:var(--muted);opacity:.7}.e-input button{width:42px;height:42px;border-radius:10px;flex-shrink:0;font-size:1rem}.e-input .go{background:var(--accent);color:#06080f;transition:background .6s ease}.e-input .go:disabled{opacity:.4;cursor:default}.e-input .mic{border:1px solid var(--line)}.e-input .mic.listening{animation:micPulse .9s ease-in-out infinite alternate;background:#e0443c;border-color:#e0443c}@keyframes micPulse{0%{transform:scale(1)}to{transform:scale(1.12);box-shadow:0 0 16px #e0443cb3}}@media (max-width: 767px){.topnav{padding:0 14px;height:54px;gap:8px}.topnav nav{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.topnav nav button{font-size:.78rem;padding:8px 9px;white-space:nowrap}.topnav nav button:after{left:9px;right:9px}.tourtoggle{bottom:22px;left:14px}.echo{right:0;bottom:0;width:100vw;height:72vh;border-radius:20px 20px 0 0}.echo-orb{right:18px;bottom:18px}.s-hero .ch-inner{padding-top:4vh}.stats{gap:10px}.stat{min-width:130px;padding:12px 14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.rv,.s-hero h1 span,.loading .name span,.loading .sub,.enterbtn{opacity:1!important;transform:none!important}.tl:before{transform:scaleY(1)!important}.eq span{transform:scaleY(.7)!important}.pfield{display:none}}
