#loading{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;background-color:#070b14;z-index:99999;display:grid;place-items:center;overflow:hidden;-webkit-user-select:none;user-select:none;cursor:pointer}#loading .loading-skip-btn{position:absolute;top:24px;right:28px;display:inline-flex;align-items:center;grid-gap:8px;gap:8px;padding:6px 14px;border-radius:20px;background:rgba(22,30,46,.6);border:1px solid hsla(0,0%,100%,.12);color:#94a3b8;font-size:12px;font-family:"JetBrains Mono",monospace;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}#loading .loading-skip-btn .key-badge{font-size:10px;padding:1px 6px;border-radius:4px;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.15);color:#f8fafc}#loading .loading-skip-btn:hover{color:#f8fafc;border-color:#0ea5e9;background:rgba(56,189,248,.12);box-shadow:0 0 12px rgba(56,189,248,.3);transform:translateY(-1px)}#loading .loading-p-wrapper{display:grid;place-items:center;line-height:1;pointer-events:none;transform-style:flat}#loading .loading-p-wrapper,#loading .loading-p-wrapper .loading-p-svg{position:relative;-webkit-backface-visibility:hidden;backface-visibility:hidden}#loading .loading-p-wrapper .loading-p-svg{z-index:2;display:block;overflow:visible;opacity:1;transform:translateZ(0);transform-style:flat}#loading .loading-p-wrapper .loading-p-svg .loading-p-path{fill:transparent;stroke:#38bdf8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:1}#navbar{background:rgba(30,41,59,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#f8fafc;height:72px;position:-webkit-sticky;position:sticky;width:90%;max-width:1200px;top:15px;margin:0 auto;left:0;right:0;display:flex;justify-content:center;align-items:center;border-radius:50px;transform:translateY(-100px);z-index:1000;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 10px 30px rgba(0,0,0,.4)}#navbar .navbar-container{display:flex;justify-content:space-between;align-items:center;width:95%}#navbar .navbar-container .menu-icon{display:none}@media only screen and (max-width:768px){#navbar .navbar-container .menu-icon{display:block;position:relative;width:25px;height:30px;cursor:pointer}}#navbar .navbar-container .menu-icon .menu-burger{top:13.5px;width:25px}#navbar .navbar-container .menu-icon .menu-burger,#navbar .navbar-container .menu-icon .menu-burger:after,#navbar .navbar-container .menu-icon .menu-burger:before{position:absolute;height:3px;background-color:#f8fafc;transition:transform .3s ease,opacity .3s ease,background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}#navbar .navbar-container .menu-icon .menu-burger:after,#navbar .navbar-container .menu-icon .menu-burger:before{content:""}#navbar .navbar-container .menu-icon .menu-burger:before{content:"";top:-8px;width:25px}#navbar .navbar-container .menu-icon .menu-burger:after{content:"";top:8px;width:18px}#navbar .navbar-container .menu-icon .menu-close{width:25px;height:30px;display:grid;align-items:center}#navbar .navbar-container .menu-icon .menu-close:after,#navbar .navbar-container .menu-icon .menu-close:before{content:"";background-color:#f8fafc;height:3px;transform:rotate(135deg);grid-area:1/1/2/2;transition:transform .3s ease,opacity .3s ease,background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}#navbar .navbar-container .menu-icon .menu-close:after{transform:rotate(225deg)}#navbar .navbar-container .menu{display:flex;align-items:center;grid-gap:8px;gap:8px;list-style:none;transition:transform .4s ease,opacity .4s ease,background-color .4s ease,border-color .4s ease,color .4s ease,box-shadow .4s ease}@media only screen and (max-width:768px){#navbar .navbar-container .menu{width:100%;top:80px;padding:20px 0;display:flex;flex-direction:column;position:absolute;left:0;opacity:0;pointer-events:none;transform:translateY(-20px);transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.16,1,.3,1),background-color .3s cubic-bezier(.16,1,.3,1),border-color .3s cubic-bezier(.16,1,.3,1),color .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);background:rgba(30,41,59,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(15,23,42,.98);border-radius:24px;box-shadow:0 15px 40px rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.1)}}#navbar .navbar-container .menu.active{opacity:1;pointer-events:auto;transform:translateY(0)}#navbar .navbar-container .menu .nav-link{color:#f8fafc;font-weight:500;font-size:14px;padding:8px 16px;border-radius:20px;letter-spacing:.3px;display:flex;align-items:center;grid-gap:6px;gap:6px;transition:transform .25s ease,opacity .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease;position:relative}@media only screen and (max-width:768px){#navbar .navbar-container .menu .nav-link{font-size:16px;padding:12px 24px}}#navbar .navbar-container .menu .nav-link:hover{color:#0ea5e9;background:hsla(0,0%,100%,.05)}#navbar .navbar-container .menu .nav-link.active{color:#38bdf8!important;background:rgba(56,189,248,.1)}#navbar .navbar-container .menu .nav-link.active:after{content:"";position:absolute;bottom:4px;left:20%;right:20%;height:2px;background:#0ea5e9;border-radius:2px}#navbar .navbar-container .menu .nav-link.resume{border:1px solid rgba(56,189,248,.4);background:rgba(14,165,233,.08);color:#7dd3fc;border-radius:30px;padding:6px 16px}#navbar .navbar-container .menu .nav-link.resume .resume-nav-icon{font-size:12px}#navbar .navbar-container .menu .nav-link.resume:hover{color:#fff;background:#0ea5e9;border-color:#0ea5e9;box-shadow:0 0 15px rgba(14,165,233,.4)}#navbar .navbar-container .navbar-right{display:flex;align-items:center;grid-gap:16px;gap:16px}#navbar .navbar-container .navbar-right .nav-cmd-btn{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.15);color:#94a3b8;border-radius:8px;padding:5px 10px;font-size:12px;display:flex;align-items:center;grid-gap:6px;gap:6px;cursor:pointer;transition:transform .2s ease,opacity .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}#navbar .navbar-container .navbar-right .nav-cmd-btn i{font-size:11px;color:#0ea5e9}#navbar .navbar-container .navbar-right .nav-cmd-btn .cmd-text{font-weight:600;letter-spacing:.5px}#navbar .navbar-container .navbar-right .nav-cmd-btn:hover{background:rgba(14,165,233,.15);border-color:#0ea5e9;color:#f8fafc;transform:translateY(-1px)}@media only screen and (max-width:576px)and (orientation:portrait){#navbar .navbar-container .navbar-right .nav-cmd-btn{padding:4px 8px}#navbar .navbar-container .navbar-right .nav-cmd-btn .cmd-text{display:none}}#navbar .navbar-container .navbar-right .navbar-logo{color:#f8fafc;font-size:32px;text-decoration:none;font-family:"Zen Dots",cursive;transition:transform .3s ease,opacity .3s ease,background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease;line-height:1}#navbar .navbar-container .navbar-right .navbar-logo:hover{color:#0ea5e9;transform:scale(1.08)}.morph-wrapper{position:fixed;top:0;left:0;bottom:0;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:#0f172a}.morph{position:relative;top:0;left:0;height:100%;flex:none}.site-particle-network{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:0;opacity:0;transition:opacity 1.2s cubic-bezier(.16,1,.3,1);will-change:opacity}.site-particle-network.is-visible{opacity:1}.site-particle-network.is-hidden{opacity:0}@media(prefers-reduced-motion:reduce){.site-particle-network{transition:none!important}}#home{min-height:calc(100vh - 85px);min-height:calc(100dvh - 85px);display:flex;align-items:center;position:relative;overflow:visible;padding:30px 0 60px}@media only screen and (max-width:576px)and (orientation:portrait){#home{padding:20px 0 40px;min-height:auto}}#home .header-container{width:100%;max-width:1200px;margin:0 auto;position:relative;z-index:1}#home .status-pill-wrap{margin-bottom:24px}#home .status-pill-wrap .status-pill{display:inline-flex;align-items:center;grid-gap:10px;gap:10px;padding:6px 14px;border-radius:30px;background:rgba(15,23,42,.8);border:1px solid rgba(56,189,248,.25);color:#94a3b8;font-size:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .25s ease,opacity .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease;text-decoration:none}#home .status-pill-wrap .status-pill .live-indicator{width:8px;height:8px;border-radius:50%;background-color:#22c55e;box-shadow:0 0 10px #22c55e;animation:pulseLive 2s infinite}#home .status-pill-wrap .status-pill .status-text{color:#cbd5e1;font-weight:500}#home .status-pill-wrap .status-pill .pill-arrow{font-size:10px;color:#0ea5e9;transition:transform .2s ease}#home .status-pill-wrap .status-pill:hover{border-color:#0ea5e9;background:rgba(14,165,233,.12);color:#f8fafc}#home .status-pill-wrap .status-pill:hover .pill-arrow{transform:translateX(3px)}#home .hero-main-heading{position:relative;display:block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;margin-bottom:18px;cursor:default;-webkit-user-select:none;user-select:none;font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;font-size:clamp(2.4rem,6vw + .5rem,5rem);font-weight:800;letter-spacing:-.03em;line-height:1.05}#home .hero-main-heading .hero-title-line{display:block;overflow:hidden}#home .hero-main-heading .hero-heading-base{position:relative;z-index:1;color:#fff}#home .hero-main-heading .hero-heading-base .gradient-text{background:linear-gradient(135deg,#fff 35%,#e2e8f0 75%,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}#home .hero-main-heading .hero-heading-spotlight{position:absolute;inset:0;z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#38bdf8,#0ea5e9 50%,#7dd3fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:var(--spotlight-opacity,0);transition:opacity .22s ease-out;-webkit-mask-image:radial-gradient(circle 140px at var(--mouse-x,-9999px) var(--mouse-y,-9999px),#000 0,rgba(0,0,0,.8) 45%,transparent 100%);mask-image:radial-gradient(circle 140px at var(--mouse-x,-9999px) var(--mouse-y,-9999px),#000 0,rgba(0,0,0,.8) 45%,transparent 100%)}#home .role-rotator-wrap{display:flex;align-items:center;grid-gap:8px;gap:8px;margin-bottom:22px;padding:8px 14px;border-radius:8px;background:rgba(22,30,46,.6);border:1px solid hsla(0,0%,100%,.08);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}@media only screen and (max-width:576px)and (orientation:portrait){#home .role-rotator-wrap{max-width:100%;flex-wrap:wrap}}#home .role-rotator-wrap .terminal-prompt{color:#4ade80;font-size:14px;font-weight:600}#home .role-rotator-wrap .role-typed-wrap{position:relative;display:inline-flex;flex-direction:column}#home .role-rotator-wrap .role-typed-wrap .role-typed{color:#f8fafc;font-size:clamp(.95rem,2vw,1.25rem);font-weight:600;letter-spacing:.2px;min-height:1.5em;display:inline-flex;align-items:center}#home .role-rotator-wrap .role-typed-wrap .role-ghost{visibility:hidden;height:0;overflow:hidden;display:block;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:clamp(.95rem,2vw,1.25rem);font-weight:600;letter-spacing:.2px}#home .role-rotator-wrap .cursor-blink{color:#0ea5e9;font-size:18px;animation:blink .8s infinite}#home .hero-subtext{font-size:clamp(1rem,1.2vw + .4rem,1.15rem);line-height:1.75;color:#94a3b8;max-width:760px;margin-bottom:34px}#home .hero-subtext strong{color:#f8fafc;font-weight:600}#home .dev-command-row-wrap{margin-bottom:46px}#home .dev-command-row-wrap .dev-command-row{display:flex;flex-wrap:wrap;grid-gap:12px;gap:12px;align-items:center}@media only screen and (max-width:576px)and (orientation:portrait){#home .dev-command-row-wrap .dev-command-row{flex-direction:column;grid-gap:10px;gap:10px;width:100%}}#home .dev-command-row-wrap .dev-cmd-btn{display:inline-flex;align-items:center;justify-content:space-between;grid-gap:12px;gap:12px;min-height:44px;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;position:relative;border:1px solid hsla(0,0%,100%,.12);background:rgba(18,26,44,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#e2e8f0;transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .2s cubic-bezier(.16,1,.3,1),background-color .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}@media only screen and (max-width:576px)and (orientation:portrait){#home .dev-command-row-wrap .dev-cmd-btn{width:100%;padding:12px 16px}}#home .dev-command-row-wrap .dev-cmd-btn:focus-visible{outline:2px solid #38bdf8;outline-offset:3px}#home .dev-command-row-wrap .dev-cmd-btn:active{transform:translateY(1px)}#home .dev-command-row-wrap .dev-cmd-btn .btn-content{display:inline-flex;align-items:center;grid-gap:6px;gap:6px}#home .dev-command-row-wrap .dev-cmd-btn .cmd-kbd{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.14);color:#94a3b8;margin-left:6px;flex-shrink:0;box-shadow:inset 0 -1px 0 rgba(0,0,0,.4);transition:color .15s ease,border-color .15s ease}@media only screen and (max-width:576px)and (orientation:portrait){#home .dev-command-row-wrap .dev-cmd-btn .cmd-kbd{display:none}}@media(hover:none){#home .dev-command-row-wrap .dev-cmd-btn .cmd-kbd{display:none}}#home .dev-command-row-wrap .dev-cmd-btn:hover .cmd-kbd{color:#f8fafc;border-color:hsla(0,0%,100%,.28)}#home .dev-command-row-wrap .primary-cmd-btn{background:rgba(14,165,233,.12);border-color:rgba(56,189,248,.4);color:#f8fafc}#home .dev-command-row-wrap .primary-cmd-btn .prompt-char{color:#22c55e;font-weight:700}#home .dev-command-row-wrap .primary-cmd-btn .cmd-text{color:#f8fafc;font-weight:600}#home .dev-command-row-wrap .primary-cmd-btn .cursor-idle{color:#38bdf8;animation:blink .8s infinite;display:inline-block}#home .dev-command-row-wrap .primary-cmd-btn .enter-hover{display:none;color:#38bdf8;font-size:10px;background:rgba(56,189,248,.15);padding:1px 5px;border-radius:3px;letter-spacing:.3px}#home .dev-command-row-wrap .primary-cmd-btn:hover{background:rgba(14,165,233,.2);border-color:#38bdf8;box-shadow:0 0 20px rgba(56,189,248,.25);transform:translateY(-1px)}#home .dev-command-row-wrap .primary-cmd-btn:hover .cursor-idle{display:none}#home .dev-command-row-wrap .primary-cmd-btn:hover .enter-hover{display:inline-block}#home .dev-command-row-wrap .file-chip-btn .file-icon{color:#38bdf8;font-size:13px}#home .dev-command-row-wrap .file-chip-btn .file-name{color:#e2e8f0;font-weight:500}#home .dev-command-row-wrap .file-chip-btn .file-tag{font-size:9px;padding:1px 4px;border-radius:3px;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.3);color:#7dd3fc;font-weight:600}#home .dev-command-row-wrap .file-chip-btn .download-arrow{color:#94a3b8;font-size:11px;transition:transform .2s ease,color .2s ease}#home .dev-command-row-wrap .file-chip-btn:hover{background:rgba(26,36,58,.85);border-color:rgba(56,189,248,.4);transform:translateY(-1px)}#home .dev-command-row-wrap .file-chip-btn:hover .download-arrow{transform:translateY(2px);color:#38bdf8}#home .dev-command-row-wrap .file-chip-btn.is-downloading{border-color:#38bdf8;background:rgba(14,165,233,.15)}#home .dev-command-row-wrap .file-chip-btn.is-downloading .download-progress-text{color:#38bdf8;display:inline-flex;align-items:center;grid-gap:6px;gap:6px}#home .dev-command-row-wrap .file-chip-btn.is-downloading .download-progress-text i{font-size:11px}#home .dev-command-row-wrap .file-chip-btn .download-saved-text{color:#22c55e;display:inline-flex;align-items:center;grid-gap:6px;gap:6px;font-weight:600}#home .dev-command-row-wrap .file-chip-btn .download-saved-text .check-symbol{font-weight:700}#home .dev-command-row-wrap .copy-cmd-btn .pkg-prefix{color:#f43f5e;font-weight:700}#home .dev-command-row-wrap .copy-cmd-btn .pkg-email{color:#cbd5e1}#home .dev-command-row-wrap .copy-cmd-btn .copy-icon{color:#94a3b8;font-size:11px;transition:color .15s ease}#home .dev-command-row-wrap .copy-cmd-btn:hover{background:rgba(26,36,58,.85);border-color:hsla(0,0%,100%,.25);transform:translateY(-1px)}#home .dev-command-row-wrap .copy-cmd-btn:hover .copy-icon{color:#f8fafc}#home .dev-command-row-wrap .copy-cmd-btn.is-copied{border-color:rgba(34,197,94,.5);background:rgba(34,197,94,.14)}#home .dev-command-row-wrap .copy-cmd-btn.is-copied .copied-status{color:#86efac;font-weight:600}#home .dev-command-row-wrap .copy-cmd-btn.is-copied .copied-status .check-symbol{color:#22c55e;font-weight:700;margin-right:4px}#home .dev-command-row-wrap .ssh-cmd-btn .prompt-char{color:#22c55e;font-weight:700}#home .dev-command-row-wrap .ssh-cmd-btn .cmd-text{color:#cbd5e1}#home .dev-command-row-wrap .ssh-cmd-btn .ssh-icon{color:#94a3b8;font-size:11px;transition:color .15s ease}#home .dev-command-row-wrap .ssh-cmd-btn:hover{background:rgba(26,36,58,.85);border-color:rgba(56,189,248,.4);color:#38bdf8;transform:translateY(-1px)}#home .dev-command-row-wrap .ssh-cmd-btn:hover .cmd-text{color:#f8fafc}#home .dev-command-row-wrap .ssh-cmd-btn:hover .ssh-icon{color:#38bdf8}#home .dev-command-row-wrap .command-row-hint{margin-top:10px;display:inline-flex;align-items:center;grid-gap:6px;gap:6px;font-size:11px;color:#64748b;letter-spacing:.2px}@media only screen and (max-width:576px)and (orientation:portrait){#home .dev-command-row-wrap .command-row-hint{display:none}}@media(hover:none){#home .dev-command-row-wrap .command-row-hint{display:none}}#home .dev-command-row-wrap .command-row-hint .hint-label{color:#64748b}#home .dev-command-row-wrap .command-row-hint .hint-kbd{font-family:inherit;font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.12);color:#94a3b8}#home .dev-command-row-wrap .command-row-hint .hint-sep{color:#475569;font-size:10px}#home .hero-stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:16px;gap:16px;width:100%;margin-top:10px}@media only screen and (max-width:576px)and (orientation:portrait){#home .hero-stats-strip{grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}}#home .hero-stats-strip .hero-stat-card{padding:18px 20px;background:rgba(22,30,46,.7);border:1px solid hsla(0,0%,100%,.08);border-radius:14px;display:flex;flex-direction:column;grid-gap:4px;gap:4px;transition:transform .25s ease,opacity .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}#home .hero-stats-strip .hero-stat-card .stat-number{font-size:2rem;font-weight:800;color:#38bdf8;line-height:1.1}#home .hero-stats-strip .hero-stat-card .stat-label{font-size:11px;color:#94a3b8;line-height:1.4}#home .hero-stats-strip .hero-stat-card:hover{border-color:rgba(56,189,248,.35);background:rgba(22,30,46,.9);transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.3)}@keyframes pulseLive{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(.95);opacity:.8}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}#about{display:flex;flex-direction:column;grid-gap:70px;gap:70px;padding:30px 0 60px}@media only screen and (max-width:576px)and (orientation:portrait){#about{grid-gap:50px;gap:50px;padding:15px 0 40px}}#about .section-header{text-align:center;margin-bottom:24px}#about .section-header .section-eyebrow{display:inline-block;font-size:11px;letter-spacing:3px;font-weight:700;color:#0ea5e9;text-transform:uppercase;margin-bottom:8px;background:rgba(14,165,233,.1);padding:4px 12px;border-radius:20px;border:1px solid rgba(14,165,233,.2)}#about .section-header h2{font-size:clamp(1.6rem,3.5vw,2.2rem);font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;letter-spacing:.5px;margin:6px 0;color:#f8fafc;text-wrap:balance}#about .section-header .section-subtitle{font-size:clamp(.9rem,1.5vw,1rem);color:#94a3b8;max-width:620px;margin:0 auto;line-height:1.6;text-wrap:balance}#about .bio-section{max-width:920px;margin:0 auto;width:100%;padding:36px 40px;background:rgba(30,41,59,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid hsla(0,0%,100%,.1);border-radius:18px;box-shadow:0 8px 32px rgba(0,0,0,.25);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s cubic-bezier(.16,1,.3,1),background-color .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);border-radius:20px;display:flex;flex-direction:column;grid-gap:20px;gap:20px}@media only screen and (max-width:576px)and (orientation:portrait){#about .bio-section{padding:24px 20px;grid-gap:16px;gap:16px}}#about .bio-section .intro-text{text-align:left;margin-bottom:8px;padding-bottom:16px;border-bottom:1px solid hsla(0,0%,100%,.08)}#about .bio-section .intro-text h3{font-size:clamp(1.6rem,3vw,2.1rem);font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;margin-bottom:6px;color:#f8fafc}#about .bio-section .intro-text .tagline{font-size:clamp(.95rem,1.8vw,1.08rem);color:#7dd3fc;font-weight:500;margin:0}#about .bio-section p{line-height:1.8;font-size:clamp(.92rem,1.5vw,1.02rem);margin:0;color:#cbd5e1;max-width:75ch}@media only screen and (max-width:576px)and (orientation:portrait){#about .bio-section p{font-size:.92rem}}#about .skills-marquee-container{overflow:hidden;position:relative;width:100%;max-width:1100px;margin:-10px auto 30px;display:flex;flex-direction:column;grid-gap:14px;gap:14px;mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent)}#about .skills-marquee-container:hover .marquee-track{animation-play-state:paused}#about .marquee-track{display:flex;grid-gap:12px;gap:12px;width:-webkit-max-content;width:max-content;will-change:transform}#about .marquee-track.track-left{animation:marqueeScrollLeft 35s linear infinite}#about .marquee-track.track-right{animation:marqueeScrollRight 40s linear infinite}#about .marquee-chip{padding:7px 16px;border-radius:9999px;font-size:.86rem;font-weight:600;color:#e2e8f0;background:rgba(22,30,46,.75);border:1px solid hsla(0,0%,100%,.1);white-space:nowrap;display:inline-flex;align-items:center;grid-gap:8px;gap:8px;transition:transform .2s ease,opacity .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;-webkit-user-select:none;user-select:none}#about .marquee-chip .marquee-dot{color:#0ea5e9;font-size:8px;line-height:1}#about .marquee-chip:hover{border-color:#0ea5e9;color:#7dd3fc;background:rgba(14,165,233,.15);transform:translateY(-2px);box-shadow:0 4px 12px rgba(14,165,233,.2)}@keyframes marqueeScrollLeft{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes marqueeScrollRight{0%{transform:translateX(-50%)}to{transform:translateX(0)}}@media(prefers-reduced-motion:reduce){#about .skills-marquee-container{mask-image:none;-webkit-mask-image:none}#about .marquee-track{animation:none!important;flex-wrap:wrap;justify-content:center;width:100%}}#about .skills-section{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:24px;gap:24px;max-width:1100px;margin:0 auto;width:100%}@media only screen and (max-width:576px)and (orientation:portrait){#about .skills-section{grid-template-columns:1fr;grid-gap:18px;gap:18px}}#about .skills-section .skill-card{background:rgba(30,41,59,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 8px 32px rgba(0,0,0,.25);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s cubic-bezier(.16,1,.3,1),background-color .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);padding:26px 24px;border-radius:18px;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.16,1,.3,1),background-color .3s cubic-bezier(.16,1,.3,1),border-color .3s cubic-bezier(.16,1,.3,1),color .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1)}#about .skills-section .skill-card:hover{transform:translateY(-4px);border-color:rgba(14,165,233,.5);box-shadow:0 12px 30px rgba(0,0,0,.35)}#about .skills-section .skill-card .skill-header{display:flex;align-items:center;grid-gap:12px;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid hsla(0,0%,100%,.08)}#about .skills-section .skill-card .skill-header .skill-icon-svg{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:rgba(14,165,233,.12);color:#7dd3fc;border:1px solid rgba(14,165,233,.25);flex-shrink:0}#about .skills-section .skill-card .skill-header h4{font-size:1.15rem;font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600;margin:0;color:#f8fafc}#about .skills-section .skill-card .skill-tags{display:flex;flex-wrap:wrap;grid-gap:8px;gap:8px}#about .skills-section .skill-card .skill-tags span{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.08);padding:6px 14px;border-radius:20px;font-size:.88rem;color:#f8fafc;transition:transform .2s ease,opacity .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;cursor:default}#about .skills-section .skill-card .skill-tags span:hover{background:rgba(14,165,233,.15);border-color:#0ea5e9;color:#7dd3fc;transform:translateY(-2px)}#about .education-card{max-width:920px;margin:0 auto;width:100%;padding:32px 36px;background:rgba(30,41,59,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid hsla(0,0%,100%,.1);border-radius:18px;box-shadow:0 8px 32px rgba(0,0,0,.25);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s cubic-bezier(.16,1,.3,1),background-color .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);border-radius:20px}@media only screen and (max-width:576px)and (orientation:portrait){#about .education-card{padding:22px 20px}}#about .education-card .education-top{display:flex;align-items:center;grid-gap:18px;gap:18px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid hsla(0,0%,100%,.08)}@media only screen and (max-width:576px)and (orientation:portrait){#about .education-card .education-top{align-items:flex-start}}#about .education-card .education-top .education-icon-wrap{width:54px;height:54px;border-radius:14px;background:rgba(99,102,241,.15);color:#7dd3fc;border:1px solid rgba(99,102,241,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0}#about .education-card .education-top .education-main .institution-name{font-size:clamp(1.2rem,2.5vw,1.45rem);font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;color:#f8fafc;margin:0 0 4px}#about .education-card .education-top .education-main .degree-title{font-size:1.05rem;color:#0ea5e9;margin:0 0 6px;font-weight:500}#about .education-card .education-top .education-main .education-duration{font-size:.85rem;color:#94a3b8;display:inline-flex;align-items:center;grid-gap:6px;gap:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#about .education-card .coursework-section .coursework-heading{font-size:.95rem;color:#f8fafc;font-weight:600;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}#about .education-card .coursework-section .coursework-tags{display:flex;flex-wrap:wrap;grid-gap:8px;gap:8px}#about .education-card .coursework-section .coursework-tags span{font-size:.82rem;padding:5px 12px;border-radius:14px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);color:#cbd5e1;transition:transform .2s ease,opacity .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}#about .education-card .coursework-section .coursework-tags span:hover{border-color:rgba(14,165,233,.4);color:#f8fafc;background:rgba(14,165,233,.1)}#about .certifications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:18px;gap:18px;max-width:1100px;margin:0 auto;width:100%}@media only screen and (max-width:576px)and (orientation:portrait){#about .certifications-grid{grid-template-columns:1fr}}#about .certifications-grid .cert-card{background:rgba(30,41,59,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid hsla(0,0%,100%,.1);border-radius:18px;box-shadow:0 8px 32px rgba(0,0,0,.25);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s cubic-bezier(.16,1,.3,1),background-color .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);padding:20px;border-radius:16px;display:flex;align-items:center;grid-gap:16px;gap:16px;transition:transform .25s ease,opacity .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}#about .certifications-grid .cert-card:hover{transform:translateY(-3px);border-color:rgba(34,197,94,.4);box-shadow:0 8px 24px rgba(0,0,0,.25)}#about .certifications-grid .cert-card:hover .cert-icon{color:#86efac;border-color:rgba(34,197,94,.5);background:rgba(34,197,94,.2)}#about .certifications-grid .cert-card .cert-icon{width:44px;height:44px;border-radius:12px;background:rgba(34,197,94,.12);color:#4ade80;border:1px solid rgba(34,197,94,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .25s ease,opacity .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}#about .certifications-grid .cert-card .cert-content h4{font-size:.98rem;font-weight:600;color:#f8fafc;margin:0 0 4px;line-height:1.35}#about .certifications-grid .cert-card .cert-content .cert-issuer{font-size:.82rem;color:#94a3b8;font-weight:500}.section-header{text-align:center;margin:40px auto 30px;max-width:800px;padding:0 20px}.section-header .section-eyebrow{display:inline-block;font-size:11px;letter-spacing:3px;font-weight:700;color:#0ea5e9;text-transform:uppercase;margin-bottom:8px;background:rgba(14,165,233,.1);padding:4px 12px;border-radius:20px;border:1px solid rgba(14,165,233,.2)}.section-header h2{font-size:clamp(1.7rem,3.5vw,2.3rem);font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.5px;font-weight:700;margin:8px 0;color:#f8fafc;text-wrap:balance}.section-header .section-subtitle{font-size:clamp(.9rem,1.5vw,1.05rem);color:#94a3b8;line-height:1.6;margin:0 auto;max-width:620px;text-wrap:balance}.experience-header{margin-top:80px}.filter-bar{display:flex;flex-wrap:wrap;justify-content:center;grid-gap:10px;gap:10px;margin:0 auto 36px;padding:0 20px;max-width:900px}.filter-bar .filter-btn{display:inline-flex;align-items:center;grid-gap:8px;gap:8px;padding:8px 18px;border-radius:30px;background:rgba(30,41,59,.6);border:1px solid hsla(0,0%,100%,.1);color:#94a3b8;font-size:14px;font-weight:500;cursor:pointer;transition:transform .25s ease,opacity .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.filter-bar .filter-btn .filter-count{font-size:11px;padding:2px 7px;border-radius:10px;background:hsla(0,0%,100%,.08);color:#f8fafc;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.filter-bar .filter-btn:hover{color:#f8fafc;border-color:rgba(14,165,233,.4);background:rgba(30,41,59,.9);transform:translateY(-1px)}.filter-bar .filter-btn.active{color:#fff;background:linear-gradient(135deg,rgba(99,102,241,.3),rgba(14,165,233,.4));border-color:#0ea5e9;box-shadow:0 4px 15px rgba(14,165,233,.25)}.filter-bar .filter-btn.active .filter-count{background:#0ea5e9;color:#0f172a;font-weight:700}.tile-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:28px;gap:28px;max-width:1200px;margin:0 auto;padding:0 20px}@media(max-width:768px){.tile-wrap{grid-template-columns:1fr;padding:0 16px;grid-gap:24px;gap:24px}}.tile-reveal-wrap{width:100%;height:100%}.portfolio-tile{--mouse-x:50%;--mouse-y:50%;perspective:1400px;cursor:pointer;width:100%;height:480px;position:relative;opacity:1}@media(max-width:768px){.portfolio-tile{height:490px}}.tile-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .6s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.portfolio-tile:hover .tile-inner{transform:translateY(-6px);box-shadow:0 16px 36px rgba(0,0,0,.45),0 0 25px rgba(14,165,233,.2)}.portfolio-tile.featured-tile .tile-face{border-color:rgba(125,211,252,.3)}.portfolio-tile.flipped .tile-inner{transform:rotateY(180deg) translateY(-4px)}.portfolio-tile.flipped:hover .tile-inner{transform:rotateY(180deg) translateY(-6px);box-shadow:0 16px 36px rgba(0,0,0,.45),0 0 25px rgba(14,165,233,.2)}.tile-face{position:absolute;inset:0;background:rgba(30,41,59,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 32px rgba(0,0,0,.25);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s cubic-bezier(.16,1,.3,1),background-color .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);background:rgba(22,30,46,.88);border-radius:18px;padding:20px;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid hsla(0,0%,100%,.1);display:flex;flex-direction:column;overflow:hidden;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.tile-face:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(350px circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(56,189,248,.14),transparent 45%);pointer-events:none;opacity:0;transition:opacity .3s ease;z-index:1}.portfolio-tile:hover .tile-face:before{opacity:1}.tile-front{text-align:left;transform:rotateY(0deg) translateZ(1px);z-index:2}.portfolio-img-wrap{height:155px;width:100%;background:rgba(15,23,42,.6);border-radius:12px;overflow:hidden;margin-bottom:14px;border:1px solid hsla(0,0%,100%,.06);display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.portfolio-img-wrap .portfolio-img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s ease}.portfolio-tile:hover .portfolio-img{transform:scale(1.04)}.tile-header-area{display:flex;align-items:center;justify-content:space-between;grid-gap:10px;gap:10px;margin-bottom:8px;position:relative;z-index:2}.tile-header-area .project-title{font-size:19px;font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;color:#f8fafc;margin:0}.tile-header-area .project-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:12px;background:rgba(14,165,233,.15);color:#7dd3fc;border:1px solid rgba(14,165,233,.3);white-space:nowrap}.project-brief{font-size:13.5px;line-height:1.55;color:#cbd5e1;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-overflow:ellipsis}.project-brief,.tech-tags{overflow:hidden;position:relative;z-index:2}.tech-tags{display:flex;flex-wrap:wrap;grid-gap:6px;gap:6px;margin-bottom:14px;max-height:72px}.tech-tags span{font-size:11px;font-weight:500;padding:3px 8px;border-radius:6px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.08);color:#cbd5e1}.tile-bottom-bar{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid hsla(0,0%,100%,.08);position:relative;z-index:2}.project-links{display:flex;grid-gap:8px;gap:8px;align-items:center}.project-links .project-action-btn{display:inline-flex;align-items:center;grid-gap:6px;gap:6px;padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,opacity .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;text-decoration:none}.project-links .project-action-btn i{font-size:12px}.project-links .project-action-btn.live-btn{background:rgba(14,165,233,.15);color:#7dd3fc;border-color:rgba(14,165,233,.35)}.project-links .project-action-btn.live-btn:hover{background:#0ea5e9;color:#0f172a;box-shadow:0 4px 12px rgba(14,165,233,.3)}.project-links .project-action-btn.github-btn{background:hsla(0,0%,100%,.08);color:#f8fafc;border-color:hsla(0,0%,100%,.15)}.project-links .project-action-btn.github-btn:hover{background:hsla(0,0%,100%,.18);border-color:hsla(0,0%,100%,.3)}.project-links .project-action-btn.pub-btn{background:rgba(34,197,94,.15);color:#86efac;border-color:rgba(34,197,94,.35)}.project-links .project-action-btn.pub-btn:hover{background:#22c55e;color:#0f172a;box-shadow:0 4px 12px rgba(34,197,94,.3)}.flip-prompt{display:inline-flex;align-items:center;grid-gap:5px;gap:5px;font-size:11px;color:#94a3b8;opacity:.8;transition:opacity .2s ease,color .2s ease}.flip-prompt i{font-size:11px;transition:transform .3s ease}.flip-prompt:hover{opacity:1;color:#0ea5e9}.flip-prompt:hover i{transform:rotate(180deg)}.tile-back{transform:rotateY(180deg) translateZ(1px);text-align:left;background:rgba(18,25,40,.96);z-index:1}.tile-back .back-header{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid hsla(0,0%,100%,.08);position:relative;z-index:2}.tile-back .back-header .back-title{font-size:18px;font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;color:#f8fafc;margin:0 0 2px}.tile-back .back-header .back-subtitle{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#0ea5e9;font-weight:600}.tile-back .details-list{list-style:none;padding:0;margin:0;overflow-y:auto;flex-grow:1;position:relative;z-index:2}.tile-back .details-list .details-item{display:flex;align-items:flex-start;grid-gap:8px;gap:8px;font-size:13px;line-height:1.55;color:#cbd5e1;margin-bottom:10px}.tile-back .details-list .details-item .bullet-point{color:#0ea5e9;font-weight:700;font-size:12px;flex-shrink:0;margin-top:1px}.tile-back .tile-back-bottom{margin-top:auto;padding-top:12px;border-top:1px solid hsla(0,0%,100%,.08);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.portfolio-tile.flipped .tile-front{z-index:1}.portfolio-tile.flipped .tile-back{z-index:3}.timeline-container{max-width:880px;margin:30px auto 60px;padding:0 20px;position:relative}.timeline-container:before{content:"";position:absolute;top:0;bottom:0;left:40px;width:2px;background:linear-gradient(180deg,#0ea5e9,rgba(14,165,233,.5) 50%,rgba(14,165,233,.05));box-shadow:0 0 8px rgba(14,165,233,.3)}@media(max-width:768px){.timeline-container:before{left:20px}}.timeline-item{position:relative;padding-left:55px}@media(max-width:768px){.timeline-item{padding-left:35px}}.timeline-item .timeline-marker{position:absolute;left:14px;top:36px;width:14px;height:14px;border-radius:50%;background:#0ea5e9;border:3px solid #0f172a;box-shadow:0 0 12px #0ea5e9,0 0 24px rgba(14,165,233,.5);animation:markerPulse 2.5s infinite}@media(max-width:768px){.timeline-item .timeline-marker{left:-6px}}@keyframes markerPulse{0%,to{transform:scale(1);box-shadow:0 0 12px #0ea5e9,0 0 20px rgba(14,165,233,.5)}50%{transform:scale(1.2);box-shadow:0 0 18px #0ea5e9,0 0 30px rgba(14,165,233,.8)}}.experience-card.vertical{background:rgba(30,41,59,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 32px rgba(0,0,0,.25);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s cubic-bezier(.16,1,.3,1),background-color .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);background:rgba(22,30,46,.88);border-radius:18px;padding:32px;border:1px solid hsla(0,0%,100%,.1);text-align:left;transition:transform .3s ease,opacity .3s ease,background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}.experience-card.vertical:hover{border-color:rgba(14,165,233,.4);box-shadow:0 16px 36px rgba(0,0,0,.3),0 0 25px rgba(14,165,233,.15);transform:translateY(-2px)}@media(max-width:768px){.experience-card.vertical{padding:22px}}.experience-card.vertical .experience-top-row{display:flex;align-items:center;grid-gap:20px;gap:20px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid hsla(0,0%,100%,.08)}@media(max-width:600px){.experience-card.vertical .experience-top-row{flex-direction:column;align-items:flex-start;grid-gap:12px;gap:12px}}.experience-card.vertical .experience-logo img{width:80px;height:80px;border-radius:12px;object-fit:cover;border:1px solid hsla(0,0%,100%,.15)}.experience-card.vertical .experience-meta{display:flex;flex-direction:column;grid-gap:4px;gap:4px}.experience-card.vertical .experience-meta .experience-role{font-size:clamp(1.15rem,2.5vw,1.35rem);font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;color:#f8fafc;margin:0}.experience-card.vertical .experience-meta .experience-company{font-size:15px;font-weight:500;color:#0ea5e9}.experience-card.vertical .experience-meta .experience-location{font-size:13px;color:#94a3b8}.experience-card.vertical .experience-meta .experience-duration{font-size:13px;color:#7dd3fc;font-weight:600;display:inline-flex;align-items:center;grid-gap:6px;gap:6px;margin-top:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.experience-card.vertical .experience-points{margin:0 0 20px;padding-left:20px;list-style-type:disc}.experience-card.vertical .experience-points li{font-size:14px;line-height:1.7;color:#cbd5e1;margin-bottom:10px;max-width:75ch}.experience-card.vertical .experience-points li strong{color:#f8fafc}.experience-card.vertical .experience-tags{display:flex;flex-wrap:wrap;grid-gap:8px;gap:8px}.experience-card.vertical .experience-tags span{font-size:12px;font-weight:500;padding:4px 12px;border-radius:14px;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.1);color:#f8fafc;transition:transform .2s ease,opacity .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.experience-card.vertical .experience-tags span:hover{background:rgba(14,165,233,.15);border-color:#0ea5e9;color:#0ea5e9}#contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-gap:clamp(4rem,6vw,6rem);gap:clamp(4rem,6vw,6rem);align-items:start;max-width:1200px;padding-inline:clamp(1.25rem,4vw,3rem);padding-block:clamp(4rem,8vw,8rem);margin:0 auto clamp(3rem,6vw,6rem);scroll-margin-top:100px;box-sizing:border-box}@media only screen and (max-width:768px){#contact{grid-template-columns:1fr;grid-gap:2.5rem;gap:2.5rem;padding-block:clamp(3rem,6vw,5rem);margin-bottom:clamp(2.5rem,5vw,4rem)}}@media only screen and (max-width:576px)and (orientation:portrait){#contact{padding-inline:1.25rem;grid-gap:2.5rem;gap:2.5rem}}#contact .contact-details-col{grid-gap:2.5rem;gap:2.5rem;text-align:left}#contact .contact-details-col,#contact .contact-header{display:flex;flex-direction:column;align-items:flex-start;width:100%}#contact .contact-header .section-eyebrow{display:inline-block;font-size:11px;letter-spacing:3px;font-weight:700;color:#0ea5e9;text-transform:uppercase;margin-bottom:12px;background:rgba(14,165,233,.1);padding:4px 12px;border-radius:20px;border:1px solid rgba(14,165,233,.2)}#contact .contact-header h2{font-size:clamp(2.2rem,5vw,3.5rem);font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;color:#f8fafc;margin:0 0 16px;letter-spacing:-.5px;line-height:1.15;text-wrap:balance}#contact .contact-header p{color:#94a3b8;font-size:clamp(.95rem,1.5vw,1.05rem);line-height:1.65;max-width:480px;margin:0}#contact .contact-info{display:flex;flex-direction:column;align-items:flex-start;width:100%;line-height:24px}#contact .contact-info h3{font-size:1.2rem;font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600;color:#f8fafc;margin:0 0 16px;letter-spacing:-.01em}#contact .contact-info ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;grid-gap:16px;gap:16px;width:100%}#contact .contact-info li{list-style:none;margin:0;padding:0;display:flex;align-items:center;grid-gap:12px;gap:12px;font-size:.95rem;color:#94a3b8}#contact .contact-info li .contact-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:rgba(14,165,233,.1);color:#0ea5e9;flex-shrink:0}#contact .contact-info li a{color:#f8fafc;transition:color .2s ease;word-break:break-all}#contact .contact-info li a:hover{color:#0ea5e9}#contact .contact-info li a:focus-visible{outline:2px solid #0ea5e9;outline-offset:2px;border-radius:4px}#contact .contact-info li.contact-email-row{flex-wrap:wrap}#contact .contact-info li.contact-email-row .copy-email-btn{display:inline-flex;align-items:center;grid-gap:6px;gap:6px;padding:4px 12px;min-height:28px;border-radius:12px;font-size:11px;font-weight:600;color:#7dd3fc;background:rgba(14,165,233,.12);border:1px solid rgba(14,165,233,.3);cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease;margin-left:6px}#contact .contact-info li.contact-email-row .copy-email-btn:hover{background:#0ea5e9;color:#0f172a;transform:translateY(-1px)}#contact .contact-info li.contact-email-row .copy-email-btn:focus-visible{outline:2px solid #0ea5e9;outline-offset:2px}#contact .contact-info li.contact-email-row .copy-email-btn .copy-icon{display:inline-flex;align-items:center}#contact .social-media{display:flex;flex-direction:column;align-items:flex-start;width:100%}#contact .social-media .social-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;grid-gap:16px;gap:16px;align-items:center}#contact .social-media .social-links li{list-style:none;margin:0;padding:0}#contact .social-media .social-links li a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:12px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.12);color:#f8fafc;transition:transform .25s ease,background-color .25s ease,border-color .25s ease,box-shadow .25s ease,color .25s ease}#contact .social-media .social-links li a svg{width:20px;height:20px;fill:currentColor;transition:fill .2s ease}#contact .social-media .social-links li a:hover{transform:translateY(-3px);color:#0f172a;background:#0ea5e9;border-color:#0ea5e9;box-shadow:0 4px 14px rgba(14,165,233,.4)}#contact .social-media .social-links li a:focus-visible{outline:2px solid #0ea5e9;outline-offset:3px}#contact .contact-form{display:flex;flex-direction:column;width:100%;box-sizing:border-box;background:rgba(30,41,59,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid hsla(0,0%,100%,.1);border-radius:18px;box-shadow:0 8px 32px rgba(0,0,0,.25);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s cubic-bezier(.16,1,.3,1),background-color .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);padding:clamp(2rem,4vw,2.75rem);border-radius:20px}@media only screen and (max-width:576px)and (orientation:portrait){#contact .contact-form{padding:1.5rem 1.25rem}}#contact .contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.25rem;gap:1.25rem;width:100%}@media only screen and (max-width:576px)and (orientation:portrait){#contact .contact-form .form-row{grid-template-columns:1fr;grid-gap:0;gap:0}}#contact .contact-form .form-group{width:100%;margin:.75rem 0;position:relative}#contact .contact-form .form-group.form-group-full{width:100%}#contact .contact-form .form-group label{color:#94a3b8;font-size:.95rem;padding:0 18px;position:absolute;top:16px;left:0;transition:top .2s ease,font-size .2s ease,color .2s ease;pointer-events:none}#contact .contact-form input,#contact .contact-form textarea{width:100%;font-size:1rem;background-color:rgba(15,23,42,.7);color:#f8fafc;border:1px solid hsla(0,0%,100%,.12);border-radius:12px;padding:24px 18px 10px;box-shadow:inset 0 2px 4px rgba(0,0,0,.3);transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease;font-family:"Inter",system-ui,-apple-system,sans-serif;box-sizing:border-box}#contact .contact-form input:focus,#contact .contact-form textarea:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.25),inset 0 2px 4px rgba(0,0,0,.3)}#contact .contact-form input{min-height:52px;height:52px}#contact .contact-form textarea{min-height:140px;resize:vertical}#contact .contact-form input:focus~label,#contact .contact-form input:not(:placeholder-shown)~label,#contact .contact-form input:valid~label,#contact .contact-form textarea:focus~label,#contact .contact-form textarea:not(:placeholder-shown)~label,#contact .contact-form textarea:valid~label{font-size:.75rem;top:6px;color:#0ea5e9}#contact .contact-form .form-submit-row{width:100%;display:flex;justify-content:flex-start;margin-top:1.25rem}#contact .contact-form .submit-btn{width:140px;min-height:48px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#0ea5e9,#7dd3fc);color:#0f172a;outline:none;border:none;padding:12px 28px;border-radius:24px;box-shadow:0 4px 15px rgba(14,165,233,.35);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}#contact .contact-form .submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(14,165,233,.5)}#contact .contact-form .submit-btn:focus-visible{outline:2px solid #f8fafc;outline-offset:3px}#contact .contact-form .submit-btn:active{transform:translateY(0)}@media only screen and (max-width:576px)and (orientation:portrait){#contact .contact-form .submit-btn{width:100%}}#contact .contact-form .submit-btn .submit-text{display:flex;justify-content:center;align-items:center;grid-gap:6px;gap:6px}.form-status{margin-top:1.5rem;padding:.9rem 1.2rem;border-radius:10px;display:flex;align-items:center;grid-gap:12px;gap:12px;font-size:.88rem;animation:fadeIn .4s ease;width:100%;box-sizing:border-box}.form-status svg{flex-shrink:0}.form-status.success{background:rgba(74,222,128,.15);color:#86efac;border:1px solid rgba(74,222,128,.3)}.form-status.success svg{stroke:#86efac}.form-status.error{background:rgba(248,113,113,.15);color:#fca5a5;border:1px solid rgba(248,113,113,.3)}.form-status.error svg{stroke:#fca5a5}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{font-size:1rem;box-shadow:inset 0 2px 4px rgba(0,0,0,.3),inset 0 0 0 60px rgba(15,23,42,.95)!important;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.3),0 0 0 60px rgba(15,23,42,.95) inset!important;-webkit-text-fill-color:#f8fafc!important}#footer{width:100%;padding-block:clamp(2.5rem,5vw,4rem);border-top:1px solid hsla(0,0%,100%,.08);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}@media only screen and (max-width:576px)and (orientation:portrait){#footer{padding-bottom:5.5rem}}#footer .footer-content{display:flex;flex-direction:column;align-items:center;grid-gap:.6rem;gap:.6rem;padding-inline:1rem}#footer .footer-brand{font-size:1.1rem;color:#f8fafc;letter-spacing:-.02em;margin:0}#footer .footer-copy{font-size:.85rem;color:#94a3b8;opacity:.8;margin:0;line-height:1.5}.chat-widget-root{position:fixed;bottom:28px;right:28px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;grid-gap:12px;gap:12px;pointer-events:none}.chat-widget-root>*{pointer-events:auto}@media(max-width:480px){.chat-widget-root{bottom:16px;right:16px}}.chat-panel{width:380px;height:540px;background:rgba(15,23,42,.85);border:1px solid hsla(0,0%,100%,.15);border-radius:20px;box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 0 1px hsla(0,0%,100%,.05);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;overflow:hidden;color:#f8fafc;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;opacity:0;transform:translateY(16px) scale(.97);transform-origin:bottom right;transition:opacity .28s cubic-bezier(.34,1.56,.64,1),transform .28s cubic-bezier(.34,1.56,.64,1),visibility 0s .28s;visibility:hidden;pointer-events:none}.chat-panel--open{opacity:1;transform:translateY(0) scale(1);visibility:visible;pointer-events:auto;transition:opacity .32s cubic-bezier(.34,1.56,.64,1),transform .32s cubic-bezier(.34,1.56,.64,1)}@media(max-width:480px){.chat-panel{width:calc(100vw - 32px);height:70vh;border-radius:16px}}.chat-header{justify-content:space-between;padding:14px 16px;border-bottom:1px solid hsla(0,0%,100%,.1);background:rgba(30,41,59,.9);flex-shrink:0}.chat-header,.chat-header-info{display:flex;align-items:center}.chat-header-info{grid-gap:10px;gap:10px}.chat-header-avatar{width:36px;height:36px;border-radius:50%;background:rgba(30,41,59,.9);color:#7dd3fc;border:1px solid hsla(0,0%,100%,.15);font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-header-name{display:block;font-weight:700;font-size:13.5px;color:#f8fafc;letter-spacing:.01em;line-height:1.2}.chat-header-status{display:flex;align-items:center;grid-gap:5px;gap:5px;font-size:11px;color:#94a3b8;margin-top:2px}.status-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px rgba(34,197,94,.7);animation:pulse-green 2s infinite}@keyframes pulse-green{0%,to{box-shadow:0 0 6px rgba(34,197,94,.7)}50%{box-shadow:0 0 12px rgba(34,197,94,.4)}}.chat-header-actions{display:flex;align-items:center;grid-gap:4px;gap:4px}.chat-icon-btn{width:30px;height:30px;border:none;background:transparent;color:#94a3b8;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.chat-icon-btn svg{width:15px;height:15px}.chat-icon-btn:hover{background:hsla(0,0%,100%,.06);color:#f8fafc}.chat-icon-btn.chat-close-btn:hover{background:rgba(239,68,68,.12);color:#ef4444}.chat-messages{flex:1 1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;grid-gap:14px;gap:14px}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.15);border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#0ea5e9}.chat-welcome{flex-direction:column;text-align:center;padding:12px 8px;grid-gap:10px;gap:10px;animation:fade-in-up .4s ease}.chat-welcome,.welcome-avatar{display:flex;align-items:center}.welcome-avatar{width:56px;height:56px;border-radius:50%;background:rgba(30,41,59,.9);border:1px solid hsla(0,0%,100%,.15);color:#7dd3fc;font-weight:700;font-size:22px;justify-content:center}.welcome-title{font-size:16px;font-weight:700;color:#f8fafc;margin:0}.welcome-subtitle{font-size:13px;color:#94a3b8;line-height:1.5;margin:0;max-width:280px}.suggestions-grid{display:flex;flex-direction:column;grid-gap:7px;gap:7px;width:100%;margin-top:4px}.suggestion-chip{background:rgba(30,41,59,.9);border:1px solid hsla(0,0%,100%,.15);border-radius:10px;color:#f8fafc;font-size:12.5px;padding:9px 14px;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,color .15s;font-family:inherit}.suggestion-chip:hover:not(:disabled){border-color:#7dd3fc;color:#7dd3fc;background:rgba(14,165,233,.1)}.suggestion-chip:disabled{opacity:.5;cursor:not-allowed}.chat-message{display:flex;align-items:flex-end;grid-gap:8px;gap:8px;animation:fade-in-up .22s ease}.chat-message.user{flex-direction:row-reverse}.chat-message.bot{flex-direction:row}.chat-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.chat-avatar.bot-avatar{color:#7dd3fc}.chat-avatar.bot-avatar,.chat-avatar.user-avatar{background:rgba(30,41,59,.9);border:1px solid hsla(0,0%,100%,.15)}.chat-avatar.user-avatar{color:#94a3b8}.chat-avatar.user-avatar svg{width:16px;height:16px}.message-bubble{max-width:80%;padding:10px 14px;border-radius:16px;font-size:13.5px;line-height:1.55}.message-bubble p{margin:0}.message-bubble.user-bubble{background:#7dd3fc;color:#fff;border-bottom-right-radius:4px}.message-bubble.bot-bubble{background:rgba(30,41,59,.7);color:#f8fafc;border:1px solid hsla(0,0%,100%,.1);border-left:2px solid #0ea5e9;border-bottom-left-radius:4px}.chat-message.error .bot-bubble{border-left-color:#ef4444;background:rgba(239,68,68,.05)}.chat-message.error .bot-bubble .chat-retry-btn{display:inline-flex;align-items:center;grid-gap:5px;gap:5px;margin-top:8px;padding:4px 10px;background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.35);border-radius:6px;color:#fca5a5;font-size:11.5px;font-family:inherit;font-weight:500;cursor:pointer;transition:all .2s ease}.chat-message.error .bot-bubble .chat-retry-btn:hover:not(:disabled){background:rgba(239,68,68,.25);color:#fff}.chat-message.error .bot-bubble .chat-retry-btn:disabled{opacity:.5;cursor:not-allowed}.md-content .md-h2{font-size:15px;font-weight:700;margin:6px 0 4px;color:#f8fafc}.md-content .md-h3{font-size:14px;font-weight:700;margin:5px 0 3px;color:#7dd3fc}.md-content .md-h4{font-size:13px;font-weight:700;margin:4px 0 2px;color:#7dd3fc}.md-content .md-p{margin:0 0 6px;font-size:13.5px;line-height:1.55;color:inherit}.md-content .md-li{margin:2px 0 2px 16px;list-style:disc;font-size:13.5px;color:inherit}.md-content .md-code{background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.15);border-radius:4px;padding:1px 5px;font-size:12px;font-family:"JetBrains Mono","Fira Code",monospace;color:#7dd3fc}.md-content .md-link{color:#7dd3fc;text-decoration:underline;text-underline-offset:2px}.md-content .md-link:hover{color:rgb(199.7744360902,236.3082706767,253.7255639098)}.md-content>:last-child{margin-bottom:0}.typing-indicator-wrapper{align-items:flex-end}.typing-dots{display:flex;align-items:center;grid-gap:4px;gap:4px;padding:4px 2px}.typing-dots span{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:typing-bounce 1.3s ease-in-out infinite}.typing-dots span:first-child{animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.18s}.typing-dots span:nth-child(3){animation-delay:.36s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-6px);opacity:1}}.chat-input-row{display:flex;align-items:flex-end;grid-gap:8px;gap:8px;padding:10px 14px;border-top:1px solid hsla(0,0%,100%,.1);background:rgba(30,41,59,.7);flex-shrink:0}.chat-textarea{flex:1 1;background:rgba(30,41,59,.9);border:1px solid hsla(0,0%,100%,.15);border-radius:12px;color:#f8fafc;font-family:inherit;font-size:13.5px;line-height:1.4;padding:9px 12px;resize:none;min-height:40px;max-height:120px;overflow-y:auto;transition:border-color .15s,box-shadow .15s;field-sizing:content}.chat-textarea::placeholder{color:#94a3b8}.chat-textarea:focus{outline:none;border-color:#7dd3fc;box-shadow:0 0 0 2px rgba(14,165,233,.15)}.chat-textarea:disabled{opacity:.6;cursor:not-allowed}.chat-send-btn{width:38px;height:38px;border-radius:10px;border:none;background:#0ea5e9;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .12s,opacity .15s}.chat-send-btn svg{width:17px;height:17px}.chat-send-btn:hover:not(:disabled){background:rgb(30.9615384615,176.1538461538,241.5384615385);transform:scale(1.05)}.chat-send-btn:active:not(:disabled){transform:scale(.96)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.chat-send-btn .spin{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.chat-footer-note{text-align:center;font-size:10.5px;color:#94a3b8;padding:4px 0 8px;background:rgba(30,41,59,.7);flex-shrink:0;opacity:.7}.chat-fab{width:52px;height:52px;border-radius:50%;border:1px solid rgba(125,211,252,.25);background:rgba(15,23,42,.75);color:#7dd3fc;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 4px 24px rgba(0,0,0,.35),inset 0 1px 0 hsla(0,0%,100%,.06);transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,border-color .25s ease,background .25s ease}.chat-fab:hover{transform:scale(1.08);border-color:rgba(14,165,233,.5);background:rgba(14,165,233,.1);box-shadow:0 6px 30px rgba(14,165,233,.2),0 2px 10px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.08)}.chat-fab:active{transform:scale(.95)}.chat-fab--open{background:rgba(30,41,59,.8);border-color:hsla(0,0%,100%,.12);color:#94a3b8;box-shadow:0 4px 20px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.05)}.chat-fab--open:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444;box-shadow:0 4px 20px rgba(239,68,68,.15)}.chat-fab--open .chat-fab-icon--chat{opacity:0;transform:rotate(-90deg) scale(.5)}.chat-fab--open .chat-fab-icon--close{opacity:1;transform:rotate(0deg) scale(1)}.chat-fab-icon{position:absolute;display:flex;align-items:center;justify-content:center;transition:opacity .22s ease,transform .22s ease}.chat-fab-icon svg{width:20px;height:20px}.chat-fab-icon--chat{opacity:1;transform:rotate(0deg) scale(1)}.chat-fab-icon--close{opacity:0;transform:rotate(90deg) scale(.5)}.chat-fab-pulse{position:absolute;inset:-6px;border-radius:50%;border:1.5px solid rgba(14,165,233,.25);animation:fab-pulse 3s ease-out infinite;pointer-events:none}@keyframes fab-pulse{0%{transform:scale(1);opacity:.6}70%{transform:scale(1.4);opacity:0}to{transform:scale(1.4);opacity:0}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-nudge{position:absolute;right:64px;bottom:10px;background:rgba(15,23,42,.82);color:#94a3b8;padding:8px 16px;border-radius:20px;border:1px solid rgba(125,211,252,.18);font-size:12.5px;font-weight:500;letter-spacing:.3px;white-space:nowrap;box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.04);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);cursor:pointer;opacity:0;transform:translateX(12px) scale(.92);pointer-events:none;transition:opacity .45s cubic-bezier(.34,1.56,.64,1),transform .45s cubic-bezier(.34,1.56,.64,1),border-color .25s ease,color .25s ease}.chat-nudge--visible{opacity:1;transform:translateX(0) scale(1);pointer-events:auto;animation:float-nudge 4s ease-in-out infinite;animation-delay:.5s}.chat-nudge:hover{color:#7dd3fc;border-color:rgba(125,211,252,.35);background:rgba(15,23,42,.92)}.chat-nudge .wave{display:inline-block;animation:wave-animation 2.5s infinite;transform-origin:70% 70%}@keyframes float-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes wave-animation{0%{transform:rotate(0deg)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0deg)}to{transform:rotate(0deg)}}.command-palette-backdrop{position:fixed;inset:0;background:rgba(10,15,29,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:99998;display:flex;align-items:flex-start;justify-content:center;padding:100px 20px 20px;animation:fadeIn .15s ease-out}@media only screen and (max-width:576px)and (orientation:portrait){.command-palette-backdrop{padding:60px 14px 20px}}.command-palette-modal{width:100%;max-width:620px;background:rgba(18,25,42,.96);border:1px solid rgba(56,189,248,.25);border-radius:16px;box-shadow:0 25px 60px rgba(0,0,0,.7),0 0 40px rgba(14,165,233,.2);overflow:hidden;animation:slideDown .2s cubic-bezier(.16,1,.3,1)}.palette-input-wrap{display:flex;align-items:center;grid-gap:12px;gap:12px;padding:16px 20px;border-bottom:1px solid hsla(0,0%,100%,.08)}.palette-input-wrap .palette-search-icon{font-size:16px;color:#0ea5e9}.palette-input-wrap .palette-input{flex:1 1;background:transparent;border:none;outline:none;color:#f8fafc;font-size:15px}.palette-input-wrap .palette-input::placeholder{color:rgba(148,163,184,.6)}.palette-input-wrap .palette-esc-badge{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.15);color:#94a3b8;font-size:11px;padding:2px 7px;border-radius:5px;cursor:pointer}.palette-results{max-height:340px;overflow-y:auto;padding:8px}.palette-results .palette-empty{padding:30px 20px;text-align:center;color:#94a3b8;font-size:13px}.palette-results .palette-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;cursor:pointer;transition:all .15s ease}.palette-results .palette-item .item-left{display:flex;align-items:center;grid-gap:12px;gap:12px}.palette-results .palette-item .item-left .item-icon{width:16px;color:#94a3b8;font-size:14px;transition:color .15s ease}.palette-results .palette-item .item-left .item-title{color:#f8fafc;font-size:14px;font-weight:500}.palette-results .palette-item .item-category{font-size:11px;color:rgba(148,163,184,.6);text-transform:uppercase;letter-spacing:.5px}.palette-results .palette-item.active{background:rgba(14,165,233,.15);border:1px solid rgba(56,189,248,.3)}.palette-results .palette-item.active .item-icon{color:#0ea5e9}.palette-results .palette-item.active .item-category{color:#7dd3fc}.palette-footer{padding:10px 20px;background:rgba(15,23,42,.6);border-top:1px solid hsla(0,0%,100%,.06);display:flex;grid-gap:16px;gap:16px;font-size:11px;color:#94a3b8}.palette-footer kbd{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.15);padding:1px 5px;border-radius:4px;color:#f8fafc;margin-right:2px}@media only screen and (max-width:576px)and (orientation:portrait){.palette-footer{display:none}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.portfolio-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:rgba(15,23,42,.95);border:1px solid rgba(34,197,94,.4);color:#86efac;padding:10px 20px;border-radius:30px;box-shadow:0 10px 30px rgba(0,0,0,.5),0 0 20px rgba(34,197,94,.2);display:flex;align-items:center;grid-gap:10px;gap:10px;font-size:13px;z-index:100000;animation:toastSlideUp .3s cubic-bezier(.16,1,.3,1)}.portfolio-toast .toast-icon{font-size:15px;color:#22c55e}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%,15px)}to{opacity:1;transform:translate(-50%)}}html{scroll-behavior:smooth;font-size:16px}*{margin:0;padding:0;box-sizing:border-box;font-family:"Inter",system-ui,-apple-system,sans-serif}.App{background:#0f172a;color:#f8fafc;min-height:100vh;min-height:100dvh;overflow-x:clip;position:relative}body,html{overscroll-behavior-y:none;background-color:#0f172a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}.font-display,h1,h2,h3,h4{font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;text-wrap:balance;letter-spacing:-.02em}h1{font-size:clamp(2.4rem,5vw + 1rem,4.2rem);line-height:1.1}h1,h2{font-weight:700}h2{font-size:clamp(1.6rem,2.5vw + .5rem,2.4rem);line-height:1.2}h3{font-size:clamp(1.2rem,1.8vw + .3rem,1.6rem);line-height:1.3}h3,h4{font-weight:600}h4{font-size:1.15rem}p{font-size:clamp(.95rem,.4vw + .85rem,1.05rem);line-height:1.7;color:#cbd5e1}.prose{max-width:68ch}.font-mono{font-family:"JetBrains Mono",monospace}.tabular-nums{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a,a:visited{color:inherit;text-decoration:none}ul{list-style:none}.scroll-progress-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#0ea5e9,#22c55e);z-index:9999;transition:width .1s linear;box-shadow:0 0 10px rgba(14,165,233,.5)}@media(hover:hover)and (pointer:fine){.custom-cursor-dot{width:8px;height:8px;background-color:#0ea5e9;border-radius:50%;z-index:10000;transition:transform .08s ease-out,background-color .2s ease}.custom-cursor-dot,.custom-cursor-ring{position:fixed;top:0;left:0;pointer-events:none;transform:translate(-50%,-50%)}.custom-cursor-ring{width:32px;height:32px;border:1.5px solid rgba(125,211,252,.5);border-radius:50%;z-index:9999;transition:width .25s cubic-bezier(.16,1,.3,1),height .25s cubic-bezier(.16,1,.3,1),border-color .25s ease,transform .15s ease-out}.cursor-hover .custom-cursor-ring{width:48px;height:48px;border-color:#22c55e;background:rgba(34,197,94,.08)}.cursor-hover .custom-cursor-dot{background-color:#22c55e;transform:translate(-50%,-50%) scale(1.5)}}.page{width:100%;position:relative}.page-enter,.page-exit{position:absolute;top:0;left:0;width:100%}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{position:absolute;top:0;left:0;width:100%;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}.page-enter-active,.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{position:absolute;top:0;left:0;width:100%;opacity:0;transform:translateY(-6px);transition:opacity .25s ease-in,transform .25s ease-in}.page-enter-done{position:relative}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.reveal-on-scroll.is-revealed{opacity:1;transform:translateY(0);will-change:auto}.stagger-1{transition-delay:80ms}.stagger-2{transition-delay:.16s}.stagger-3{transition-delay:.24s}.stagger-4{transition-delay:.32s}.main-container{position:relative;margin:0 auto;max-width:1320px;padding:0 40px}@media only screen and (max-width:992px){.main-container{padding:0 30px}}@media only screen and (max-width:768px){.main-container{padding:0 24px}}@media only screen and (max-width:576px)and (orientation:portrait){.main-container{padding:0 16px}}.anchor{padding-top:105px;padding-bottom:60px}@media only screen and (max-width:576px)and (orientation:portrait){.anchor{padding-top:90px;padding-bottom:40px}}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #7dd3fc;outline-offset:3px}[role=button],a,button{cursor:pointer}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}#site-3d-container{width:100%;position:relative}#site-3d-container.is-3d{perspective:1200px;perspective-origin:50% 50%}#site-3d-wrapper{width:100%;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}
/*# sourceMappingURL=main.7257cec3.chunk.css.map */