.radial-root{position:fixed;bottom:6dvh;left:50%;transform:translate(-50%);width:0;height:0;z-index:1000}.radial-root.stacked{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:1.4rem;z-index:1000}.radial-root.stacked .radial-items{position:static;width:auto;height:auto;display:flex;flex-direction:column;gap:1rem}.radial-root.stacked .radial-items li{position:static;left:auto;top:auto;translate:0 0;opacity:1;transform:none;transition:none}.radial-root.stacked .radial-item-btn{pointer-events:auto;min-width:240px;justify-content:center;font-size:15px}.radial-root.stacked .fab{display:none}.radial-root .fab{pointer-events:auto}.fab{position:absolute;left:50%;top:50%;translate:-50% -50%;width:72px;height:72px;border-radius:50%;border:none;cursor:pointer;background:var(--panel);color:var(--text);display:grid;place-items:center;box-shadow:0 0 32px #4f9cff52;transition:box-shadow .4s cubic-bezier(.4,0,.2,1),background .3s;outline:none;position:relative;z-index:1001}.fab:hover{box-shadow:0 0 48px #4f9cff61}.fab:active{scale:.95}.fab .lines,.fab .lines:before,.fab .lines:after{content:"";position:absolute;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .5s cubic-bezier(.68,-.4,.32,1.4),top .5s,opacity .35s}.fab .lines{top:50%;left:50%;transform:translate(-50%,-50%)}.fab .lines:before{top:-6px;left:0}.fab .lines:after{top:6px;left:0}.fab-open .lines{background:transparent}.fab-open .lines:before{top:0;transform:rotate(45deg)}.fab-open .lines:after{top:0;transform:rotate(-45deg)}.radial-items{list-style:none;margin:0;padding:0;position:relative;width:0;height:0;pointer-events:none;z-index:1002}.radial-items li{position:absolute;left:50%;top:50%;translate:-50% -50%;opacity:0;transform:translate(calc(var(--tx,0) * 0),calc(var(--ty,0) * 0)) scale(.3);transition:transform .5s cubic-bezier(.68,-.4,.32,1.2),opacity .3s ease;transition-delay:var(--delay,0ms);pointer-events:none;z-index:1002}.open .radial-items{pointer-events:visible}.open .radial-items li{opacity:1;transform:translate(var(--tx),var(--ty)) scale(1);pointer-events:auto}.open .radial-items li:nth-child(odd){transition-duration:.65s}.radial-item-btn{--bg: var(--panel);--outline: rgba(79,156,255,.25);font:600 14px/1 var(--font-stack);letter-spacing:.5px;text-transform:uppercase;padding:0 2rem;height:64px;border-radius:32px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,var(--bg),rgba(255,255,255,.05));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text);cursor:pointer;display:flex;align-items:center;gap:.5rem;position:relative;box-shadow:0 0 32px #4f9cff52;transition:background .35s,box-shadow .35s,border-color .35s,color .35s;z-index:1002}.radial-item-btn:hover{background:linear-gradient(145deg,var(--bg),rgba(255,255,255,.12));box-shadow:0 0 48px #4f9cff61;border-color:#ffffff2e}.radial-item-btn:active{scale:.95}.radial-item-btn.active{border-color:#4f9cff99;box-shadow:0 0 64px #4f9cff61;background:radial-gradient(circle at 30% 20%,#4f9cff40,#4f9cff0d);color:#fff}.radial-item-btn.active:hover{border-color:#4f9cff99;box-shadow:0 0 80px #4f9cff70;background:radial-gradient(circle at 30% 20%,#4f9cff4d,#4f9cff14)}.radial-item-btn.active span{background:var(--accent-grad);background-clip:text;-webkit-background-clip:text;color:transparent}.radial-item-btn.icon-only{width:64px;padding:0;justify-content:center}.linkedin-icon{display:flex;align-items:center;justify-content:center}.linkedin-icon svg{transition:transform .2s ease}.radial-item-btn.icon-only:hover .linkedin-icon svg{transform:scale(1.1)}@media (max-width: 640px){.radial-item-btn{font-size:13px;height:58px;padding:0 1.8rem}.radial-item-btn.icon-only{width:58px;padding:0}.linkedin-icon svg{width:18px;height:18px}.fab{width:64px;height:64px}.fab .lines,.fab .lines:before,.fab .lines:after{width:18px;height:2px}.home-btn{width:40px;height:40px;left:-100px;margin-right:28px}.home-icon{font-size:16px}}.home-btn{position:absolute;left:-90px;top:50%;translate:0 -50%;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,var(--panel),rgba(255,255,255,.02));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text);cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 16px -4px #4f9cff40,0 2px 6px -2px #4f9cff1a;transition:box-shadow .4s cubic-bezier(.4,0,.2,1),background .3s,transform .2s;outline:none;z-index:1001}.home-btn:hover{background:linear-gradient(145deg,var(--panel),rgba(255,255,255,.08));box-shadow:0 6px 20px -4px #4f9cff59,0 3px 8px -2px #4f9cff26;border-color:#ffffff2e}.home-btn:active{scale:.95}.home-icon{font-size:18px;line-height:1}.radial-root.fade-out{opacity:.12;transition:opacity 3s cubic-bezier(.4,0,.2,1);pointer-events:auto}.radial-root{transition:opacity 3s cubic-bezier(.4,0,.2,1)}:root{--bg: #f5f7fa;--panel: #ffffff;--text: #1b2430;--accent: #4f9cff;--accent-grad: linear-gradient(135deg,#4f9cff,#8855ff);--radius: 12px;--font-stack: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}#root{min-height:100vh}body{margin:0;font-family:var(--font-stack);background:linear-gradient(135deg,#fff,#dfe7f3);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}.app-shell{min-height:100vh;max-width:960px;margin:0 auto;padding:2rem 1.5rem 6rem;position:relative}.minimal-layout{text-align:center}.center-copy{margin-top:clamp(6vh,12vh,16vh);margin-bottom:6rem;max-width:65ch;margin-left:auto;margin-right:auto;padding:0 1rem}.center-copy h1{font-size:clamp(2.4rem,7vw,4.6rem);margin:0 0 2.5rem;background:var(--accent-grad);background-clip:text;-webkit-background-clip:text;color:transparent;letter-spacing:-.5px}.center-copy .tagline{font-size:clamp(.95rem,1.8vw,1.15rem);opacity:.8;margin:0;line-height:1.6}.page-section{max-width:780px;margin:clamp(6vh,10vh,14vh) auto 0;text-align:center;padding:0 1rem 4rem}.page-section h1{font-size:clamp(2rem,5.2vw,3.2rem);margin:0 0 1rem;background:var(--accent-grad);background-clip:text;-webkit-background-clip:text;color:transparent}.page-section p{font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.5;opacity:.85;margin:0 auto;max-width:640px}header{padding:1rem 1rem 2rem}header h1{margin:0 0 .25rem;font-size:clamp(1.9rem,4.2vw,3rem);background:var(--accent-grad);background-clip:text;-webkit-background-clip:text;color:transparent}.tagline{margin:0;font-weight:500;letter-spacing:.5px;opacity:.85}main{width:100%}section{background:var(--panel);padding:1.5rem 1.25rem 2rem;border-radius:var(--radius);box-shadow:0 4px 18px -6px #000b;margin-bottom:2rem}section h2{margin-top:0}code{background:#eef2f7;padding:.25rem .5rem;border-radius:6px;font-family:JetBrains Mono,SF Mono,Menlo,monospace;font-size:.85rem}footer{margin-top:1rem;text-align:center;opacity:.7;font-size:.75rem;padding-bottom:9dvh}.est-clock{position:absolute;top:18px;left:50%;transform:translate(-50%);font-size:.95rem;color:var(--text);background:linear-gradient(145deg,var(--panel),rgba(255,255,255,.02));border-radius:16px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:4px 18px;letter-spacing:.04em;font-weight:500;z-index:2001;opacity:.85;pointer-events:none}@media (max-width: 640px){.est-clock{font-size:.85rem;top:12px;padding:2px 10px}}.radial-item-btn{box-shadow:0 6px 24px -4px #4f9cff40,0 2px 8px -2px #4f9cff1f}.radial-item-btn:hover{box-shadow:0 8px 32px -4px #4f9cff59,0 4px 12px -2px #4f9cff33}.radial-item-btn.active{border-color:#4f9cff99;box-shadow:0 4px 22px -4px #4f9cff40;background:radial-gradient(circle at 30% 20%,#4f9cff33,#4f9cff0a)}.radial-item-btn.active:hover{border-color:#4f9cff99;box-shadow:0 4px 22px -4px #4f9cff59;background:radial-gradient(circle at 30% 20%,#4f9cff40,#4f9cff0f)}.fab{box-shadow:0 6px 24px -4px #4f9cff40,0 2px 8px -2px #4f9cff1f}.fab:hover{box-shadow:0 8px 32px -4px #4f9cff59,0 4px 12px -2px #4f9cff33}.contact-form input,.contact-form textarea{width:100%;padding:.75rem;border:1px solid rgba(0,0,0,.15);border-radius:8px;background-color:var(--panel);color:var(--text);font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4f9cff1a}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#00000080}.send-button{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,var(--accent) 0%,#6366f1 100%);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px -2px #4f9cff66;text-transform:uppercase;letter-spacing:.5px}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px -2px #4f9cff80}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 4px 14px -2px #4f9cff33}@media (prefers-color-scheme: light){.contact-form input::placeholder,.contact-form textarea::placeholder{color:#00000080}.contact-form input,.contact-form textarea{border:1px solid rgba(0,0,0,.15);background-color:var(--panel);color:var(--text)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f9cff1a}}@media (prefers-color-scheme: dark){:root{--bg:#0d1117;--panel:#161b22;--text:#e6edf3}body{background:radial-gradient(circle at 30% 20%,#1c2330,#0d1117 70%)}code{background:#222b36}footer{opacity:.55}.radial-item-btn{box-shadow:0 6px 24px -4px #4f9cff4d,0 2px 8px -2px #4f9cff26}.radial-item-btn:hover{box-shadow:0 8px 32px -4px #4f9cff66,0 4px 12px -2px #4f9cff40}.radial-item-btn.active{border-color:#4f9cff99;box-shadow:0 4px 22px -4px #4f9cff4d;background:radial-gradient(circle at 30% 20%,#4f9cff40,#4f9cff0d)}.radial-item-btn.active:hover{border-color:#4f9cff99;box-shadow:0 4px 22px -4px #4f9cff66;background:radial-gradient(circle at 30% 20%,#4f9cff4d,#4f9cff14)}.fab{box-shadow:0 6px 24px -4px #4f9cff4d,0 2px 8px -2px #4f9cff26}.fab:hover{box-shadow:0 8px 32px -4px #4f9cff66,0 4px 12px -2px #4f9cff40}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#ffffff80}.contact-form input,.contact-form textarea{border:1px solid rgba(255,255,255,.15);background-color:var(--panel);color:var(--text)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f9cff1a}}
