@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/ab624315db63c58d-s.1487dfs7-.~d~.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/e94b8ab81811a983-s.02fsf_1p_avhz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne Fallback;src:local(Arial);ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.0%;size-adjust:98.47%}.syne_6c82cab6-module__kvE1CG__className{font-family:Syne,Syne Fallback;font-style:normal}.syne_6c82cab6-module__kvE1CG__variable{--font-syne:"Syne", "Syne Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_c3122a6a-module__gBWohG__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_c3122a6a-module__gBWohG__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12e986493c137cf-s.0unhoe1q6hp6-.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/36363bfb06833f56-s.p.0-pny06~-x26a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2fa3ef4ca165ab4-s.0cnogfwvi2_o-.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a73419dd2ba2d841-s.p.0x-0vqtj_fzf1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono Fallback;src:local(Arial);ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.0%;size-adjust:134.59%}.dm_mono_4cbaa3a1-module__vJ39pq__className{font-family:DM Mono,DM Mono Fallback;font-style:normal}.dm_mono_4cbaa3a1-module__vJ39pq__variable{--font-dm-mono:"DM Mono", "DM Mono Fallback"}
:root{--bg:#050d1a;--surface:#0a1628;--surface2:#0d1e35;--border:#00d4ff1a;--border-strong:#00d4ff40;--accent:#00d4ff;--accent2:#0ea5e9;--accent3:#38bdf8;--text:#e2f4ff;--text-muted:#7bacc4;--muted:#4a7fa5;--glow:#00d4ff26;--glow-strong:#00d4ff4d}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#00d4ff33;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#00d4ff66}::selection{color:var(--text);background:#00d4ff33}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse-glow{0%,to{opacity:1;box-shadow:0 0 8px #22c55e}50%{opacity:.7;box-shadow:0 0 20px #22c55e}}@keyframes scroll-bounce{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(8px)}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-12px)rotate(2deg)}66%{transform:translateY(-6px)rotate(-1deg)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes scan-line{0%{top:-10%}to{top:110%}}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.gradient-text{background:linear-gradient(135deg,#00d4ff 0%,#0ea5e9 50%,#38bdf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glow-cyan{box-shadow:0 0 20px #00d4ff33,0 0 60px #00d4ff0d}.text-glow{text-shadow:0 0 20px #00d4ff80,0 0 40px #00d4ff40}.scanlines{pointer-events:none;z-index:998;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000003 2px 4px)}.timeline-gradient{background:linear-gradient(#00d4ff,#0ea5e9,#38bdf8,#0000)}.tag{border:1px solid;border-radius:6px;padding:4px 12px;font-size:11px;transition:all .2s}.hero-section{min-height:100dvh;padding-top:max(clamp(88px, 12vh, 120px), calc(env(safe-area-inset-top,0px) + 52px));padding-bottom:max(clamp(72px, 10vh, 100px), env(safe-area-inset-bottom,0px));padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));align-items:center;display:flex;position:relative;overflow:clip hidden}@media (min-width:769px){.hero-section{padding-left:max(24px, min(5vw, 72px), env(safe-area-inset-left,0px));padding-right:max(24px, min(5vw, 72px), env(safe-area-inset-right,0px))}}.hero-scrim-desktop{display:block}.hero-scroll-hint{bottom:max(28px, env(safe-area-inset-bottom,0px));pointer-events:none}.hero-inner{text-align:left;pointer-events:none;width:100%;max-width:580px}.hero-inner a{pointer-events:auto}.hero-tagline{margin:52px 0 48px}@media (max-width:768px){.hide-mobile,.hero-scrim-desktop{display:none!important}.hero-section{padding-bottom:max(clamp(48px, 14vh, 88px), env(safe-area-inset-bottom,0px));justify-content:flex-start;align-items:flex-start}.hero-layout{padding-top:0;align-items:center!important}.hero-inner{text-align:center;max-width:100%}.hero-row{justify-content:center!important}.hero-status-badge{margin-bottom:clamp(20px,5vw,28px)!important}.hero-headline{letter-spacing:-.06em!important;margin-bottom:16px!important;font-size:clamp(32px,9.5vw,46px)!important}.hero-tagline{margin:clamp(100px,26vh,200px) 0 clamp(28px,7vh,40px)}.hero-mobile-scrim{background:linear-gradient(165deg,#050d1ac7 0%,#050d1a6b 45%,#050d1a24 100%),linear-gradient(#050d1a7a 0%,#050d1a38 42%,#0000 58%)!important;display:block!important}.hero-techsphere-host{transform-origin:50% 38%;transform:scale(.9)}.about-grid{grid-template-columns:1fr!important;gap:32px!important}.exp-item{gap:0!important}.timeline-connector{display:none!important}.projects-grid,.skills-grid{grid-template-columns:1fr!important}}.skills-grid{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}@media (min-width:640px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.career-path-rail{padding-left:0;position:relative}@media (min-width:640px){.career-path-rail{padding-left:8px}}.career-path-rail:before{content:"";opacity:.55;pointer-events:none;background:linear-gradient(#818cf8d9 0%,#38bdf8a6 35%,#00d4ffbf 65%,#a78bfad9 100%);border-radius:2px;width:2px;position:absolute;top:12px;bottom:12px;left:17px}.career-path-step{grid-template-columns:36px 1fr;gap:clamp(14px,3vw,22px);margin-bottom:clamp(22px,4vw,32px);display:grid;position:relative}@media (min-width:640px){.career-path-step{grid-template-columns:44px 1fr}}.career-path-step:last-child{margin-bottom:0}.career-path-step__marker{justify-content:center;padding-top:22px;display:flex}.career-path-step__dot{border:2px solid #050d1af2;border-radius:50%;flex-shrink:0;width:14px;height:14px}.career-path-step__card{border:1px solid #00d4ff1f;border-radius:18px;padding:clamp(20px,4vw,26px) clamp(18px,3vw,24px);transition:box-shadow .35s,border-color .35s,transform .35s;box-shadow:0 8px 40px #0003}@media (hover:hover){.career-path-step__card:hover{transform:translateY(-2px);box-shadow:0 16px 56px #00d4ff1f}}.career-path-step__meta{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px;display:flex}.career-path-step__kind{font-family:var(--font-dm-mono), monospace;letter-spacing:.16em;text-transform:uppercase;border:1px solid;border-radius:100px;padding:4px 10px;font-size:9px}.career-path-step__period{color:var(--muted);letter-spacing:.02em;font-size:12px}.career-path-step__title{font-family:var(--font-syne), sans-serif;color:var(--text);letter-spacing:-.3px;margin:0 0 6px;font-size:clamp(18px,2.4vw,22px);font-weight:700;line-height:1.25}.career-path-step__subtitle{font-family:var(--font-dm-sans), sans-serif;margin:0 0 14px;font-size:13px;font-weight:600}.career-path-step__summary{font-family:var(--font-dm-sans), sans-serif;color:var(--text-muted);margin:0;font-size:14px;line-height:1.75}.skills-network-layout{align-items:start;gap:28px;display:grid}@media (min-width:900px){.skills-network-layout{grid-template-columns:minmax(280px,1fr) minmax(280px,400px);align-items:stretch;gap:40px}}.skills-network-graph-wrap{background:radial-gradient(115% 95% at 48% 42%,#00d4ff17 0%,#0000 52%),linear-gradient(165deg,#0816288c 0%,#050d1aeb 100%);border:1px solid #00d4ff29;border-radius:24px;width:100%;max-width:480px;margin:0 auto;padding:22px 20px 26px;position:relative;box-shadow:inset 0 0 80px #00d4ff0f,inset 0 1px #ffffff0a,0 16px 48px #00000073}.skills-network-graph-wrap:before{content:"";pointer-events:none;opacity:.45;background:repeating-linear-gradient(-12deg,#0000,#0000 52px,#00d4ff05 52px 53px);border-radius:24px;position:absolute;inset:0}.skills-network-particles-host{z-index:0;pointer-events:none;border-radius:24px;position:absolute;inset:0;overflow:hidden}.skills-network-particles-canvas{min-height:280px;width:100%!important;height:100%!important}.skills-network-svg{z-index:1;width:100%;height:auto;display:block;position:relative;overflow:visible}.skills-network-orbit{transform-box:fill-box;animation:140s linear infinite skills-orbit-spin}@keyframes skills-orbit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.skills-network-orbit{animation:none}}.skills-network-rays{transform-box:fill-box;animation:100s linear infinite skills-rays-spin}.skills-network-grid-rotate{transform-box:fill-box;animation:160s linear infinite reverse skills-grid-spin}@keyframes skills-rays-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes skills-grid-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skills-network-edge-line{animation:14s linear infinite skills-edge-dash}@keyframes skills-edge-dash{to{stroke-dashoffset:-80px}}@media (prefers-reduced-motion:reduce){.skills-network-rays,.skills-network-grid-rotate,.skills-network-edge-line{animation:none}}.skills-network-hub-pulse-ring{animation:3s ease-in-out infinite skills-hub-ring-pulse}@keyframes skills-hub-ring-pulse{0%,to{stroke-opacity:.35}50%{stroke-opacity:.85}}@media (prefers-reduced-motion:reduce){.skills-network-hub-pulse-ring{stroke-opacity:.5;animation:none}}.skills-network-hub-label{filter:drop-shadow(0 0 14px #00d4ff73)}.skills-network-panel{background:linear-gradient(135deg,#00d4ff0d 0%,#0000 42%),linear-gradient(165deg,#061222d9 0%,#050d1aa6 100%);border:1px solid #00d4ff24;border-radius:20px;min-height:280px;padding:26px 26px 28px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 0 0 1px #00000040,0 20px 50px #00000059}.skills-network-panel:before,.skills-network-panel:after{content:"";pointer-events:none;border:0 solid #00d4ff33;width:48px;height:48px;position:absolute}.skills-network-panel:before{border-top-width:1px;border-left-width:1px;border-top-left-radius:6px;top:12px;left:12px}.skills-network-panel:after{border-bottom-width:1px;border-right-width:1px;border-bottom-right-radius:6px;bottom:12px;right:12px}.skills-network-panel-inner{z-index:1;position:relative}.skills-network-panel__eyebrow{font-family:var(--font-dm-mono), monospace;letter-spacing:.22em;text-transform:uppercase;margin:0 0 10px;font-size:10px}.skills-network-panel__desc{font-family:var(--font-dm-sans), sans-serif;color:var(--text-muted);max-width:42em;margin:0 0 18px;font-size:14px;line-height:1.7}.skills-network-panel__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.skills-network-skill-row{text-align:left;border:1px solid var(--chip-border,#00d4ff2e);background:var(--chip-bg,#00d4ff0d);width:100%;color:var(--text);font-family:var(--font-dm-sans), sans-serif;cursor:default;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:500;transition:border-color .2s,box-shadow .2s,background .2s;display:block}.skills-network-skill-row:hover,.skills-network-skill-row--hot{border-color:color-mix(in srgb, var(--accent-soft,#00d4ff) 45%, transparent);box-shadow:0 0 20px color-mix(in srgb, var(--accent-soft,#00d4ff) 15%, transparent);background:color-mix(in srgb, var(--accent-soft,#00d4ff) 8%, #050d1a66)}.skills-network-panel__hint{font-family:var(--font-dm-sans), sans-serif;color:var(--text-muted);margin:0;font-size:15px;line-height:1.75}.skills-network-panel__hint strong{color:var(--text);font-weight:600}.skills-network-svg g[role=button]:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #00d4ff8c}@media (min-width:769px){.hide-desktop{display:none!important}}@keyframes chat-heartbeat-ring{0%,to{opacity:.65;transform:scale(1);box-shadow:0 0 0 1px #00d4ff59,0 0 18px #00d4ff40,0 0 40px #00d4ff0f}18%{opacity:1;transform:scale(1.06);box-shadow:0 0 0 2px #00d4ff8c,0 0 28px #00d4ff73,0 0 56px #00d4ff1f}32%{opacity:.75;transform:scale(1);box-shadow:0 0 0 1px #00d4ff66,0 0 16px #00d4ff4d}48%{opacity:1;transform:scale(1.04);box-shadow:0 0 0 2px #00d4ff80,0 0 24px #00d4ff61,0 0 48px #00d4ff1a}65%{opacity:.7;transform:scale(1);box-shadow:0 0 0 1px #00d4ff59,0 0 14px #00d4ff38}}@keyframes chat-online-dot{0%,to{opacity:1;box-shadow:0 0 #22d3ee73}50%{opacity:.85;box-shadow:0 0 0 6px #22d3ee1f}}@keyframes chat-typing-wave{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.portfolio-chat-root{font-family:var(--font-dm-sans), system-ui, -apple-system, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400}.portfolio-chat-root button,.portfolio-chat-root textarea,.portfolio-chat-root input{font-family:var(--font-dm-sans), system-ui, -apple-system, "Segoe UI", sans-serif}.portfolio-chat-root .portfolio-chat-msg-user,.portfolio-chat-root .portfolio-chat-msg-bot,.portfolio-chat-root .portfolio-chat-typing-bubble{font-weight:400}.portfolio-chat-root .portfolio-chat-msg-bot strong,.portfolio-chat-root .portfolio-chat-msg-bot a{font-family:var(--font-dm-sans), system-ui, sans-serif;font-weight:600}.portfolio-chat-root .portfolio-chat-online-label{font-family:var(--font-syne), sans-serif;letter-spacing:.06em;font-weight:600}.portfolio-chat-root .portfolio-chat-subtitle{font-weight:400}.portfolio-chat-root .portfolio-chat-chip{font-weight:500}.portfolio-chat-root .portfolio-chat-send{font-weight:600}.portfolio-chat-root .portfolio-chat-text-button{font-family:var(--font-dm-sans), system-ui, sans-serif;font-size:13px;font-weight:600}.portfolio-chat-fab-stack{z-index:10050;pointer-events:none;justify-content:center;align-items:center;width:72px;height:72px;display:flex;position:fixed;bottom:20px;right:20px}.portfolio-chat-fab-stack>*{pointer-events:auto}.portfolio-chat-fab-stack>.portfolio-chat-fab-ring{pointer-events:none;border-radius:50%;width:70px;height:70px;animation:2.4s ease-in-out infinite chat-heartbeat-ring;position:absolute}.portfolio-chat-fab-stack[data-open=true] .portfolio-chat-fab-ring{opacity:.5;animation-play-state:paused}.portfolio-chat-fab-stack[data-panel-open=true]{opacity:0;pointer-events:none;transition:opacity .2s}.portfolio-chat-fab-tooltip{color:var(--text);white-space:nowrap;-webkit-backdrop-filter:blur(12px);opacity:0;pointer-events:none;background:#0a0f1aeb;border:1px solid #00ffff26;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:500;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 12px);right:0;transform:translateY(6px);box-shadow:0 8px 32px #00000073,0 0 24px #00d4ff14}.portfolio-chat-fab-stack:hover:not([data-open=true]) .portfolio-chat-fab-tooltip{opacity:1;transform:translateY(0)}.portfolio-chat-fab-btn{color:#e2f4ff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(145deg,#00d4ff2e 0%,#0ea5e91f 100%);border:1px solid #00d4ff73;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;display:flex;position:relative;box-shadow:0 0 0 1px #00d4ff14,0 8px 32px #00000073,0 0 40px #00d4ff26}.portfolio-chat-panel{z-index:10040;-webkit-backdrop-filter:blur(14px)saturate(1.2);background:#0a0f1ae6;border:1px solid #00d8ff38;border-radius:20px;flex-direction:column;width:min(420px,100vw - 24px);max-height:min(560px,100dvh - 120px);display:flex;position:fixed;bottom:92px;right:16px;overflow:hidden;box-shadow:0 24px 80px #0000008c,0 0 0 1px #00d8ff0f,0 0 48px #00d8ff1f,inset 0 1px #ffffff0d}@media (max-width:640px){.portfolio-chat-panel{width:calc(100vw - 16px)!important;max-width:none!important;left:8px!important;right:8px!important;bottom:max(12px, env(safe-area-inset-bottom,0px))!important;max-height:min(560px, calc(100dvh - env(safe-area-inset-top,0px) - 24px))!important}}.portfolio-chat-header{background:radial-gradient(120% 180% at 100% 0,#00d4ff14,#0000 55%);border-bottom:1px solid #00ffff1a;padding:14px 14px 12px 16px;position:relative}.portfolio-chat-header-inner{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.portfolio-chat-brand{align-items:flex-start;gap:10px;min-width:0;display:flex}.portfolio-chat-brand-logo{background:#ffffff0f;border:1px solid #00d4ff24;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:auto;max-width:min(220px,52vw);padding:4px 8px;display:flex}.portfolio-chat-logo-header{object-fit:contain;width:auto;max-width:100%;height:40px;display:block}.portfolio-chat-title-meta{margin-bottom:4px}.portfolio-chat-brand-text{min-width:0}.portfolio-chat-title-row{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 4px;display:flex}.portfolio-chat-title-row h2{font-family:var(--font-syne), sans-serif;letter-spacing:-.02em;margin:0;font-size:17px;font-weight:700}.portfolio-chat-online-label{color:var(--text-muted);text-transform:uppercase;font-size:11px}.portfolio-chat-subtitle{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.portfolio-chat-close-btn{width:40px;height:40px;color:var(--text-muted);cursor:pointer;background:#00d4ff0f;border:1px solid #00d4ff26;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:color .2s,background .2s,border-color .2s;display:flex}.portfolio-chat-close-btn:hover{color:var(--accent);background:#00d4ff1a;border-color:#00d8ff59}.portfolio-chat-scroll{background:#060a128c;flex-direction:column;flex:1;gap:14px;min-height:180px;padding:14px 14px 12px;display:flex;overflow-y:auto}.portfolio-chat-bot-row{align-self:flex-start;align-items:flex-start;gap:8px;max-width:100%;display:flex}.portfolio-chat-avatar-wrap{background:#ffffff0f;border:1px solid #00d4ff1f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-bottom:2px;display:flex;overflow:hidden}.portfolio-chat-logo-avatar{object-fit:cover;object-position:50% 12%;width:100%;height:100%;display:block}.portfolio-chat-user-row{justify-content:flex-end;align-self:flex-end;max-width:92%;display:flex}.portfolio-chat-footer{padding:10px 12px 14px;padding-bottom:max(14px, env(safe-area-inset-bottom,0px));background:#050910b8;border-top:1px solid #00ffff1a}.portfolio-chat-chips{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.portfolio-chat-chip{color:var(--text-muted);cursor:pointer;text-align:left;background:#00d4ff0a;border:1px solid #00d4ff33;border-radius:999px;padding:7px 12px;font-size:11px;line-height:1.35;transition:color .2s,border-color .2s,background .2s}.portfolio-chat-chip:hover:not(:disabled){color:var(--accent);background:#00d4ff14;border-color:#00d8ff73}.portfolio-chat-chip:disabled{opacity:.5;cursor:not-allowed}.portfolio-chat-input-row{align-items:flex-end;gap:10px;display:flex}.portfolio-chat-status-dot{background:#22d3ee;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite chat-online-dot}.portfolio-chat-msg-user,.portfolio-chat-msg-bot{color:var(--text);white-space:pre-wrap;word-break:break-word;padding:10px 14px;font-size:14px;line-height:1.55}.portfolio-chat-msg-user{color:#e8f4fc;background:linear-gradient(145deg,#00d4ff24 0%,#0ea5e914 100%);border:1px solid #00d8ff47;border-radius:16px 16px 4px;box-shadow:inset 0 1px #ffffff0f,0 4px 20px #0003}.portfolio-chat-msg-bot{min-width:0;color:var(--text-muted);background:#04080eeb;border:1px solid #ffffff0f;border-radius:4px 14px 14px;flex:1}.portfolio-chat-typing-bubble{align-items:center;gap:6px;min-height:44px;padding:12px 16px;display:inline-flex}.portfolio-chat-input-shell{flex:1;min-width:0;padding-bottom:2px;position:relative}.portfolio-chat-input-shell:after{content:"";transform-origin:0;height:2px;box-shadow:none;background:linear-gradient(90deg,#0ea5e9,#00d4ff);border-radius:1px;transition:transform .28s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.portfolio-chat-input-shell:focus-within:after{transform:scaleX(1);box-shadow:0 0 14px #00d4ff73}.portfolio-chat-input-field{resize:none;width:100%;min-height:44px;max-height:120px;color:var(--text);background:0 0;border:none;border-bottom:1px solid #00d4ff2e;border-radius:0;outline:none;padding:12px 4px 10px 2px;font-size:14px;transition:border-color .2s}.portfolio-chat-input-field:focus{border-bottom-color:#0000}.portfolio-chat-input-field::placeholder{color:var(--muted)}.portfolio-chat-send{cursor:pointer;letter-spacing:.3px;color:#050d1a;background:#00d8ff;border:1px solid #00d8ff73;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:48px;height:44px;padding:0 14px;font-size:13px;transition:transform .2s,box-shadow .2s,opacity .2s;display:flex;box-shadow:0 4px 22px #00d8ff59,inset 0 1px #ffffff40}.portfolio-chat-send:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 32px #00d8ff80,inset 0 1px #ffffff4d}.portfolio-chat-send:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:0 2px 12px #00d8ff26}.portfolio-chat-typing-dot{background:#00d4ff;border-radius:50%;width:6px;height:6px;animation:.9s ease-in-out infinite chat-typing-wave}.portfolio-chat-typing-dot:first-child{animation-delay:0s}.portfolio-chat-typing-dot:nth-child(2){animation-delay:.12s}.portfolio-chat-typing-dot:nth-child(3){animation-delay:.24s}.cert-scroll-row{gap:20px;display:flex}.cert-card-glass{-webkit-backdrop-filter:blur(12px);background:#08122073;border:1px solid #00d4ff1f;border-radius:18px;padding:22px 22px 20px;transition:transform .25s,box-shadow .25s;box-shadow:0 8px 32px #00000040,inset 0 1px #ffffff0a}@media (min-width:900px){.cert-scroll-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}}@media (max-width:899px){.cert-scroll-row{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:10px;overflow-x:auto}.cert-card-glass{scroll-snap-align:start;flex:0 0 min(320px,100vw - 56px)}}.honors-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:768px){.honors-grid{grid-template-columns:1fr}}.honors-grid>article:nth-child(3){grid-column:1/-1;justify-self:center;width:100%;max-width:520px}.testimonial-text-outer{transition:max-height .45s cubic-bezier(.4,0,.2,1);overflow:hidden}.testimonial-text-outer.is-collapsed{-webkit-line-clamp:4;-webkit-box-orient:vertical;max-height:7em;display:-webkit-box}.testimonial-text-outer.is-expanded{-webkit-line-clamp:unset;max-height:2500px;display:block}.testimonial-card-glass{transition:box-shadow .35s,border-color .35s}.testimonial-carousel-row{align-items:center;gap:clamp(12px,3vw,32px);display:flex}.testimonial-carousel-stage{width:100%}@media (max-width:700px){.testimonial-carousel-row{margin-top:36px;padding:0 42px;display:block;position:relative}.testimonial-carousel-stage{width:100%;max-width:none}.testimonial-carousel-row .testimonial-nav-arrow{z-index:3;-webkit-backdrop-filter:blur(8px);background:#050d1a73;border-radius:10px;margin:0;position:absolute;top:50%;transform:translateY(-50%)}.testimonial-carousel-row .testimonial-nav-arrow--prev{left:0}.testimonial-carousel-row .testimonial-nav-arrow--next{right:0}}.testimonial-nav-arrow{transition:color .2s,opacity .2s}.testimonial-nav-arrow:hover{color:#78e6fff2}.testimonial-nav-arrow:focus-visible{outline-offset:3px;outline:2px solid #00d4ff8c}.honor-cert-trigger:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #00d4ffa6}
