@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.\!section{padding-top:6rem;padding-bottom:6rem}@media (min-width: 640px){.\!section{padding-top:7rem;padding-bottom:7rem}}.section{padding-top:6rem;padding-bottom:6rem}@media (min-width: 640px){.section{padding-top:7rem;padding-bottom:7rem}}.section-title{font-size:2.25rem;line-height:2.5rem;font-weight:700;line-height:1.25}@media (min-width: 640px){.section-title{font-size:3rem;line-height:1}}.section-title{color:#f0f0f5}.eyebrow{margin-bottom:1rem;font-size:.75rem;line-height:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.24em;color:#6c63ff}.glass-card{border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#12121ad9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 55px #0006}.portfolio-card{border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#12121a;transition:border-color .25s ease,transform .25s ease,background .25s ease,box-shadow .25s ease;box-shadow:0 8px 32px #0000004d;overflow:hidden}.portfolio-card:hover{transform:translateY(-4px) scale(1.02);border-color:#6c63ff59;background:#1a1a28;box-shadow:0 24px 70px #6c63ff38}.btn-primary,.btn-secondary{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;padding-left:1.5rem;padding-right:1.5rem;font-size:.875rem;line-height:1.25rem;font-weight:700;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:active,.btn-secondary:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-primary{background:#6c63ff;color:#fff}.btn-primary:hover{background:#5a52e0;box-shadow:0 0 28px #6c63ff66}.btn-secondary{border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#8080a0}.btn-secondary:hover{border-color:#6c63ff66;color:#6c63ff}.btn-cv{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;padding-left:1.5rem;padding-right:1.5rem;font-size:.875rem;line-height:1.25rem;font-weight:700;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-cv:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-cv{border:1px solid rgba(108,99,255,.35);background:transparent;color:#9089ff}.btn-cv:hover{border-color:#6c63ff;background:#6c63ff1a;color:#fff;box-shadow:0 0 24px #6c63ff33}.nav-link{position:relative;font-size:.875rem;line-height:1.25rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:#8080a0}.nav-link:hover{color:#f0f0f5}.nav-link:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:#6c63ff;opacity:.8;transition:width .25s ease}.nav-link:hover:after{width:100%}.tab-button{display:inline-flex;min-height:2.75rem;align-items:center;gap:.5rem;border-radius:9999px;padding-left:1.25rem;padding-right:1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:700;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:transparent;color:#8080a0}.tab-button:hover{color:#f0f0f5}.status-badge{border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:700}.status-badge.green{background:#00d4ff1a;color:#00d4ff;border:1px solid rgba(0,212,255,.2)}.status-badge.gold{border:1px solid rgba(108,99,255,.25);background:#6c63ff1a;color:#9089ff}.meta-chip{border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff0a;color:#8080a0;transition:border-color .2s ease,color .2s ease}.meta-chip:hover{border-color:#6c63ff66;color:#9089ff}.field{width:100%;border-radius:14px;padding:.75rem 1rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#f0f0f5}.field::-moz-placeholder{color:#6060a0}.field::placeholder{color:#6060a0}.field:focus{border-color:#6c63ff66}.footer-icon{display:grid;height:2.5rem;width:2.5rem;place-items:center;border-radius:9999px;border-width:1px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-color:#ffffff14;color:#8080a0}.footer-icon:hover{border-color:#6c63ff66;color:#6c63ff}.footer-icon.linkedin-icon:hover{border-color:#2f90ef66;color:#2f90ef}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.top-0{top:0}.z-10{z-index:10}.z-\[100\]{z-index:100}.z-\[200\]{z-index:200}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-8{margin-bottom:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-11{height:2.75rem}.h-full{height:100%}.min-h-\[420px\]{min-height:420px}.min-h-screen{min-height:100vh}.w-11{width:2.75rem}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-\[42rem\]{max-width:42rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-card{border-radius:14px}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-\[\#E4EAF1\]{--tw-border-opacity: 1;border-color:rgb(228 234 241 / var(--tw-border-opacity, 1))}.bg-\[\#FBFCFE\]{--tw-bg-opacity: 1;background-color:rgb(251 252 254 / var(--tw-bg-opacity, 1))}.bg-\[rgba\(247\,249\,252\,0\.92\)\]{background-color:#f7f9fceb}.bg-\[rgba\(247\,249\,252\,0\.98\)\]{background-color:#f7f9fcfa}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-2{padding:.5rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:.25rem}.pt-32{padding-top:8rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.68rem\]{font-size:.68rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-\[1\.04\]{line-height:1.04}.leading-tight{line-height:1.25}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.24em\]{letter-spacing:.24em}.tracking-wide{letter-spacing:.025em}.text-accent{--tw-text-opacity: 1;color:rgb(49 144 239 / var(--tw-text-opacity, 1))}.text-ink{--tw-text-opacity: 1;color:rgb(23 32 51 / var(--tw-text-opacity, 1))}.text-muted{--tw-text-opacity: 1;color:rgb(82 97 118 / var(--tw-text-opacity, 1))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-2xl{--tw-backdrop-blur: blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[padding\]{transition-property:padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{color:#172033;background:#f7f9fc;font-family:Inter,sans-serif;scroll-behavior:smooth}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{overflow-x:hidden;width:100%;max-width:100vw;-webkit-text-size-adjust:100%}body{min-width:320px;margin:0;overflow-x:hidden;width:100%;max-width:100vw;position:relative;background-color:#f7f9fc;color:#172033;overscroll-behavior-x:none}img,video,canvas,svg{max-width:100%}::-moz-selection{background:#3190ef33}::selection{background:#3190ef33}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f7f9fc}::-webkit-scrollbar-thumb{background:#3190ef59;border-radius:999px}.intro-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(rgba(108,99,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(108,99,255,.05) 1px,transparent 1px),radial-gradient(circle at 50% 40%,rgba(108,99,255,.1),transparent 34%),radial-gradient(circle at 82% 18%,rgba(0,212,255,.12),transparent 30%),#0a0a0f;background-size:52px 52px,52px 52px,auto,auto,auto}.intro-orbit{position:absolute;width:260px;height:260px;border-radius:999px;pointer-events:none;filter:blur(80px);opacity:.45}.intro-orbit-left{left:max(-90px,8vw);top:20%;background:radial-gradient(circle,rgba(108,99,255,.2),transparent 70%)}.intro-orbit-right{right:max(-120px,10vw);bottom:18%;background:radial-gradient(circle,rgba(0,212,255,.18),transparent 70%)}.intro-panel{position:relative;width:min(100%,620px);border:1px solid rgba(255,255,255,.06);border-radius:24px;background:#12121aeb;padding:34px;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 30px 120px #6c63ff26,inset 0 1px #ffffff0f}.intro-mark{display:inline-flex;gap:9px;margin-bottom:22px}.intro-mark span{width:8px;height:8px;border-radius:999px;background:#6c63ff;box-shadow:0 0 18px #6c63ff66}.intro-eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#6c63ff}.intro-title{margin-top:14px;font-size:clamp(2.2rem,6vw,4.4rem);font-weight:800;line-height:.98;color:#f0f0f5}.intro-subtitle{margin-top:16px;font-size:clamp(.95rem,2.4vw,1.15rem);line-height:1.7;color:#8080a0}.intro-progress{height:2px;margin:28px auto 0;overflow:hidden;border-radius:999px;background:#6c63ff1f}.intro-progress span{display:block;height:100%;transform-origin:left;border-radius:inherit;background:linear-gradient(90deg,transparent,#6C63FF,rgba(0,212,255,.5));box-shadow:0 0 20px #6c63ff4d}.physics-badge-stage{position:relative;width:min(100%,390px);height:560px;overflow:visible;border:1px solid #D5E4F2;border-radius:24px;background:linear-gradient(rgba(49,144,239,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(49,144,239,.06) 1px,transparent 1px),#f3f8fe;background-size:34px 34px,34px 34px,auto;box-shadow:inset 0 1px #ffffffe6,0 24px 70px #22415f1f;isolation:isolate;touch-action:none}.physics-badge-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 10% 35%,rgba(49,144,239,.1),transparent 34%),radial-gradient(circle at 82% 24%,rgba(49,144,239,.08),transparent 28%),radial-gradient(circle at 92% 62%,rgba(49,144,239,.06),transparent 31%);filter:blur(24px);opacity:.9}.physics-badge-blob{position:absolute;z-index:0;width:190px;height:190px;border-radius:999px;pointer-events:none;filter:blur(80px);opacity:.5}.physics-badge-blob-left{left:-72px;top:92px;background:radial-gradient(circle,rgba(49,144,239,.16),transparent 68%)}.physics-badge-blob-right{right:-76px;bottom:80px;background:radial-gradient(circle,rgba(49,144,239,.12),transparent 66%)}.physics-badge-noise{position:absolute;top:-80px;right:-80px;bottom:-80px;left:-80px;z-index:1;pointer-events:none;opacity:.08;background-image:radial-gradient(circle at 20% 30%,rgba(49,144,239,.2) 0 1px,transparent 1px),radial-gradient(circle at 70% 60%,rgba(49,144,239,.14) 0 1px,transparent 1px);background-size:13px 17px,19px 23px}.premium-badge-spotlight{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .22s ease}.physics-lanyard{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;width:100%;height:100%;overflow:visible;pointer-events:none}.physics-lanyard-glow,.physics-lanyard-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.physics-lanyard-glow{stroke:#3190ef29;stroke-width:20;filter:blur(16px)}.physics-lanyard-path{stroke:#5b7188b8;filter:drop-shadow(0 0 12px rgba(34,65,95,.14))}.physics-badge-card{position:absolute;left:0;top:0;z-index:5;width:238px;padding:18px;overflow:hidden;border:1px solid #D5E4F2;border-radius:24px;background:#f8fbfff5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px #22415f24,0 0 24px #3190ef14;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform;touch-action:none}.physics-badge-card:active{cursor:grabbing}.physics-badge-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(rgba(49,144,239,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(49,144,239,.06) 1px,transparent 1px),radial-gradient(circle at 50% 0%,rgba(49,144,239,.09),transparent 34%),radial-gradient(circle at 92% 18%,rgba(49,144,239,.07),transparent 30%);background-size:28px 28px,28px 28px,auto,auto}.physics-badge-clip{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:19px;margin:-6px auto 10px;border:1px solid rgba(49,144,239,.16);border-radius:999px;background:linear-gradient(180deg,#f8fbff,#f4f8fc);box-shadow:inset 0 1px #ffffffeb,0 8px 22px #22415f1a}.physics-badge-clip span{width:30px;height:5px;border-radius:999px;background:#3190ef}.physics-badge-topline{margin-bottom:12px;border:1px solid rgba(49,144,239,.16);border-radius:16px;background:#f4f8fc;padding:11px 14px;text-align:center;font-family:General Sans,Satoshi,Inter,sans-serif;font-size:.52rem;font-weight:700;letter-spacing:.16em;color:#5b7188;white-space:nowrap}.physics-badge-photo{display:block;width:100%;height:285px;border:1px solid #D5E4F2;border-radius:18px;-o-object-fit:cover;object-fit:cover;box-shadow:inset 0 0 0 1px #3190ef0d;filter:grayscale(15%);pointer-events:none}.physics-badge-name{margin-top:14px;text-align:center;font-family:Clash Display,General Sans,Inter,sans-serif;font-size:13px;font-weight:700;color:#17324d}.physics-badge-role{margin-top:4px;text-align:center;font-size:11px;font-weight:600;color:#5b7188}.linkedin-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid rgba(47,144,239,.28);border-radius:999px;background:#2f90ef12;color:#2f90ef;text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.01em;transform-style:preserve-3d;will-change:transform,box-shadow;transition:background .18s ease,border-color .18s ease}.linkedin-hero-badge:hover{background:#2f90ef21;border-color:#2f90ef80}.linkedin-hero-badge strong{font-weight:700;color:#60aff0}.profile-gradient-ring{position:relative;border-radius:9999px;padding:3px;background:linear-gradient(135deg,#6c63ff,#2f90ef,#00d4ff,#6c63ff);background-size:300% 300%;animation:gradientRing 4s ease infinite;flex-shrink:0}.profile-gradient-ring img{border-radius:9999px;display:block;border:3px solid #0A0A0F}@keyframes gradientRing{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.water-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}@keyframes waveDrift1{0%,to{transform:translate(0) translateY(0)}33%{transform:translate(-20px) translateY(10px)}66%{transform:translate(15px) translateY(-8px)}}@keyframes waveDrift2{0%,to{transform:translate(0) translateY(0)}33%{transform:translate(18px) translateY(-12px)}66%{transform:translate(-22px) translateY(6px)}}.wave-path-1{animation:waveDrift1 12s ease-in-out infinite}.wave-path-2{animation:waveDrift2 16s ease-in-out infinite}.linkedin-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid rgba(47,144,239,.25);border-radius:999px;background:#2f90ef14;color:#2f90ef;font-size:.75rem;font-weight:700;text-decoration:none;transition:all .2s ease}.linkedin-badge:hover{border-color:#2f90ef80;background:#2f90ef26;box-shadow:0 0 20px #2f90ef33}.photo-gallery-card{position:relative;overflow:hidden;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:#12121a}.photo-gallery-card img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .4s ease;filter:grayscale(20%) brightness(.85)}.photo-gallery-card:hover img{transform:scale(1.05);filter:grayscale(0%) brightness(1)}.photo-gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(10,10,15,.85) 0%,transparent 60%);opacity:0;transition:opacity .3s ease;display:flex;align-items:flex-end;padding:14px}.photo-gallery-card:hover .photo-gallery-overlay{opacity:1}.section-divider{width:40px;height:2px;background:linear-gradient(90deg,#6c63ff,#2f90ef);border-radius:999px;margin:16px 0}.nav-hidden{transform:translateY(-100%)}.nav-link-active{color:#f0f0f5!important}.nav-link-active:after{width:100%!important;opacity:1!important}.portfolio-card{overflow:hidden;transition:border-color .3s ease,transform .3s ease,background .3s ease,box-shadow .3s ease!important;will-change:transform}.portfolio-card:hover{transform:translateY(-5px) scale(1.015)!important;border-color:#6c63ff52!important;background:#1a1a28!important;box-shadow:0 20px 60px #6c63ff1f,0 0 0 1px #6c63ff1a!important}.glass-card{transition:border-color .3s ease,box-shadow .3s ease}.glass-card:hover{border-color:#6c63ff2e;box-shadow:0 12px 40px #6c63ff1a}.btn-primary{transition:background .2s ease,box-shadow .2s ease,transform .2s ease!important;will-change:transform}.btn-primary:hover{transform:translateY(-1px) scale(1.015);background:#5a52e0;box-shadow:0 0 28px #6c63ff59}.btn-primary:active{transform:scale(.975)}.btn-secondary{transition:border-color .2s ease,color .2s ease,transform .2s ease!important;will-change:transform}.btn-secondary:hover{transform:translateY(-1px)}.btn-secondary:active{transform:scale(.975)}.contact-link{transition:border-color .25s ease,color .25s ease;will-change:transform}.contact-link:hover{transform:translateY(-2px) scale(1.015)}.footer-icon{transition:border-color .25s ease,color .25s ease,transform .25s ease!important;will-change:transform}.footer-icon:hover{transform:scale(1.08)}@media (max-width: 640px){.section{padding-top:72px;padding-bottom:72px}.physics-badge-stage{height:400px;overflow:hidden}.physics-badge-card{width:200px}.physics-badge-photo{height:200px}.intro-panel{padding:28px 20px}}.cv-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#0a0a0feb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:16px}.cv-modal-box{position:relative;width:100%;max-width:920px;height:90vh;background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 40px 120px #000000b3}.cv-modal-close{position:absolute;top:12px;right:12px;z-index:10;width:36px;height:36px;border-radius:50%;border:none;background:#0000008c;color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .2s ease}.cv-modal-close:hover{background:#000c}.cv-modal-iframe{flex:1;width:100%;height:100%;border:none;display:block}.cv-modal-fallback{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:14px;padding:9px 16px;font-size:12px;text-align:center;background:#f8f8f8;color:#555;border-top:1px solid #e5e5e5}.cv-modal-fallback a{color:#1878d1;font-weight:600;text-decoration:underline}.cv-modal-fallback .cv-modal-download{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:5px 10px;border:1px solid #CFE2F5;border-radius:999px;background:#edf6ff;text-decoration:none}@media (max-width: 640px){.cv-modal-box{height:85vh;border-radius:10px}.cv-modal-fallback{align-items:stretch;flex-direction:column;gap:7px}.cv-modal-fallback .cv-modal-download{justify-content:center}}@keyframes scrollPulse{0%,to{transform:scaleY(1);opacity:.5}50%{transform:scaleY(.5);opacity:1}}.c3d-scroll-line{width:1px;height:36px;background:linear-gradient(180deg,#8b5cf6,transparent);animation:scrollPulse 2s ease-in-out infinite}.photo-carousel-section{position:relative;width:100%;height:100vh;overflow:hidden;perspective:1200px;perspective-origin:50% 50%;background:linear-gradient(180deg,#0a0a0f,#0f0f1a,#0a0a0f);flex-direction:column;align-items:center;justify-content:center}.carousel-section-header{position:absolute;top:52px;left:0;width:100%;text-align:center;z-index:10;pointer-events:none}.carousel-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#8b5cf6;margin-bottom:10px}.carousel-title{font-size:clamp(2rem,4.5vw,3.2rem);font-weight:800;color:#f0f0f5;margin:0}.carousel-container{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;transform-style:preserve-3d}.carousel-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:0}.text-line{display:block;font-size:clamp(3.5rem,9vw,7.5rem);font-weight:900;color:#8b5cf612;line-height:1;letter-spacing:-.03em;text-transform:uppercase}.carousel-track{position:absolute;width:280px;height:370px;transform-style:preserve-3d}.carousel-item{position:absolute;top:0;left:0;width:280px;height:370px;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform,opacity;cursor:pointer;outline:none}.carousel-item:focus-visible .item-inner{box-shadow:0 0 0 2px #8b5cf6,0 25px 60px -10px #000000b3}.item-inner{width:100%;height:100%;border-radius:18px;overflow:hidden;background:#14142a;box-shadow:0 28px 64px -12px #000c,0 0 0 1px #ffffff0f;transform-origin:center center;display:flex;flex-direction:column}.item-image-wrapper{flex:0 0 72%;overflow:hidden;position:relative}.item-image-wrapper img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;pointer-events:none}.item-image-wrapper:after{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.55),transparent)}.item-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(139,92,246,.04) 0%,transparent 40%,rgba(0,0,0,.35) 100%);pointer-events:none}.item-caption{flex:1;padding:12px 14px 14px;display:flex;flex-direction:column;gap:5px}.caption-category{--cat-color: #8b5cf6;display:inline-block;align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--cat-color) 18%,transparent);color:color-mix(in srgb,var(--cat-color) 70%,#ffffff);border:1px solid color-mix(in srgb,var(--cat-color) 40%,transparent)}.caption-text{font-size:12px;font-weight:600;color:#ffffffe6;line-height:1.4;margin-top:2px}.scroll-hint-wrapper{position:absolute;bottom:36px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:20;opacity:.55;pointer-events:none}.scroll-hint-wrapper span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#ffffff73}.mq-section{display:flex;flex-direction:column;gap:20px;overflow:hidden;width:100%;padding:8px 0 12px;background:transparent}.mq-viewport{overflow:hidden;width:100%;position:relative;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.6) 5%,black 12%,black 88%,rgba(0,0,0,.6) 95%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.6) 5%,black 12%,black 88%,rgba(0,0,0,.6) 95%,transparent 100%)}.mq-track{display:flex;align-items:center;width:-moz-max-content;width:max-content;transform-origin:center center}.mq-item{position:relative;flex-shrink:0;border-radius:12px;overflow:hidden;backface-visibility:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .35s cubic-bezier(.22,1,.36,1),filter .35s cubic-bezier(.22,1,.36,1);box-shadow:0 8px 32px #0000008c,0 0 0 1px #ffffff0d}.mq-item:focus-visible{outline:2px solid #8b5cf6;outline-offset:3px}.mq-hover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#0a0a0f6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity .25s ease;pointer-events:none}.mq-hover-overlay span{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#ffffffe0}.mq-caption{position:absolute;bottom:0;left:0;right:0;padding:10px 14px 12px;background:linear-gradient(to top,rgba(10,10,15,.92) 0%,rgba(108,99,255,.1) 70%,transparent 100%);transition:transform .3s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;gap:4px}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0a0a0ff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lightbox-content{display:flex;flex-direction:column;align-items:center;max-width:90vw;max-height:90vh}.lightbox-content img{border-radius:12px;box-shadow:0 40px 100px #000000b3;-o-object-fit:contain;object-fit:contain;max-width:80vw;max-height:65vh}.lightbox-caption{margin-top:16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.lightbox-caption .caption-category{align-self:center}.lightbox-caption .caption-text,.lightbox-caption .lightbox-meta,.lightbox-caption .lightbox-counter{text-align:center;width:100%}.lightbox-meta{font-size:12px;color:#94a3b8}.lightbox-counter{font-size:11px;color:#ffffff4d;margin-top:4px}.lightbox-close{position:absolute;top:16px;right:16px;z-index:10;padding:8px;border-radius:50%;background:#ffffff14;color:#fff;cursor:pointer;border:none;display:grid;place-items:center;transition:background .2s}.lightbox-close:hover{background:#ffffff26}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;padding:10px;border-radius:50%;background:#ffffff14;color:#fff;cursor:pointer;border:none;display:grid;place-items:center;transition:background .2s}.lightbox-nav:hover{background:#ffffff26}.lightbox-prev{left:16px}.lightbox-next{right:16px}@media (min-width: 640px){.lightbox-prev{left:32px}.lightbox-next{right:32px}}@media (max-width: 1024px){.carousel-track,.carousel-item{width:240px;height:320px}}@media (prefers-reduced-motion: reduce){.c3d-scroll-line{animation:none;opacity:.5}.lightbox-overlay,.lightbox-content{animation:none}}html{scroll-behavior:smooth}.cyl-section{position:relative;width:100%;height:82vh;min-height:480px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(180deg,#0a0a0f,#0d0d1a,#0a0a0f)}.cyl-bg-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:center;z-index:0}.cyl-bg-text span{display:block;font-size:clamp(3rem,8vw,7rem);font-weight:900;color:#8b5cf60b;letter-spacing:-.03em;text-transform:uppercase;line-height:1}.cyl-persp{perspective:1200px;perspective-origin:50% 50%;width:280px;height:370px;position:relative;z-index:1}.cyl-track{width:100%;height:100%;position:relative;transform-style:preserve-3d;transform-origin:center center;will-change:transform}.cyl-item{position:absolute;top:0;left:0;width:280px;height:370px;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform,opacity}.cyl-inner{width:100%;height:100%;transform-origin:center center;border-radius:16px;overflow:hidden;background:#0d0d1a;box-shadow:0 28px 64px -8px #000000e6,0 0 0 1px #ffffff0f;display:flex;flex-direction:column;transition:box-shadow .3s ease;will-change:transform,filter}.cyl-item:hover .cyl-inner{box-shadow:0 28px 64px -8px #000000e6,0 0 0 2px #8b5cf680,0 0 48px #8b5cf624}.cyl-imgwrap{flex:0 0 74%;position:relative;width:100%;padding:0;border:0;overflow:hidden;background:transparent;cursor:pointer}.cyl-imgwrap:focus-visible{outline:2px solid #8b5cf6;outline-offset:-2px}.cyl-imgwrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;pointer-events:none;transition:transform .55s cubic-bezier(.22,1,.36,1)}.cyl-imgwrap:hover img{transform:scale(1.05)}.cyl-imgoverlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(139,92,246,.06) 0%,transparent 35%,rgba(0,0,0,.4) 100%);pointer-events:none}.cyl-cap{flex:1;padding:10px 14px 12px;background:#10101e;display:flex;flex-direction:column;gap:5px}.cyl-textpanel{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#8b5cf609;border:1px solid rgba(139,92,246,.1);border-radius:16px}.cyl-textpanel span{display:block;font-size:clamp(1.5rem,3.5vw,2.6rem);font-weight:900;color:#8b5cf638;letter-spacing:-.02em;text-transform:uppercase;line-height:.95;text-align:center}.cyl-hint{position:absolute;bottom:28px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;opacity:.38;pointer-events:none;z-index:2}.cyl-hint span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#ffffff73;white-space:nowrap}.cyl-hintline{width:1px;height:36px;background:linear-gradient(to bottom,rgba(139,92,246,.65),transparent);animation:scrollPulse 2s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.cyl-hintline{animation:none;opacity:.5}}.section-scroll-target{scroll-margin-top:calc(var(--site-header-height, 64px) + 16px)}.gallery-section{background:#0a0a0f;padding:8px 0 4px;max-width:720px;margin:0 auto}.slider-container{position:relative}.slider-track{display:flex;gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;outline:none}.slider-track::-webkit-scrollbar{display:none}.slider-track:focus-visible{box-shadow:inset 0 0 0 2px #8b5cf680;border-radius:16px}.slide{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;padding:0 1rem;box-sizing:border-box}.slide-media{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:16px;overflow:hidden;background:#ffffff08}.slide-image-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.slide-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;cursor:zoom-in}.slide-img:focus-visible{outline:2px solid #8b5cf6;outline-offset:-2px}.badge{--cat-color: #8b5cf6;position:absolute;top:12px;left:12px;z-index:2;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;color:#fff;background:color-mix(in srgb,var(--cat-color) 88%,transparent);border:1px solid color-mix(in srgb,var(--cat-color) 60%,#ffffff);box-shadow:0 4px 14px color-mix(in srgb,var(--cat-color) 45%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.slide-img,.masonry-img{filter:blur(12px);transform:scale(1.04);transition:filter .5s ease,transform .5s ease}.slide-img[data-loaded=true],.masonry-img[data-loaded=true]{filter:blur(0);transform:scale(1)}.slide-info{margin-top:14px;padding:14px 16px;border-radius:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.slide-info h3{font-size:1rem;font-weight:700;color:#e2e8f0;line-height:1.3;margin:0}.slide-info .meta{margin:4px 0 0;font-size:12px;font-weight:600;color:#94a3b8;letter-spacing:.01em}.slide-info .desc{margin:8px 0 0;font-size:13px;line-height:1.5;color:#94a3b8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.slider-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;padding:0 1rem}.slider-controls .counter{font-size:12px;font-weight:600;color:#94a3b8;font-variant-numeric:tabular-nums;min-width:42px}.dots{display:flex;align-items:center;gap:8px}.dot{width:8px;height:8px;border-radius:999px;border:none;padding:0;background:#ffffff38;cursor:pointer;transition:width .3s cubic-bezier(.22,1,.36,1),background .3s ease}.dot.active{width:22px;background:#8b5cf6}.dot:focus-visible{outline:2px solid #8b5cf6;outline-offset:3px}.btn-view-all{display:flex;align-items:center;justify-content:center;gap:8px;margin:22px auto 0;padding:11px 22px;border-radius:999px;font-size:13px;font-weight:600;color:#e2e8f0;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s ease}.btn-view-all:hover{background:#8b5cf624;border-color:#8b5cf666;transform:translateY(-1px)}.btn-view-all:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.masonry-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0a0a0f;display:flex;flex-direction:column}.masonry-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.masonry-header h3{font-size:15px;font-weight:700;color:#e2e8f0;margin:0}.masonry-close{display:grid;place-items:center;padding:8px;border-radius:50%;background:#ffffff0f;color:#e2e8f0;border:none;cursor:pointer;transition:background .2s ease}.masonry-close:hover{background:#ffffff24}.masonry-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.masonry-grid{-moz-column-count:2;column-count:2;-moz-column-gap:12px;column-gap:12px;padding:14px}.masonry-item{display:block;width:100%;position:relative;-moz-column-break-inside:avoid;break-inside:avoid;margin:0 0 12px;padding:0;border-radius:14px;overflow:hidden;cursor:zoom-in;background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:inherit;font:inherit;text-align:left}.masonry-item:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.masonry-img{width:100%;height:auto;display:block}.masonry-caption{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 8px;font-size:11px;font-weight:600;color:#e2e8f0;background:linear-gradient(to top,rgba(10,10,15,.92),transparent)}@media (min-width: 560px){.masonry-grid{-moz-column-count:3;column-count:3}}@media (prefers-reduced-motion: reduce){.slider-track{scroll-behavior:auto}.slide-img,.masonry-img{transition:none;filter:none;transform:none}.dot{transition:none}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.1ms!important;filter:none!important}.portfolio-card:hover,.btn-primary:hover,.btn-secondary:hover,.contact-link:hover,.footer-icon:hover{transform:none!important}.profile-gradient-ring{animation:none;background:linear-gradient(135deg,#6c63ff,#2f90ef)}}.tab-dropdown{position:relative;max-width:340px;margin:0 auto}.tab-dropdown-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 1.2rem;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#12121aeb;color:#f0f0f5;font-weight:700;font-size:.95rem;cursor:pointer;transition:border-color .2s ease}.tab-dropdown-btn:hover{border-color:#6c63ff66}.tab-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#12121a;box-shadow:0 24px 60px #0000008c;overflow:hidden;list-style:none;margin:0;padding:6px;animation:tabMenuIn .18s ease-out}@keyframes tabMenuIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.tab-menu-item{width:100%;display:flex;align-items:center;gap:.6rem;padding:.75rem .9rem;border-radius:10px;color:#8080a0;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .15s ease,color .15s ease}.tab-menu-item:hover{background:#6c63ff14;color:#f0f0f5}.tab-menu-item.active{color:#fff;background:#6c63ff29}.proj-card{padding:1.25rem}.proj-title{flex:1;min-width:0;font-size:1.05rem;font-weight:700;line-height:1.35;color:#f0f0f5;word-break:break-word;overflow-wrap:break-word}.proj-badges{max-width:48%;display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.proj-year{font-size:11px;font-weight:700;color:#8080a0;white-space:nowrap}.proj-type{white-space:normal;text-align:right}.proj-org{margin-top:.6rem;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#8080a0;word-break:break-word;overflow-wrap:break-word}.proj-desc{margin-top:.7rem;flex:1;font-size:.875rem;line-height:1.6;color:#a0a0b8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.proj-tags{margin-top:.85rem;display:flex;flex-wrap:wrap;gap:.4rem}.proj-tag-more{color:#9089ff;border-color:#6c63ff4d}.proj-details{margin-top:1.1rem;align-self:flex-end;display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:700;color:#9089ff;transition:color .2s ease,gap .2s ease}.proj-details:hover{color:#fff;gap:.6rem}.exp-timeline{position:relative;padding-left:30px}.exp-line{position:absolute;left:7px;top:6px;bottom:6px;width:2px;border-radius:2px;background:#94a3b840;transform-origin:top center;display:block}.exp-item{position:relative;padding-bottom:30px}.exp-item:last-child{padding-bottom:0}.exp-dot{position:absolute;left:-29px;top:4px;width:14px;height:14px;border-radius:50%}.exp-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.exp-date{font-size:.8rem;font-weight:700;color:#9089ff;letter-spacing:.04em}.exp-tag{--cat-color: #8b5cf6;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:999px;color:color-mix(in srgb,var(--cat-color) 75%,#ffffff);background:color-mix(in srgb,var(--cat-color) 16%,transparent);border:1px solid color-mix(in srgb,var(--cat-color) 38%,transparent)}.exp-role{margin-top:.5rem;font-size:1.1rem;font-weight:700;line-height:1.35;color:#f0f0f5}.exp-organization{margin-top:.4rem;font-size:.88rem;font-weight:700;line-height:1.5;color:#526176}.exp-location{margin-top:.15rem;font-size:.82rem;line-height:1.5;color:#66758a}.exp-desc-list{margin-top:.65rem;display:grid;gap:.45rem;padding-left:1.1rem;font-size:.9rem;line-height:1.6;color:#a0a0b8;list-style:disc}.exp-desc-list li{padding-left:.15rem}.cert-item{display:flex;align-items:flex-start;gap:14px;padding:1rem 1.1rem}.cert-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#6c63ff1f;color:#9089ff}.cert-body{flex:1;min-width:0}.cert-title{font-size:.95rem;font-weight:700;line-height:1.35;color:#f0f0f5}.cert-issuer{margin-top:4px;font-size:.8rem;line-height:1.5;color:#a0a0b8}.cert-date{margin-top:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#8080a0}.cert-actions{margin-top:.8rem;display:flex;gap:.5rem;flex-wrap:wrap}.cert-btn{min-height:38px;padding:0 1rem;font-size:12px}.cert-disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.tech-search{display:flex;align-items:center;gap:.6rem;padding:.7rem 1.1rem;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;margin-bottom:1.5rem}.tech-search:focus-within{border-color:#6c63ff73}.tech-search svg{color:#8080a0;flex-shrink:0}.tech-search input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:#f0f0f5;font-size:.9rem}.tech-search input::-moz-placeholder{color:#6060a0}.tech-search input::placeholder{color:#6060a0}.tech-search button{display:grid;place-items:center;color:#8080a0;cursor:pointer;flex-shrink:0}.tech-search button:hover{color:#f0f0f5}.tech-group{margin-bottom:1.1rem}.tech-group-title{position:sticky;top:64px;z-index:2;margin:0 -4px;padding:.5rem 4px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#9089ff;background:#0a0a0f}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.5rem}.tech-tag{padding:.45rem .9rem;font-size:.85rem;font-weight:600}.tech-empty{color:#8080a0;text-align:center;padding:2.5rem 1rem}.skeleton-card{border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#12121a;padding:1.25rem}.skeleton-line{border-radius:6px;background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17 37%,#ffffff0a 63%);background-size:400% 100%;animation:skeletonShimmer 1.4s ease infinite}@keyframes skeletonShimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion: reduce){.skeleton-line,.tab-menu{animation:none}}.about-block{display:flex;gap:12px;padding:16px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#12121a99;transition:border-color .25s ease}.about-block:hover{border-color:#6c63ff40}.about-block-icon{flex-shrink:0;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#6c63ff1f;color:#9089ff}.about-block-title{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#9089ff;margin-bottom:4px}.about-block-text{font-size:.875rem;line-height:1.5;color:#a0a0b8}.about-block-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.about-block-list li{font-size:.875rem;color:#a0a0b8;padding-left:12px;position:relative}.about-block-list li:before{content:"·";position:absolute;left:0;color:#6c63ff}.about-block-link{display:inline-block;margin-top:4px;font-size:.8rem;font-weight:600;color:#9089ff;text-decoration:none;transition:color .2s ease}.about-block-link:hover{color:#fff}.lang-t{display:inline-block;will-change:opacity,transform}.lang-t-leave{opacity:0;transform:scale(.95) translateY(-4px);transition:opacity .18s cubic-bezier(.25,.46,.45,.94),transform .18s cubic-bezier(.25,.46,.45,.94)}@keyframes langEnter{0%{opacity:0;transform:scale(.95) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.lang-t-enter{animation:langEnter .26s cubic-bezier(.34,1.4,.64,1) both}.hero-heading-copy{display:block;animation:langEnter .26s cubic-bezier(.34,1.4,.64,1) both}@media (prefers-reduced-motion: reduce){.lang-t-leave{transition:opacity 80ms ease!important;transform:none!important}.lang-t-enter{animation:none!important;opacity:1!important}.hero-heading-copy{animation:none!important}}.lang-toggle{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;font-size:.75rem;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:border-color .2s ease,background .2s ease;color:#8080a0;white-space:nowrap}.lang-toggle:hover{border-color:#6c63ff66;background:#6c63ff12}.lang-toggle .lang-active{color:#f0f0f5;font-weight:800}.lang-toggle .lang-sep{color:#fff3;margin:0 1px}.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-none::-webkit-scrollbar{display:none}.contact-link-touch{min-height:52px;padding-top:.85rem;padding-bottom:.85rem;font-size:.9rem}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(80px);z-index:100;display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:#141420f2;border:1px solid rgba(108,99,255,.35);color:#f0f0f5;font-size:.875rem;font-weight:600;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #00000080,0 0 0 1px #6c63ff26;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .35s ease;opacity:0;pointer-events:none;white-space:nowrap}.toast.toast-visible{transform:translate(-50%) translateY(0);opacity:1}.toast-icon{width:22px;height:22px;border-radius:50%;background:#6c63ff33;color:#9089ff;display:grid;place-items:center;flex-shrink:0}@media (prefers-reduced-motion: reduce){.toast{transition:none}}:where(a,button,input,[role=button]):focus-visible{outline:3px solid rgba(49,144,239,.48);outline-offset:3px}#home{background-color:#f3f8fe;background-image:url(/Background/Hero%20:%20Accueil/ChatGPT%20Image%20Sep%2010,%202026,%2007_11_52%20PM.png);background-position:center center;background-repeat:no-repeat;background-size:cover}.about-section{background-color:#fbfcfe;background-image:linear-gradient(to bottom,#fbfcfe00 52%,#fbfcfe 94%),url("/Background/À propos de moi/ChatGPT Image Sep 10, 2026, 07_15_30 PM.png");background-position:center top,center top;background-repeat:no-repeat,no-repeat;background-size:100% 54rem,auto 54rem}.contact-section{min-height:calc(100vh - var(--site-header-height, 64px));background:#fbfcfe}.section-title,.proj-title,.exp-role,.cert-title,.intro-title{color:#172033}.eyebrow,.text-accent,.about-block-title,.tech-group-title,.exp-date{color:#3190ef}.section-divider{background:#3190ef}.glass-card,.surface-card,.portfolio-card,.about-block,.skeleton-card{border:1px solid #E4EAF1;background:#fff;box-shadow:0 12px 34px #17203312}.surface-card{border-radius:14px}.glass-card:hover,.surface-card:hover{border-color:#3190ef47;box-shadow:0 16px 38px #17203314}.portfolio-card:hover{transform:translateY(-4px)!important;border-color:#3190ef80!important;background:#fff!important;box-shadow:0 18px 42px #1720331a!important}.btn-primary{background:#3190ef;color:#fff;box-shadow:0 8px 20px #3190ef2e}.btn-primary:hover{background:#1878d1;box-shadow:0 10px 24px #3190ef3d}.btn-secondary,.btn-cv{border-color:#d5dee9;background:#fff;color:#526176}.btn-secondary:hover,.btn-cv:hover{border-color:#3190ef;background:#f2f8fe;color:#1878d1;box-shadow:none}.compact-button{min-height:42px;padding:0 1rem;font-size:.78rem}.nav-link{color:#526176}.nav-link:hover,.nav-link-active{color:#3190ef!important}.nav-link:after{height:2px;background:#3190ef}.lang-toggle{min-height:40px;border-color:#d5dee9;background:#fff;color:#7d899a}.lang-toggle:hover{border-color:#3190ef8c;background:#f2f8fe}.lang-toggle .lang-active{color:#1878d1}.lang-toggle .lang-sep{color:#b1bcc9}.meta-chip{border-color:#dce4ed;background:#f8fafd;color:#526176}.meta-chip:hover{border-color:#3190ef73;color:#1878d1}.status-badge.gold{border-color:#3190ef47;background:#edf6ff;color:#1878d1}.linkedin-hero-badge{border-color:#3190ef52;background:#f2f8fe;color:#1878d1}.linkedin-hero-badge:hover{border-color:#3190ef94;background:#e8f4fe}.linkedin-hero-badge strong{color:#1878d1}.hero-pillars{display:grid;grid-template-columns:minmax(0,1fr);margin-top:1.5rem;border-block:1px solid rgba(49,144,239,.18)}.hero-pillar{display:grid;min-width:0;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:.75rem;padding:.76rem 0}.hero-pillar+.hero-pillar{border-top:1px solid rgba(49,144,239,.13)}.hero-pillar-icon{display:grid;width:44px;height:44px;place-items:center;overflow:hidden;border:1px solid rgba(49,144,239,.2);border-radius:12px;background:#ffffffc7}.hero-pillar-icon img{display:block;width:36px;height:36px;-o-object-fit:contain;object-fit:contain}.hero-pillar-copy{display:flex;min-width:0;flex-direction:column;gap:.2rem}.hero-pillar-copy strong{color:#26364b;font-size:.83rem;font-weight:700;line-height:1.3}.hero-pillar-copy>span{color:#66758a;font-size:.73rem;line-height:1.42}@media (min-width: 560px){.hero-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-pillar{grid-template-columns:46px minmax(0,1fr);gap:.8rem;padding-block:.86rem}.hero-pillar-icon{width:46px;height:46px}.hero-pillar-icon img{width:38px;height:38px}.hero-pillar:nth-child(odd){padding-right:1rem;border-right:1px solid rgba(49,144,239,.13)}.hero-pillar:nth-child(2n){padding-left:1rem}.hero-pillar:nth-child(2){border-top:0}}.hero-badge-environment{position:relative;min-width:0;isolation:isolate}.hero-badge-environment:before{content:"";position:absolute;z-index:-1;width:min(118%,500px);height:88%;border-radius:42%;background:radial-gradient(circle,rgba(49,144,239,.15),rgba(234,243,252,.34) 48%,transparent 74%);filter:blur(28px);pointer-events:none}.hero-badge-stage-surface{border-color:#d8e7f5;background:linear-gradient(rgba(49,144,239,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(49,144,239,.055) 1px,transparent 1px),radial-gradient(circle at 50% 38%,rgba(49,144,239,.14),transparent 43%),linear-gradient(145deg,#f3f8fe,#eef5fd 48%,#eaf3fc);background-size:34px 34px,34px 34px,auto,auto;box-shadow:inset 0 1px #ffffffe6,0 26px 70px #3190ef24}.physics-badge-topline{display:flex;align-items:center;justify-content:center;min-width:0;padding-inline:9px;line-height:1.2;letter-spacing:.11em}.about-copy p{color:#526176;font-size:1rem;line-height:1.9}.institution-link{color:#1878d1;font-weight:600;text-decoration-line:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:color .18s ease,text-decoration-color .18s ease}.institution-link:hover{color:#0f67b7;text-decoration-color:currentColor}.subsection-title{color:#172033;font-size:clamp(1.35rem,2vw,1.7rem);font-weight:700;line-height:1.25}.academic-timeline{position:relative;padding-left:30px}.academic-timeline:before{content:"";position:absolute;left:7px;top:7px;bottom:12px;width:2px;background:#dce8f4}.academic-item{position:relative;padding:0 0 2rem}.academic-item:last-child{padding-bottom:0}.academic-marker{position:absolute;left:-29px;top:4px;width:14px;height:14px;border:3px solid #FFFFFF;border-radius:50%;background:#8abfeb;box-shadow:0 0 0 2px #bfd9ef}.academic-item-current .academic-marker{background:#3190ef;box-shadow:0 0 0 3px #3190ef2b}.academic-item h4{max-width:44rem;color:#172033;font-size:1rem;font-weight:700;line-height:1.55}.academic-item p{margin-top:.32rem;color:#526176;font-size:.88rem;line-height:1.6}.academic-period{color:#7d899a;font-size:.78rem;font-weight:700;white-space:nowrap}.academic-item .academic-honor{margin-top:.65rem;color:#1878d1;font-weight:700}.leadership-card{border-top:3px solid #3190EF}.proj-card{padding:1.4rem}.proj-type{white-space:normal;text-align:left}.proj-org{color:#66758a}.proj-desc,.exp-desc-list,.cert-issuer{color:#526176}.proj-details{min-height:42px;margin-top:1.25rem;color:#1878d1}.proj-details:hover{color:#0f67b7}.proj-tag-more{border-color:#3190ef4d;color:#1878d1}.exp-line{background:#dce4ed}.exp-tag{color:color-mix(in srgb,var(--cat-color) 76%,#172033)}.cert-icon,.about-block-icon{background:#edf6ff;color:#1878d1}.cert-date{color:#7d899a}.tech-search{border-color:#dce4ed;background:#fff}.tech-search:focus-within{border-color:#3190ef;box-shadow:0 0 0 3px #3190ef1f}.tech-search svg,.tech-search button,.tech-empty{color:#7d899a}.tech-search input{color:#172033}.tech-search input::-moz-placeholder{color:#7d899a}.tech-search input::placeholder{color:#7d899a}.tech-search button:hover{color:#1878d1}.skills-groups{display:grid;gap:1rem}.skill-group{min-width:0;padding:1.25rem;border:1px solid #E4EAF1;border-radius:18px;background:#fff;box-shadow:0 10px 28px #1720330e}.skill-group-heading{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.skill-group-icon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border:1px solid #D7E8F8;border-radius:11px;background:#edf6ff;color:#1878d1}.skill-group .tech-group-title{position:static;margin:0;padding:0;color:#172033;background:transparent;font-size:.82rem;line-height:1.4}.skill-logo-grid,.skill-chip-grid{margin:0;padding:0;list-style:none}.skill-logo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.skill-tool-card{display:flex;min-width:0;min-height:104px;align-items:center;gap:.8rem;padding:.85rem;border:1px solid #E2E9F1;border-radius:14px;background:#fbfcfe;box-shadow:0 5px 14px #17203309;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.skill-tool-card:hover{transform:translateY(-3px);border-color:#3190ef7a;background:#f2f8fe;box-shadow:0 12px 25px #3190ef1c}.skill-logo-frame{display:grid;flex:0 0 54px;width:54px;height:54px;place-items:center;overflow:hidden;border:1px solid #E3EAF2;border-radius:13px;background:#fff;color:#3190ef}.skill-logo{display:block;width:40px;height:40px;-o-object-fit:contain;object-fit:contain;transition:transform .2s ease}.skill-tool-card:hover .skill-logo{transform:scale(1.045)}.skill-tool-copy{display:flex;min-width:0;flex-direction:column;gap:.28rem}.skill-tool-copy strong{color:#172033;font-size:.9rem;line-height:1.35}.skill-tool-copy small{color:#66758a;font-size:.7rem;font-weight:650;line-height:1.35}.skill-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.skill-chip-card{display:flex;min-width:0;min-height:46px;align-items:center;gap:.65rem;padding:.72rem .85rem;border:1px solid #E4EAF1;border-radius:12px;background:#fbfcfe;color:#445268;font-size:.83rem;font-weight:650;line-height:1.35;transition:border-color .18s ease,background .18s ease,color .18s ease}.skill-chip-card:hover{border-color:#3190ef6b;background:#f2f8fe;color:#1878d1}.skill-chip-dot{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#3190ef;box-shadow:0 0 0 4px #3190ef1a}@media (min-width: 640px){.skill-logo-grid,.skill-chip-grid-technical{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 768px){.skills-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-group-software,.skill-group-analysis,.skill-group-technical{grid-column:1 / -1}}@media (min-width: 1024px){.skill-logo-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.skill-chip-grid-technical{grid-template-columns:repeat(4,minmax(0,1fr))}}.tech-group-title{top:72px;background:#f7f9fcf0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.skeleton-line{background:linear-gradient(90deg,#eef2f7 25%,#e0e7ef 37%,#eef2f7 63%);background-size:400% 100%}.intro-grid{background:linear-gradient(rgba(49,144,239,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(49,144,239,.055) 1px,transparent 1px),radial-gradient(circle at 50% 40%,rgba(49,144,239,.09),transparent 34%),#f7f9fc;background-size:52px 52px,52px 52px,auto,auto}.intro-orbit-left,.intro-orbit-right{background:radial-gradient(circle,rgba(49,144,239,.16),transparent 70%)}.intro-panel{border-color:#e4eaf1;background:#ffffffeb;box-shadow:0 28px 80px #1720331a}.intro-mark span,.intro-progress span{background:#3190ef;box-shadow:0 0 16px #3190ef40}.intro-eyebrow{color:#3190ef}.intro-subtitle{color:#526176}.intro-progress{background:#e5eff8}.gallery-section{background:transparent}.slide-media,.slide-info{border-color:#e4eaf1;background:#fff}.slide-info{box-shadow:0 8px 24px #1720330f}.slide-info h3{color:#172033}.slide-info .meta,.slide-info .desc,.slider-controls .counter{color:#526176}.dot{background:#ccd6e2}.dot.active{background:#3190ef}.btn-view-all{border-color:#d5dee9;background:#fff;color:#526176}.btn-view-all:hover{border-color:#3190ef;background:#f2f8fe;color:#1878d1}.cyl-section{background:#f7f9fc}.cyl-bg-text span,.cyl-textpanel span{color:#3190ef14}.cyl-inner,.cyl-cap,.cyl-textpanel{border-color:#e4eaf1;background:#fff}.cyl-inner{box-shadow:0 22px 50px #17203329}.cyl-item:hover .cyl-inner{box-shadow:0 24px 54px #1720332e,0 0 0 2px #3190ef57}.cyl-cap .caption-text{color:#172033}.cyl-hint span{color:#7d899a}.cyl-hintline{background:linear-gradient(to bottom,rgba(49,144,239,.65),transparent)}.footer-icon{border-color:#d5dee9;background:#fff;color:#526176}.footer-icon:hover,.footer-icon.linkedin-icon:hover{border-color:#3190ef;color:#1878d1}.toast{border-color:#3190ef57;background:#fff;color:#172033;box-shadow:0 10px 30px #17203324}.toast-icon{background:#edf6ff;color:#1878d1}@media (max-width: 640px){#home{background-position:54% center}.about-section{background-position:center top,center top;background-size:100% 68rem,auto 68rem}.physics-badge-topline{padding-inline:5px;font-size:.46rem;letter-spacing:.075em}.about-copy p{font-size:.95rem;line-height:1.8}.academic-timeline{padding-left:26px}.academic-marker{left:-25px}.academic-item h4{width:100%}.proj-card{padding:1.2rem}}@media (max-width: 520px){.skill-logo-grid,.skill-chip-grid,.skill-chip-grid-technical{grid-template-columns:minmax(0,1fr)}.skill-group{padding:1rem}}.hover\:border-accent:hover{--tw-border-opacity: 1;border-color:rgb(49 144 239 / var(--tw-border-opacity, 1))}.hover\:text-accent:hover{--tw-text-opacity: 1;color:rgb(49 144 239 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:-mx-8{margin-left:-2rem;margin-right:-2rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:p-8{padding:2rem}.sm\:p-9{padding:2.25rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width: 768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.08fr_0\.92fr\]{grid-template-columns:1.08fr .92fr}.lg\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.lg\:grid-cols-\[1\.35fr_0\.65fr\]{grid-template-columns:1.35fr .65fr}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:gap-12{gap:3rem}.lg\:text-\[48px\]{font-size:48px}}@media (min-width: 1280px){.xl\:gap-16{gap:4rem}.xl\:text-\[54px\]{font-size:54px}}
