:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07111f;--bg-soft:#0b1628;--surface:#0f172ac2;--surface-strong:#0f172af0;--text:#f8fafc;--muted:#cbd5e1;--subtle:#94a3b8;--line:#94a3b82e;--accent:#38bdf8;--accent-strong:#0ea5e9;--accent-soft:#38bdf824;--secondary:#8b5cf6;--shadow:0 24px 70px #02061761;--radius:8px;--radius-lg:18px;--header-height:92px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7fafc;--bg-soft:#eef6fb;--surface:#ffffffd1;--surface-strong:#fffffff5;--text:#0f172a;--muted:#334155;--subtle:#64748b;--line:#0f172a21;--accent:#0284c7;--accent-strong:#0369a1;--accent-soft:#0ea5e91f;--secondary:#6d28d9;--shadow:0 24px 70px #0f172a1f}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;scroll-padding-top:var(--header-height)}body{background:radial-gradient(circle at 12% 0%,var(--accent-soft),transparent 26rem),linear-gradient(180deg,var(--bg)0%,var(--bg-soft)52%,var(--bg)100%);min-width:320px;color:var(--text);text-rendering:optimizeLegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}main{width:100%}section{isolation:isolate;min-height:calc(100vh - var(--header-height));align-items:center;padding:72px clamp(20px,7vw,96px);display:flex;position:relative;overflow:hidden}section>*{width:100%}section+section{border-top:1px solid var(--line)}section:before{content:"";z-index:-2;background:linear-gradient(180deg,#ffffff06,transparent 36%),radial-gradient(circle at 85% 20%,var(--accent-soft),transparent 24rem);position:absolute;inset:0}section:first-of-type:before{background:radial-gradient(circle at 85% 20%,var(--accent-soft),transparent 24rem)}h1,h2,h3{color:var(--text);letter-spacing:0;font-weight:800}h1{max-width:850px;font-size:clamp(52px,9vw,104px);line-height:.94}h2{font-size:clamp(34px,5vw,64px);line-height:1.04}h3{font-size:clamp(20px,2vw,24px);line-height:1.2}p{color:var(--muted);line-height:1.75}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent)70%,white);outline-offset:4px}.section-tag{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;font-size:12px;font-weight:800}.btn,.talk-button,.start-link{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:12px 18px;font-weight:800;line-height:1;transition:transform .22s,border-color .22s,background .22s,color .22s,box-shadow .22s;display:inline-flex}.btn:hover,.talk-button:hover,.start-link:hover{transform:translateY(-2px)}.btn-primary,.talk-button{background:linear-gradient(135deg,color-mix(in srgb,var(--accent)86%,#fff 14%),color-mix(in srgb,var(--accent-strong)86%,#0f172a 14%));color:#fff;box-shadow:0 14px 34px color-mix(in srgb,var(--accent)18%,transparent),inset 0 1px 0 #ffffff38}.btn-secondary{background:var(--surface-strong);border-color:var(--line);color:var(--text)}.btn-outline{border-color:var(--line);color:var(--text);background:0 0}.btn-outline:hover,.btn-secondary:hover{border-color:color-mix(in srgb,var(--accent)54%,var(--line));color:var(--accent)}.btn.is-disabled{cursor:default;opacity:.68;pointer-events:none}.header{z-index:50;height:var(--header-height);background:linear-gradient(180deg,color-mix(in srgb,var(--bg)88%,transparent),color-mix(in srgb,var(--bg)74%,transparent));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(22px)saturate(1.18);backdrop-filter:blur(22px)saturate(1.18);grid-template-columns:minmax(190px,1fr) auto minmax(250px,1fr);align-items:center;gap:clamp(16px,2vw,28px);width:100%;padding:0 clamp(20px,6vw,88px);display:grid;position:sticky;top:0;box-shadow:0 1px #ffffff08,0 18px 40px #0206171f}.header-brand{color:var(--text);white-space:nowrap;justify-self:start;align-items:center;transition:color .24s,opacity .24s,filter .24s,transform .24s cubic-bezier(.32,.72,0,1);display:inline-flex;position:relative}.brand-wordmark{color:var(--text);letter-spacing:-.02em;align-items:baseline;gap:2px;font-family:SFMono-Regular,Cascadia Code,JetBrains Mono,Fira Code,ui-monospace,Menlo,Monaco,Consolas,monospace;font-size:clamp(16px,1.4vw,19px);font-weight:760;line-height:1;display:inline-flex;position:relative}.brand-wordmark:after{content:"";background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent)72%,transparent),transparent);opacity:0;border-radius:999px;height:1px;transition:opacity .24s,transform .28s cubic-bezier(.32,.72,0,1);position:absolute;bottom:-8px;left:16%;right:12%;transform:scaleX(.62)}.brand-token{color:color-mix(in srgb,var(--accent)76%,var(--text));opacity:.78;font-weight:820;transition:color .24s,opacity .24s,transform .24s}.brand-name{color:color-mix(in srgb,var(--text)94%,var(--accent));text-shadow:0 0 18px color-mix(in srgb,var(--accent)0%,transparent);transition:color .24s,text-shadow .24s}.header-brand:hover{opacity:.96;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--accent)12%,transparent));transform:translateY(-1px)}.header-brand:hover .brand-token{color:color-mix(in srgb,var(--accent)88%,var(--text));opacity:1}.header-brand:hover .brand-token:first-child{transform:translate(-1px)}.header-brand:hover .brand-token:last-child{transform:translate(1px)}.header-brand:hover .brand-name{color:var(--text);text-shadow:0 0 18px color-mix(in srgb,var(--accent)10%,transparent)}.header-brand:hover .brand-wordmark:after{opacity:.72;transform:scaleX(1)}.header-nav{border:1px solid color-mix(in srgb,var(--line)82%,transparent);background:linear-gradient(180deg,#ffffff0e,transparent),color-mix(in srgb,var(--surface)78%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:999px;justify-content:center;justify-self:center;align-items:center;gap:2px;padding:6px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff14,0 16px 36px #02061724}.nav-active-pill{z-index:0;border:1px solid color-mix(in srgb,var(--accent)13%,transparent);background:linear-gradient(180deg,#ffffff17,transparent),color-mix(in srgb,var(--accent-soft)58%,var(--surface));box-shadow:inset 0 1px 0 #ffffff1c,0 8px 20px color-mix(in srgb,var(--accent)9%,transparent);pointer-events:none;border-radius:999px;transition:transform .24s cubic-bezier(.32,.72,0,1),width .24s cubic-bezier(.32,.72,0,1),height .24s cubic-bezier(.32,.72,0,1),opacity .2s;position:absolute;top:0;left:0}.header-nav a{z-index:1;color:var(--subtle);letter-spacing:-.01em;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:680;transition:color .26s,transform .26s cubic-bezier(.32,.72,0,1);position:relative}.header-nav a:hover,.header-nav a.active{color:var(--accent);transform:translateY(-1px)}.header-actions{justify-content:flex-end;justify-self:end;align-items:center;gap:8px;display:flex}.header .talk-button{background:linear-gradient(135deg,#2aa8d8,#0f83bb);min-height:46px;padding-inline:17px;font-size:13px;font-weight:760;box-shadow:0 12px 30px #0ea5e929,inset 0 1px #ffffff3d}:root[data-theme=light] .header .talk-button{background:linear-gradient(135deg,#168fc3,#0b76a8);box-shadow:0 10px 24px #087cb324,inset 0 1px #ffffff47}.icon-button,.menu-button{border:1px solid color-mix(in srgb,var(--line)82%,transparent);background:linear-gradient(180deg,#ffffff14,transparent),color-mix(in srgb,var(--surface)78%,transparent);width:46px;height:46px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:50%;place-items:center;font-weight:900;transition:transform .24s,color .24s,border-color .24s,box-shadow .24s;display:grid;box-shadow:inset 0 1px #ffffff14,0 12px 28px #02061724}.menu-button span{background:currentColor;border-radius:999px;grid-area:1/1;width:16px;height:1.5px;transition:transform .34s cubic-bezier(.32,.72,0,1),opacity .2s,width .24s}.menu-button span:first-child{transform:translateY(-5px)}.menu-button span:nth-child(3){transform:translateY(5px)}.menu-button[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-button[aria-expanded=true] span:nth-child(2){opacity:0;width:8px}.menu-button[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg)}.theme-switch{width:86px;height:46px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0;position:relative}.theme-switch-track{border:1px solid color-mix(in srgb,var(--line)86%,transparent);border-radius:inherit;background:linear-gradient(180deg,#ffffff17,transparent 56%),color-mix(in srgb,var(--surface)78%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:border-color .28s,box-shadow .28s,background .28s;display:block;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 1px 1px #ffffff1a,inset 0 -10px 18px #02061714,0 12px 28px #02061724}.theme-switch-thumb{color:#172033;background:linear-gradient(145deg,#fffffff5,#e2e8f0e0);border:1px solid #fff3;border-radius:50%;place-items:center;width:38px;height:38px;transition:transform .48s cubic-bezier(.34,1.56,.64,1),color .28s,background .28s;display:grid;position:absolute;top:4px;left:4px;transform:translate(40px);box-shadow:0 8px 18px #02061738,inset 0 1px #ffffffd6}.theme-switch.is-light .theme-switch-thumb{color:#0369a1;transform:translate(0)}.theme-switch-icon{color:var(--subtle);opacity:.48;place-items:center;font-size:12px;transition:color .24s,opacity .24s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.theme-switch-sun{left:16px}.theme-switch-moon{right:16px}.theme-switch.is-light .theme-switch-sun,.theme-switch.is-dark .theme-switch-moon{opacity:0}.theme-switch:hover .theme-switch-track,.theme-switch:focus-visible .theme-switch-track{border-color:color-mix(in srgb,var(--accent)26%,var(--line));box-shadow:inset 0 1px 1px #ffffff1f,inset 0 -10px 18px #02061714,0 14px 32px #0206172e,0 0 22px color-mix(in srgb,var(--accent)7%,transparent)}.language-select{position:relative}.language-trigger{border:1px solid color-mix(in srgb,var(--line)76%,transparent);background:linear-gradient(180deg,#ffffff13,transparent 58%),color-mix(in srgb,var(--surface)70%,transparent);min-width:118px;height:46px;color:color-mix(in srgb,var(--text)84%,var(--subtle));cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:12.5px;font-weight:680;line-height:1;transition:transform .24s,border-color .24s,color .24s,box-shadow .24s;display:inline-flex;box-shadow:inset 0 1px #ffffff14,0 10px 24px #0206171a}.language-trigger svg{opacity:.72;flex:none;font-size:12px}.language-chevron{opacity:.68;transition:transform .28s cubic-bezier(.32,.72,0,1)}.language-trigger[aria-expanded=true] .language-chevron{transform:rotate(180deg)}.language-trigger:hover,.language-trigger[aria-expanded=true]{color:color-mix(in srgb,var(--text)90%,var(--accent));border-color:color-mix(in srgb,var(--accent)18%,var(--line));transform:translateY(-1px);box-shadow:inset 0 1px #ffffff1a,0 12px 28px #0206171f}.language-dropdown{z-index:70;border:1px solid color-mix(in srgb,var(--line)86%,transparent);background:linear-gradient(135deg,#ffffff1c,transparent 48%),color-mix(in srgb,var(--surface-strong)82%,transparent);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);opacity:0;pointer-events:none;transform-origin:100% 0;border-radius:16px;gap:3px;width:172px;padding:6px;transition:opacity .2s,transform .32s cubic-bezier(.32,.72,0,1);display:grid;position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-4px)scale(.96);box-shadow:0 18px 42px #0206173d,inset 0 1px #ffffff1f}.language-dropdown.is-open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.language-option{width:100%;min-height:44px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px 8px 12px;transition:background .2s,color .2s,transform .2s;display:flex}.language-option:hover,.language-option.is-active{background:color-mix(in srgb,var(--accent-soft)44%,transparent);color:var(--text)}.language-option:hover{transform:translate(1px)}.language-option-copy{gap:4px;display:grid}.language-option-copy span{font-size:13px;font-weight:740;line-height:1}.language-option-copy small{color:var(--subtle);letter-spacing:.12em;font-size:10px;font-weight:900;line-height:1}.language-option>svg{color:color-mix(in srgb,var(--accent)78%,var(--text));opacity:0;font-size:12px;transition:opacity .18s,transform .18s;transform:scale(.78)}.language-option.is-active>svg{opacity:.72;transform:scale(1)}.mobile-menu-controls{display:none}.icon-button:hover,.menu-button:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent)30%,var(--line));box-shadow:inset 0 1px 0 #ffffff1a,0 14px 30px #0206172e,0 0 20px color-mix(in srgb,var(--accent)6%,transparent);transform:translateY(-1px)}.menu-button{display:none}.hero{padding-top:32px}.hero-background{z-index:-1;opacity:.34;background-image:linear-gradient(var(--line)1px,transparent 1px),linear-gradient(90deg,var(--line)1px,transparent 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.hero-content{grid-template-columns:minmax(0,1fr) minmax(300px,430px);align-items:center;gap:clamp(42px,7vw,90px);width:min(100%,1280px);margin:0 auto;display:grid}.hero-text{max-width:760px}.hero-intro{color:var(--accent);margin-bottom:12px;font-size:clamp(18px,2vw,22px);font-weight:800}.hero h1{margin-bottom:24px}.hero-typing{min-height:44px;color:var(--subtle);margin-bottom:22px;font-size:clamp(24px,3vw,34px);font-weight:800}.typing-highlight{color:var(--accent)}.hero-description{max-width:680px;font-size:clamp(16px,1.8vw,19px)}.hero-buttons,.hero-socials,.contact-actions,.section-cta{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero-buttons,.hero-socials{margin-top:34px}.hero-socials a,.hero-socials button{border:1px solid var(--line);background:var(--surface);width:50px;height:50px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;font-size:22px;transition:transform .22s,color .22s,border-color .22s;display:grid}.hero-socials a:hover,.hero-socials button:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-4px)}.hero-image-wrapper{place-items:center;display:grid;position:relative}.hero-image-glow{background:color-mix(in srgb,var(--accent)22%,transparent);filter:blur(80px);border-radius:50%;width:min(86vw,420px);height:min(86vw,420px);position:absolute}.hero-image{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);width:min(78vw,410px);box-shadow:var(--shadow);border-radius:50%;animation:5.5s ease-in-out infinite floatImage;position:relative;overflow:hidden}.hero-image img{object-fit:cover;width:100%;height:100%;display:block}@keyframes floatImage{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.about-polaroid-layout{grid-template-columns:minmax(0,1fr) minmax(300px,500px);align-items:center;gap:clamp(42px,7vw,80px);width:min(100%,1180px);margin:0 auto;display:grid}.about-polaroid-text{max-width:720px}.about-polaroid-text h2{max-width:680px;margin-bottom:24px;font-size:clamp(30px,4.2vw,54px);line-height:1.08}.about-polaroid-text p+p{margin-top:14px}.about-polaroid-text span{color:var(--subtle);letter-spacing:.08em;text-transform:uppercase;margin-top:28px;font-size:13px;font-weight:800;display:inline-flex}.photo-stack{border-radius:var(--radius-lg);height:520px;position:relative}.printed-photo{aspect-ratio:.78;border-radius:var(--radius);width:clamp(210px,24vw,285px);box-shadow:var(--shadow);cursor:pointer;background:#f8fafc;border:1px solid #0f172a1f;padding:12px 12px 46px;transition:transform .35s,filter .35s,opacity .35s;animation:12s ease-in-out infinite rotatePhoto;position:absolute}.printed-photo>img{width:calc(100% - 24px)!important;height:calc(100% - 58px)!important;inset:12px 12px 46px!important}.printed-photo img{object-fit:cover;border-radius:4px;width:100%;height:100%;display:block}.photo-one{z-index:1;top:18%;left:5%;transform:rotate(-7deg)}.photo-two{z-index:2;animation-delay:-4s;top:7%;right:4%;transform:rotate(7deg)}.photo-three{z-index:3;animation-delay:-8s;bottom:4%;left:28%;transform:rotate(1deg)}.photo-stack:hover .printed-photo{animation-play-state:paused}.printed-photo:hover{z-index:8;filter:saturate(1.08);transform:translateY(-10px)rotate(0)scale(1.04)}.photo-stack:hover .printed-photo:not(:hover){opacity:.62;filter:saturate(.78)}@keyframes rotatePhoto{0%,to{translate:0}50%{translate:0 -12px}}.skills-layout{grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);align-items:center;gap:clamp(34px,5vw,70px);width:min(100%,1260px);min-height:660px;margin:0 auto;display:grid}.skills-info p{max-width:520px;font-size:18px}.skills-info h2{max-width:620px;margin-bottom:22px}.skills-pills{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.skills-pills span,.project-tags span{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--subtle);text-transform:uppercase;border-radius:999px;align-items:center;padding:8px 12px;font-size:12px;font-weight:850;display:inline-flex}.skills-visual{height:620px;position:relative;overflow:visible}.skills-globe{cursor:grab;position:absolute;inset:-36px;overflow:visible}.skills-globe:active{cursor:grabbing}.skills-globe canvas{touch-action:none;display:block}.skills-globe>div{overflow:visible!important}.globe-tech-item{pointer-events:auto;-webkit-user-select:none;user-select:none;transform-origin:50%;justify-content:center;align-items:center;min-width:76px;min-height:76px;transition:opacity .24s,filter .24s;display:flex;position:relative}.globe-tech-icon{width:76px;height:76px;color:var(--tech-color);filter:drop-shadow(0 0 12px color-mix(in srgb,var(--tech-color)45%,transparent))drop-shadow(0 9px 14px #00000061);place-items:center;font-size:58px;transition:filter .2s,transform .2s;display:grid}.globe-tech-icon svg{display:block}.globe-tech-item span{border:1px solid color-mix(in srgb,var(--tech-color)46%,var(--line));background:var(--surface-strong);color:var(--text);white-space:nowrap;opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;line-height:1;transition:opacity .2s,transform .2s;position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%,4px)scale(.9)}.globe-tech-item[data-front=false]{filter:saturate(.55)brightness(.72)}.globe-tech-item[data-front=true]:hover .globe-tech-icon{transform:scale(1.14)}.globe-tech-item[data-front=true]:hover span{opacity:1;transform:translate(-50%)scale(1)}.projects{padding-top:44px;padding-bottom:44px}.projects-container{width:min(100%,1240px);margin:0 auto}.projects-header{text-align:center;max-width:780px;margin:0 auto 24px}.projects-header h2{margin-bottom:10px;font-size:clamp(30px,4vw,48px)}.projects-header p{font-size:16px;line-height:1.55}.projects-tabs{border:1px solid var(--line);background:var(--surface);border-radius:999px;grid-template-columns:1fr 1fr;max-width:620px;margin:0 auto 24px;padding:6px;display:grid}.projects-tabs button{min-height:42px;color:var(--subtle);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;font-weight:850;transition:background .22s,color .22s;display:inline-flex}.projects-tabs button.active{background:var(--accent-soft);color:var(--accent)}.portfolio-panel{min-height:0}.projects-showcase{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.project-showcase-card,.certificate-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 14px 36px #0206171f}.project-showcase-card{background:linear-gradient(180deg,#ffffff0e,transparent 48%),color-mix(in srgb,var(--surface)90%,transparent);flex-direction:column;min-height:340px;padding:18px;transition:transform .24s,border-color .24s,box-shadow .24s;display:flex;overflow:hidden}.project-showcase-card:hover{border-color:color-mix(in srgb,var(--accent)38%,var(--line));box-shadow:0 18px 48px color-mix(in srgb,var(--accent)9%,transparent);transform:translateY(-3px)}.project-preview{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--accent)20%,transparent),transparent 58%),radial-gradient(circle at 82% 20%,color-mix(in srgb,var(--secondary)18%,transparent),transparent 42%),linear-gradient(180deg,#ffffff0e,transparent 48%),color-mix(in srgb,var(--surface-strong)88%,transparent);justify-content:space-between;align-items:flex-end;gap:14px;min-height:218px;margin:0 0 16px;padding:18px;display:flex;position:relative;overflow:hidden}.project-preview img,.certificate-preview img,.certificate-sheet img{object-fit:cover}.preview-number{color:color-mix(in srgb,var(--accent)40%,transparent);font-size:clamp(58px,7vw,82px);font-weight:900;line-height:.8}.project-preview div{gap:7px;display:grid}.project-preview div span{background:color-mix(in srgb,var(--accent)24%,var(--line));border-radius:999px;min-width:126px;height:9px}.project-preview div span:nth-child(2){min-width:92px}.project-preview div span:nth-child(3){min-width:132px}.project-preview-placeholder{align-content:end;justify-items:start;gap:9px;width:100%;height:100%;min-height:178px;display:grid}.project-preview-placeholder .preview-number{color:color-mix(in srgb,var(--accent)40%,transparent);font-size:clamp(58px,7vw,82px);font-weight:900;line-height:.8;position:absolute;top:18px;left:18px}.project-preview-placeholder .preview-icon{border:1px solid color-mix(in srgb,var(--accent)34%,var(--line));background:color-mix(in srgb,var(--surface-strong)78%,transparent);width:42px;height:42px;color:var(--accent);border-radius:50%;place-items:center;font-size:16px;display:grid}.project-preview-placeholder strong{color:var(--text);font-size:14px}.project-preview-placeholder span{min-width:0;height:auto;color:var(--subtle);background:0 0;border-radius:0;font-size:11px;font-weight:800}.project-meta{display:none}.project-title-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.project-title-row h3{min-width:0;margin-top:0;font-size:20px}.project-link{border:1px solid color-mix(in srgb,var(--accent)24%,var(--line));background:linear-gradient(180deg,#ffffff14,transparent),color-mix(in srgb,var(--accent-soft)44%,transparent);min-height:30px;color:var(--accent);white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:7px;padding:7px 9px;font-size:11px;font-weight:850;line-height:1;transition:transform .22s,color .22s,border-color .22s,background .22s;display:inline-flex}.project-link:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent)44%,var(--line));transform:translateY(-1px)}.project-link.is-disabled{border-color:color-mix(in srgb,var(--line)74%,transparent);background:color-mix(in srgb,var(--surface-strong)64%,transparent);color:var(--subtle);pointer-events:none}.project-tags{flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:0;display:flex}.project-tags span{border:1px solid color-mix(in srgb,var(--line)82%,transparent);background:color-mix(in srgb,var(--surface-strong)72%,transparent);min-height:24px;color:color-mix(in srgb,var(--muted)88%,var(--text));border-radius:999px;align-items:center;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.section-cta{justify-content:center;margin-top:34px}.certificates-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.certificate-card{text-align:left;min-height:340px;color:var(--text);cursor:pointer;flex-direction:column;justify-content:space-between;padding:18px;transition:transform .22s,border-color .22s,box-shadow .22s;display:flex}.certificate-card:hover{border-color:color-mix(in srgb,var(--accent)54%,var(--line));box-shadow:0 18px 44px color-mix(in srgb,var(--accent)11%,transparent);transform:translateY(-3px)}.certificate-preview{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--accent)14%,transparent),transparent),var(--surface-strong);min-height:218px;color:var(--accent);place-items:center;margin-bottom:16px;font-size:34px;display:grid;position:relative;overflow:hidden}.certificate-preview img{object-fit:contain;filter:saturate(1.02)contrast(1.02);padding:10px}.certificate-preview-label{color:var(--subtle);text-transform:uppercase;font-size:11px;font-weight:850;position:absolute;bottom:12px;left:14px}.certificate-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.certificate-ribbon{background:linear-gradient(180deg,var(--accent),var(--accent-strong));clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%);opacity:.82;width:24px;height:54px;position:absolute;top:0;right:18px}.certificate-copy{gap:5px;display:grid}.certificate-name{color:var(--text);font-size:16px;font-weight:850}.certificate-copy span:not(.certificate-name){color:var(--subtle);font-size:13px;font-weight:700}.certificate-modal{z-index:80;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#020617ad;place-items:center;padding:clamp(18px,3vw,34px);display:grid;position:fixed;inset:0}.certificate-modal-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-strong);width:min(100%,1080px);box-shadow:var(--shadow);padding:clamp(14px,2vw,22px);position:relative}.certificate-modal-close{z-index:1;border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;top:16px;right:16px}.certificate-sheet{text-align:center;border:1px solid color-mix(in srgb,var(--accent)24%,var(--line));border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft)78%,transparent),transparent 54%),color-mix(in srgb,var(--surface-strong)92%,var(--bg));align-content:center;place-items:center;gap:14px;min-height:min(78vh,720px);padding:clamp(34px,7vw,72px);display:grid;position:relative;overflow:hidden}.certificate-sheet img{object-fit:contain;padding:clamp(10px,2vw,20px)}.certificate-sheet-mark{background:var(--accent-soft);width:74px;height:74px;color:var(--accent);border-radius:50%;place-items:center;font-size:34px;display:grid}.certificate-sheet h3{max-width:520px;font-size:clamp(34px,5vw,54px)}.certificate-sheet>span:last-child{color:var(--accent);font-size:18px;font-weight:900}.contact{text-align:center}.contact-content{width:min(100%,980px);margin:0 auto}.contact h2{margin-bottom:20px}.contact-content>p:not(.section-tag){max-width:720px;margin:0 auto;font-size:18px}.contact-actions{justify-content:center;margin-top:32px}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:38px;display:grid}.contact-grid a,.contact-grid button{border:1px solid color-mix(in srgb,var(--line)86%,transparent);border-radius:var(--radius);background:linear-gradient(180deg,#ffffff0e,transparent 58%),color-mix(in srgb,var(--surface)84%,transparent);min-height:88px;color:var(--muted);font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:center;align-items:center;gap:11px;padding:18px;font-weight:750;transition:transform .22s,color .22s,border-color .22s,box-shadow .22s;display:flex;box-shadow:inset 0 1px #ffffff12,0 14px 32px #0206171a}.contact-grid a svg,.contact-grid button svg{color:color-mix(in srgb,var(--accent)82%,var(--text));flex:none;font-size:18px}.contact-grid a span,.contact-grid button span{overflow-wrap:anywhere}.contact-grid a:hover,.contact-grid button:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent)44%,var(--line));box-shadow:inset 0 1px 0 #ffffff17,0 18px 42px color-mix(in srgb,var(--accent)10%,transparent);transform:translateY(-2px)}.contact-grid button.is-copied{color:#22c55e;border-color:color-mix(in srgb,#22c55e 44%,var(--line));background:linear-gradient(180deg,#22c55e1f,transparent 58%),color-mix(in srgb,var(--surface)84%,transparent);animation:.58s copiedPulse}.contact-grid button.is-copied svg{color:#22c55e}@keyframes copiedPulse{0%{transform:scale(.98)}55%{transform:scale(1.015)}to{transform:scale(1)}}.footer{border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg)88%,black)}.footer-content{grid-template-columns:minmax(280px,1.5fr) minmax(180px,.7fr) minmax(180px,.7fr);align-items:start;gap:clamp(42px,8vw,110px);width:min(100%,1240px);margin:0 auto;padding:72px clamp(20px,7vw,96px);display:grid}.footer-brand p{max-width:420px}.footer-brand h3{margin-bottom:8px;font-size:24px}.footer-role{color:var(--accent);margin-bottom:14px;font-weight:850}.footer-column{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.footer-column h4{color:var(--text);margin-bottom:8px;font-size:16px}.footer-column a,.footer-column button{color:var(--subtle);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;transition:color .22s,transform .22s;display:inline-flex}.footer-column a:hover,.footer-column button:hover{color:var(--accent);transform:translate(3px)}.footer-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;width:min(100%,1240px);margin:0 auto;padding:24px clamp(20px,7vw,96px);display:flex}.footer-bottom p{color:var(--subtle);font-size:14px}.footer-top{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--text);border-radius:50%;place-items:center;transition:color .22s,transform .22s;display:grid}.footer-top:hover{color:var(--accent);transform:translateY(-2px)}.floating-contact{z-index:90;position:fixed;bottom:24px;right:24px}.floating-contact-button{border:1px solid color-mix(in srgb,var(--accent)28%,var(--line));background:linear-gradient(180deg,#ffffff1a,transparent 56%),color-mix(in srgb,var(--surface-strong)86%,transparent);width:54px;height:54px;color:color-mix(in srgb,var(--accent)86%,var(--text));cursor:pointer;box-shadow:inset 0 1px 0 #ffffff1f,0 18px 42px #02061738,0 0 24px color-mix(in srgb,var(--accent)8%,transparent);-webkit-backdrop-filter:blur(18px)saturate(1.12);backdrop-filter:blur(18px)saturate(1.12);border-radius:50%;justify-content:center;align-items:center;font-size:19px;transition:transform .24s,border-color .24s,color .24s,box-shadow .24s;display:inline-flex}.floating-contact-button:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent)44%,var(--line));box-shadow:inset 0 1px 0 #ffffff24,0 22px 52px #02061742,0 0 28px color-mix(in srgb,var(--accent)12%,transparent);transform:translateY(-3px)}.floating-contact-panel{border:1px solid color-mix(in srgb,var(--line)82%,transparent);-webkit-backdrop-filter:blur(24px)saturate(1.12);backdrop-filter:blur(24px)saturate(1.12);background:linear-gradient(#ffffff18,#0000 42%),#081321;border-radius:22px;width:min(390px,100vw - 32px);padding:22px;position:absolute;bottom:68px;right:0;box-shadow:0 26px 72px #02061761,inset 0 1px #ffffff1f}:root[data-theme=light] .floating-contact-panel{background:linear-gradient(#ffffffeb,#0000 48%),#fff}.floating-contact-close{border:1px solid color-mix(in srgb,var(--line)86%,transparent);background:color-mix(in srgb,var(--surface)82%,transparent);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;transition:color .2s,border-color .2s,transform .2s;display:grid;position:absolute;top:14px;right:14px}.floating-contact-close:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent)38%,var(--line));transform:rotate(8deg)}.floating-contact-eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:900}.floating-contact-panel h3{margin-bottom:8px;font-size:20px}.floating-contact-panel p{color:var(--subtle);margin-bottom:18px;font-size:14px;line-height:1.6}.floating-contact-panel form{gap:11px;display:grid}.floating-contact-honeypot{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.floating-contact-label{color:var(--subtle);margin-bottom:-4px;font-size:12px;font-weight:760}.floating-contact-method{border:1px solid color-mix(in srgb,var(--line)82%,transparent);background:linear-gradient(180deg,#ffffff0f,transparent),color-mix(in srgb,var(--surface)72%,transparent);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;min-height:42px;padding:4px;display:grid}.floating-contact-method button{min-height:32px;color:var(--subtle);cursor:pointer;background:0 0;border:0;border-radius:999px;font-weight:780;transition:background .2s,color .2s,box-shadow .2s}.floating-contact-method button:disabled{cursor:not-allowed;opacity:.62}.floating-contact-method button.is-active{background:linear-gradient(180deg,#ffffff1a,transparent),color-mix(in srgb,var(--accent-soft)54%,var(--surface-strong));color:var(--text);box-shadow:inset 0 1px 0 #ffffff1f,0 8px 18px color-mix(in srgb,var(--accent)8%,transparent)}.floating-contact-panel input,.floating-contact-panel select,.floating-contact-panel textarea{border:1px solid color-mix(in srgb,var(--line)86%,transparent);background:color-mix(in srgb,var(--surface)76%,transparent);width:100%;color:var(--text);font:inherit;border-radius:14px;outline:none;padding:12px 14px;transition:border-color .2s,box-shadow .2s,background .2s}.floating-contact-panel input:focus,.floating-contact-panel select:focus,.floating-contact-panel textarea:focus{border-color:color-mix(in srgb,var(--accent)44%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent)10%,transparent);background:color-mix(in srgb,var(--surface-strong)82%,transparent)}.floating-contact-panel button[type=submit]{background:linear-gradient(135deg,color-mix(in srgb,var(--accent)86%,white 14%),color-mix(in srgb,var(--accent-strong)88%,#0f172a 12%));color:#fff;cursor:pointer;height:48px;box-shadow:0 14px 34px color-mix(in srgb,var(--accent)18%,transparent),inset 0 1px 0 #ffffff38;border:0;border-radius:999px;justify-content:center;align-items:center;margin-top:6px;font-weight:800;transition:transform .22s,box-shadow .22s,filter .22s;display:inline-flex}.floating-contact-panel button[type=submit]:hover{filter:saturate(1.06);box-shadow:0 18px 42px color-mix(in srgb,var(--accent)22%,transparent),inset 0 1px 0 #ffffff3d;transform:translateY(-2px)}.floating-contact-panel button[type=submit]:disabled{cursor:wait;filter:saturate(.92);opacity:.82;transform:none}.floating-contact-feedback{color:#22c55e;background:#22c55e1c;border:1px solid #22c55e57;border-radius:14px;padding:11px 12px;font-size:13px;font-weight:800;line-height:1.35;animation:.48s copiedPulse}.floating-contact-feedback.is-error{color:#fb7185;background:#fb71851a;border-color:#fb71856b}.floating-contact-success{color:#22c55e;background:#22c55e1f;border-radius:16px;padding:14px;font-size:14px;font-weight:700}@media (max-width:720px){.floating-contact{bottom:16px;right:16px}.floating-contact-button{width:50px;height:50px}.floating-contact-panel{width:min(370px,100vw - 28px);max-height:calc(100vh - 110px);padding:20px;bottom:62px;right:-2px;overflow-y:auto}}@media (max-width:1120px){:root{--header-height:84px}.header{grid-template-columns:minmax(160px,.9fr) auto minmax(220px,.9fr);gap:14px;padding-inline:clamp(18px,4vw,44px)}.header-nav a{padding-inline:10px;font-size:12.5px}.language-trigger{min-width:114px}.header .talk-button{padding-inline:14px}.projects-showcase,.certificates-grid,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px){:root{--header-height:68px}.header{grid-template-columns:auto 1fr auto}.menu-button{order:3;justify-self:end;display:grid}.header-actions{display:none}.header-nav{top:calc(var(--header-height) + 12px);border:1px solid color-mix(in srgb,var(--line)82%,transparent);background:linear-gradient(180deg,#ffffff13,transparent 38%),color-mix(in srgb,var(--bg)94%,#020617 6%);-webkit-backdrop-filter:blur(18px)saturate(1.08);backdrop-filter:blur(18px)saturate(1.08);opacity:0;transform-origin:top;border-radius:24px;flex-direction:column;align-items:stretch;gap:4px;width:min(360px,100vw - 24px);padding:10px;display:none;position:fixed;left:50%;right:auto;transform:translate(-50%,-8px)scale(.985);box-shadow:0 22px 58px #02061747,inset 0 1px #ffffff1a}:root[data-theme=light] .header-nav{background:linear-gradient(#ffffffb8,#0000 44%),#fff}.header-nav.is-open{opacity:1;transition:opacity .22s,transform .34s cubic-bezier(.32,.72,0,1);display:flex;transform:translate(-50%)scale(1)}.nav-active-pill{display:none}.header-nav a{text-align:left;min-height:46px;color:var(--muted);border-radius:14px;justify-content:flex-start;align-items:center;padding:0 13px;font-size:14px;font-weight:720;display:flex}.header-nav a.active{background:linear-gradient(180deg,#ffffff0e,transparent),color-mix(in srgb,var(--accent-soft)34%,transparent);color:var(--text)}.header-nav a:hover,.header-nav a.active{transform:none}.mobile-menu-controls{border-top:1px solid color-mix(in srgb,var(--line)76%,transparent);gap:8px;margin-top:8px;padding:10px 2px 0;display:grid}.mobile-control-row{min-height:44px;color:var(--subtle);letter-spacing:.01em;justify-content:space-between;align-items:center;gap:14px;padding:0 4px 0 10px;font-size:12px;font-weight:780;display:flex}.mobile-theme-switch{flex:none;width:66px;height:38px}.mobile-theme-switch .theme-switch-thumb{width:30px;height:30px;transform:translate(28px)}.mobile-theme-switch.is-light .theme-switch-thumb{transform:translate(0)}.mobile-theme-switch .theme-switch-sun{left:13px}.mobile-theme-switch .theme-switch-moon{right:13px}.mobile-language-segment{border:1px solid color-mix(in srgb,var(--line)76%,transparent);background:linear-gradient(180deg,#ffffff0e,transparent),color-mix(in srgb,var(--surface)54%,transparent);border-radius:999px;grid-template-columns:1fr 1fr;gap:3px;width:min(190px,64%);min-height:36px;padding:3px;display:grid}.mobile-language-segment-option{min-width:0;min-height:30px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font-size:12px;font-weight:760;line-height:1;transition:background .2s,color .2s,transform .2s;display:flex}.mobile-language-segment-option:hover,.mobile-language-segment-option.is-active{background:linear-gradient(180deg,#ffffff1a,transparent),color-mix(in srgb,var(--surface-strong)78%,transparent);color:var(--text);box-shadow:inset 0 1px #ffffff1a,0 8px 18px #0206171a}.mobile-language-segment-option:hover{transform:translateY(-1px)}.talk-button{display:none}.hero-content,.about-polaroid-layout,.skills-layout{text-align:center;grid-template-columns:1fr}.hero-text,.about-polaroid-text,.skills-info,.skills-info p{margin-inline:auto}.hero-buttons,.hero-socials,.skills-pills{justify-content:center}.hero-image-wrapper{order:-1}.skills-visual{height:560px}}@media (max-width:720px){section{padding:72px 20px}.header{gap:10px;padding-inline:16px}.brand-wordmark{font-size:15px}.hero{min-height:auto;padding-top:68px}.hero-buttons .btn,.contact-actions .btn,.section-cta .btn{width:100%}.photo-stack{height:430px}.printed-photo{width:clamp(188px,58vw,235px)}.photo-one{top:14%;left:2%}.photo-two{top:2%;right:2%}.photo-three{bottom:2%;left:19%}.skills-visual{height:460px}.skills-globe{inset:-24px}.globe-tech-icon{width:58px;height:58px;font-size:44px}.projects-tabs,.projects-showcase,.certificates-grid,.contact-grid,.footer-content{grid-template-columns:1fr}.project-title-row{align-items:center}.footer-bottom{flex-direction:column;align-items:flex-start}}@media (max-width:420px){.header{gap:8px;padding-inline:12px}.menu-button{width:38px;height:38px}.header-actions{gap:6px}.theme-switch{width:64px;height:38px}.theme-switch-thumb{width:30px;height:30px;transform:translate(26px)}.theme-switch.is-light .theme-switch-thumb{transform:translate(0)}.theme-switch-sun{left:12px}.theme-switch-moon{right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
