*,:after,:before{--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:#3b82f680;--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:#3b82f680;--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: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height: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:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.bottom-12{bottom:3rem}.bottom-5{bottom:1.25rem}.left-0{left:0}.left-1\/2{left:50%}.right-5{right:1.25rem}.top-0{top:0}.z-\[60\]{z-index:60}.mx-auto{margin-left:auto;margin-right:auto}.-mt-\[80px\]{margin-top:-80px}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-1{margin-right:.25rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-9{margin-top:2.25rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-16{height:4rem}.h-32{height:8rem}.h-8{height:2rem}.h-auto{height:auto}.h-full{height:100%}.max-h-\[77vh\]{max-height:77vh}.min-h-screen{min-height:100vh}.w-20{width:5rem}.w-32{width:8rem}.w-8{width:2rem}.w-\[280px\]{width:280px}.w-full{width:100%}.w-max{width:-webkit-max-content;width:max-content}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scroll-mt-\[75px\]{scroll-margin-top:75px}.scroll-mt-\[80px\]{scroll-margin-top:80px}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[6\.25rem_1fr\]{grid-template-columns:6.25rem 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.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-x-2{column-gap:.5rem}.gap-y-1{row-gap:.25rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2.5rem*var(--tw-space-y-reverse));margin-top:calc(2.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.break-words{overflow-wrap:break-word}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:#000;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:#374151;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-gray-200\/60{--tw-gradient-from:#e5e7eb99 var(--tw-gradient-from-position);--tw-gradient-to:#e5e7eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-gray-300\/40{--tw-gradient-to:#d1d5db66 var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-bottom:0;padding-top:0}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-2{padding-bottom:.5rem}.pl-6{padding-left:1.5rem}.pr-3{padding-right:.75rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-justify{text-align:justify}.font-alexBrush{font-family:Alex Brush,cursive}.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-5xl{font-size:3rem;line-height:1}.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-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-blue-400{--tw-text-opacity:1;color:#60a5fa;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:#3b82f6;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-white\/80{--tw-ring-color:#fffc}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)}.drop-shadow-md,.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-sm{--tw-backdrop-blur:blur(4px);-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-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}:root{--ink:#142235;--muted:#46596c;--line:#d7e2ee;--surface:#edf0f1;--surface-soft:#e5eaec;--accent:#087eaa;--accent-dark:#075b82;--hero-bg:#e2e8eb;--hero-ink:#142235;--hero-muted:#46596c;--hero-accent:#087eaa;--hero-heading:#304b64;--hero-grid:rgba(32,106,139,.075);--hero-glow:rgba(61,145,165,.055);--hero-grid:rgba(32,106,139,.045);--hero-title:linear-gradient(100deg,#354858 8%,#376b7c 58%,#566580);--hero-action-text:#263d53;--hero-action-bg:#ffffffb3;--hero-action-border:#2f5c7e38;--footer-bg:#e1e7ea;--footer-heading:#1d3347;--footer-text:#455c70;--footer-muted:#5d7182;--footer-border:#445f7433;--footer-card:#ffffff57;--footer-card-hover:#fff9;--footer-link:#176f8d;color-scheme:light}html{scroll-behavior:auto;scroll-padding-top:5rem}body{-webkit-font-smoothing:antialiased;background:#edf0f1;background:var(--surface);box-sizing:border-box;color:#142235;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.65;margin:0;padding:0}*,:after,:before{box-sizing:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:#087eaa;color:var(--accent)}a:hover{color:#075b82;color:var(--accent-dark)}:focus-visible{outline:3px solid #78b7e8;outline-offset:3px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background-color:#aab8c8;border-radius:999px}.title-color{color:#142235;color:var(--ink);font-weight:700}.bg-theme-a,.bg-theme-b{background:#e5eaec;background:var(--surface-soft);overflow:hidden;position:relative}.bg-theme-a:before,.bg-theme-b:before{background:radial-gradient(ellipse at 10% 0,#1769aa12,#0000 42%),radial-gradient(ellipse at 95% 75%,rgba(40,120,140,.045),#0000 36%);content:"";inset:0;pointer-events:none;position:absolute}.bg-theme-a>*,.bg-theme-b>*{position:relative;z-index:1}.bg-about,.bg-articles,.bg-faq,.bg-home,.bg-projects,.bg-projects2,.bg-qualifications,.bg-resume,.bg-skills,.bg-timeline{background-color:#e5eaec;background-color:var(--surface-soft)}.bg-navbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#101d2ef5;color:#f8fafc}.bg-footer{background:#e1e7ea;background:var(--footer-bg);color:#455c70;color:var(--footer-text)}.nav-link{color:inherit;transition:color .2s ease}.active-nav,.bg-navbar .nav-link:hover{color:#9bcdf5}.tile-color{background:#ffffffe0;border:1px solid #cdd8e5e6;border-radius:1rem;box-shadow:0 8px 24px rgba(23,32,51,.045);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.tile-color:hover{border-color:#b7c9db;box-shadow:0 14px 34px #17203317}.site-container{margin-left:auto;margin-right:auto;max-width:76rem;padding-left:1.25rem;padding-right:1.25rem;width:100%}section[id]{scroll-margin-top:5rem}.site-container>h2,section[id]>.site-container>h2{font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:-.035em;margin-bottom:2.5rem}.site-container>h2 u,section[id]>.site-container>h2 u{text-decoration:none;-webkit-text-decoration-color:#0000;text-decoration-color:#0000}.bg-about #about p{color:#46596c;color:var(--muted);display:block;margin:0 auto;max-width:70rem;padding:.6rem 0;text-align:left}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.animate-marquee{animation:marquee 90s linear infinite}.theme-toggle{background:#edf0f1;background:var(--surface);border-color:#d7e2ee;border-color:var(--line);color:#142235;color:var(--ink)}.theme-toggle:hover{background:#e5eaec;background:var(--surface-soft);color:#075b82;color:var(--accent-dark)}[data-theme=dark]{--ink:#e7f0fb;--muted:#a8bad0;--line:#263b52;--surface:#091422;--surface-soft:#0d1b2b;--accent:#62d6e8;--accent-dark:#a1eff5;--hero-bg:#06101d;--hero-ink:#f5faff;--hero-muted:#c2d2e3;--hero-accent:#62d6e8;--hero-heading:#d5e5f4;--hero-grid:rgba(90,180,220,.055);--hero-glow:#0e749040;--hero-title:linear-gradient(100deg,#fff 8%,#a8e8f2 55%,#a4bfff);--hero-action-text:#d9e7f5;--hero-action-bg:rgba(196,220,242,.055);--hero-action-border:#abcfe538;--footer-bg:#0b121d;--footer-heading:#f2f7fb;--footer-text:#b8cad9;--footer-muted:#879caf;--footer-border:#cbd5e121;--footer-card:hsla(0,0%,100%,.035);--footer-card-hover:#ffffff12;--footer-link:#8ed8e5;color-scheme:dark}[data-theme=dark] .bg-theme-a,[data-theme=dark] .bg-theme-b{background:#e5eaec;background:var(--surface-soft)}[data-theme=dark] .bg-about,[data-theme=dark] .bg-articles,[data-theme=dark] .bg-faq,[data-theme=dark] .bg-home,[data-theme=dark] .bg-projects,[data-theme=dark] .bg-projects2,[data-theme=dark] .bg-qualifications,[data-theme=dark] .bg-resume,[data-theme=dark] .bg-skills,[data-theme=dark] .bg-timeline{background-color:#e5eaec;background-color:var(--surface-soft)}[data-theme=dark] .text-gray-400,[data-theme=dark] .text-gray-500,[data-theme=dark] .text-gray-600,[data-theme=dark] .text-gray-700,[data-theme=dark] .text-gray-800,[data-theme=dark] .text-gray-900{color:#d1dbea}[data-theme=dark] .text-blue-400,[data-theme=dark] .text-blue-500,[data-theme=dark] .text-blue-600,[data-theme=dark] .text-blue-700,[data-theme=dark] .text-blue-800{color:#8bc8f3}[data-theme=dark] .bg-gray-100,[data-theme=dark] .bg-gray-200,[data-theme=dark] .bg-gray-300,[data-theme=dark] .bg-gray-50,[data-theme=dark] .bg-white{background-color:#1e2b3d}[data-theme=dark] .bg-blue-100,[data-theme=dark] .bg-blue-200,[data-theme=dark] .bg-blue-300,[data-theme=dark] .bg-blue-50{background-color:#253a52}[data-theme=dark] .border-blue-200,[data-theme=dark] .border-gray-100,[data-theme=dark] .border-gray-200,[data-theme=dark] .border-gray-300{border-color:#34465c}[data-theme=dark] .tile-color{background:#1e2b3df0;border-color:#34465c;box-shadow:0 8px 24px #0000002e}[data-theme=dark] .tile-color:hover{border-color:#4d6682;box-shadow:0 14px 34px #00000047}[data-theme=dark] .bg-navbar{background:#0b121df7}[data-theme=dark] .bg-footer{background:#e1e7ea;background:var(--footer-bg)}body{transition:color .25s ease,background-color .25s ease}h1,h2,h3,h4{text-wrap:balance}li,p{text-wrap:pretty}#home{background:#e2e8eb;background:var(--hero-bg);color:#142235;color:var(--hero-ink);isolation:isolate;overflow:hidden;position:relative}#home:before{background-image:radial-gradient(ellipse at 50% 10%,rgba(61,145,165,.055),#0000 48%),linear-gradient(rgba(32,106,139,.045) 1px,#0000 0),linear-gradient(90deg,rgba(32,106,139,.045) 1px,#0000 0);background-image:radial-gradient(ellipse at 50% 10%,var(--hero-glow),#0000 48%),linear-gradient(var(--hero-grid) 1px,#0000 1px),linear-gradient(90deg,var(--hero-grid) 1px,#0000 1px);background-size:auto,48px 48px,48px 48px;content:"";inset:0;-webkit-mask-image:linear-gradient(180deg,#000 0,#000000a6 68%,#0000);mask-image:linear-gradient(180deg,#000 0,#000000a6 68%,#0000);pointer-events:none;position:absolute;z-index:-1}#home h1{-webkit-text-fill-color:#0000;background:linear-gradient(100deg,#354858 8%,#376b7c 58%,#566580);background:var(--hero-title);-webkit-background-clip:text;background-clip:text;color:#142235;color:var(--hero-ink)}#home h2{color:#304b64;color:var(--hero-heading)}#home p{color:#46596c;color:var(--hero-muted)}#home>.site-container>div:first-child>div:first-child>p{color:#087eaa;color:var(--hero-accent)}#home .border-t{border-color:#cbd5e140}#about .site-container{max-width:66rem}#about p{color:#46596c;color:var(--muted);line-height:1.85}#resume .list-disc{padding-left:1.35rem}#resume .list-disc li{line-height:1.75;padding:.25rem 0}#projects .tile-color,#skills .tile-color{min-height:100%}#articles .site-container{max-width:62rem}#articles button{color:#142235;color:var(--ink);transition:background-color .2s ease}#articles button:hover{background:#e5eaec;background:var(--surface-soft)}#articles button:focus-visible{position:relative;z-index:1}.bg-projects2{min-height:100vh;padding-bottom:3rem;padding-top:1.5rem;position:absolute}.bg-projects2>div:first-child{margin-bottom:1rem}.bg-projects2>div:nth-child(2){border:1px solid #d7e2ee;border:1px solid var(--line);border-radius:1.25rem;box-shadow:0 24px 70px #1720331f;line-height:1.8;padding:clamp(1.25rem,3vw,2.5rem)}.bg-projects2 h1{letter-spacing:-.04em;line-height:1.15}.bg-projects2 h2{letter-spacing:-.02em;margin-top:1.5rem}.bg-projects2 li{line-height:1.8;padding-left:.2rem}.bg-faq{padding:2rem 0 4rem}.bg-faq>div{margin:0 auto;max-width:58rem}.bg-faq>div>div:last-child{grid-gap:.75rem;display:grid;gap:.75rem}.bg-faq>div>div:last-child>div{border-radius:.9rem;padding:1.1rem 1.25rem}.bg-faq h3{margin-bottom:.4rem}.bg-faq p{line-height:1.75}.bg-navbar{box-shadow:0 8px 30px #09142624}.bg-navbar .site-container{min-height:2.75rem}.bg-navbar a,.bg-navbar button{text-decoration:none}.bg-navbar .nav-link{font-weight:500;padding:.55rem 0}.bg-navbar .nav-link.active-nav{box-shadow:inset 0 -2px #8bc8f3}.bg-navbar .site-container>div:last-child>a{white-space:nowrap}.bg-footer{border-top:1px solid #445f7433;border-top:1px solid var(--footer-border)}.bg-footer img{object-fit:contain}.bg-footer>.site-container>p:first-child{color:#455c70;color:var(--footer-text)}.footer-container{max-width:74rem}.footer-heading{margin-bottom:1.5rem}.footer-heading h2{color:#1d3347;color:var(--footer-heading);font-size:1.1rem;font-weight:650;letter-spacing:-.02em;margin:0}.footer-heading p{color:#5d7182;color:var(--footer-muted);font-size:.82rem;margin:.25rem 0 0}.footer-links{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.footer-link-item{align-items:flex-start;background:#ffffff57;background:var(--footer-card);border:1px solid #445f7433;border:1px solid var(--footer-border);border-radius:.65rem;color:#455c70;color:var(--footer-text);display:flex;flex-direction:column;font-size:.75rem;gap:.7rem;justify-content:center;min-height:6rem;min-width:0;padding:.9rem;transition:background .2s ease,border-color .2s ease,transform .2s ease}.footer-link-item:hover{background:#fff9;background:var(--footer-card-hover);border-color:#62d6e861;transform:translateY(-2px)}.footer-link-item>a{align-items:center;color:#176f8d;color:var(--footer-link);display:inline-flex;min-height:1.8rem;text-decoration:none}.footer-icon{font-size:1.45rem;height:1.55rem;width:1.55rem}.footer-image-icon{max-height:1.65rem;max-width:6rem;object-fit:contain}.footer-icon-wrap{align-items:center;display:flex;height:1.8rem;justify-content:flex-start;width:1.8rem}.footer-meta{border-top:1px solid #445f7433;border-top:1px solid var(--footer-border);color:#5d7182;color:var(--footer-muted);display:flex;font-size:.7rem;gap:1rem;justify-content:space-between;margin-top:1.5rem;padding:1rem 0 3.75rem}.footer-meta p{margin:0}.tech-stack-section{background:#edf0f1;background:var(--surface);border-bottom:1px solid #d7e2ee;border-bottom:1px solid var(--line);border-top:1px solid #d7e2ee;border-top:1px solid var(--line);overflow:hidden;padding:1.4rem clamp(1.5rem,4vw,4rem)}.tech-stack-heading{align-items:baseline;display:flex;gap:.75rem;margin:0 auto 1rem;max-width:82rem}.tech-stack-heading span:first-child{color:#142235;color:var(--ink);font-size:.8rem;font-weight:650}.tech-stack-heading span:last-child{color:#46596c;color:var(--muted);font-size:.72rem}.tech-stack-window{margin:0 auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 3%,#000 97%,#0000);mask-image:linear-gradient(90deg,#0000,#000 3%,#000 97%,#0000);max-width:82rem;overflow:hidden}.tech-stack-track{display:flex;width:-webkit-max-content;width:max-content}.tech-stack-group{align-items:center;display:flex;flex:0 0 auto;gap:.85rem;padding-right:.85rem}.tech-logo{background:#e5eaec;background:var(--surface-soft);border:1px solid #d7e2ee;border:1px solid var(--line);border-radius:.55rem;display:grid;flex:0 0 auto;height:3.5rem;padding:.65rem;place-items:center;width:5.4rem}.tech-logo img{display:block;filter:saturate(.85);max-height:2rem;max-width:100%;object-fit:contain}[data-theme=dark] .tech-logo img{filter:saturate(.9) brightness(.95)}@media (max-width:640px){.footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-meta{flex-direction:column;gap:.35rem}.tech-stack-section{padding:1.25rem 1.1rem}.tech-stack-window{-webkit-mask-image:none;mask-image:none;overflow:visible}.tech-stack-track{animation:none;width:100%}.tech-stack-group{flex-wrap:wrap;gap:.55rem;justify-content:flex-start;padding:0;width:100%}.tech-stack-group[aria-hidden=true]{display:none}.tech-logo{height:3.2rem;width:calc(25% - .4125rem)}.tech-logo img{max-height:1.8rem}}[data-theme=dark] .bg-projects2>div:nth-child(2){box-shadow:0 24px 70px #0000004d}@media (max-width:1279px){.bg-navbar .site-container>div:nth-child(3){display:none}}@media (max-width:640px){.bg-projects2{padding-left:1rem;padding-right:1rem}.bg-faq h2,.site-container>h2{position:relative}.bg-faq h2:after,.site-container>h2:after{background:linear-gradient(90deg,#087eaa,#62d6e8);background:linear-gradient(90deg,var(--accent),#62d6e8);border-radius:999px;content:"";display:block;height:3px;margin:.85rem auto 0;width:3rem}.tile-color{background:#edf0f1;background:var(--surface);border-color:#d7e2ee;border-color:var(--line);box-shadow:0 12px 34px rgba(20,43,69,.055)}.tile-color:hover{border-color:color-mix(in srgb,#087eaa 45%,#d7e2ee);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 18px 44px #142b451c;transform:translateY(-2px)}[data-theme=dark] .tile-color{background:#112236;border-color:#263d54;box-shadow:0 12px 34px #0000002e}[data-theme=dark] .tile-color:hover{border-color:#28788a;box-shadow:0 18px 44px #00000047}#home .inline-flex.rounded-full{border-radius:.8rem}#home .inline-flex.rounded-full:first-child{background:#0b9ab8;box-shadow:0 0 28px #22d3ee2e}#home .inline-flex.rounded-full:first-child:hover{background:#087e9c}#home figure{background:#e7edeff5;border-color:#7697ae38;box-shadow:0 16px 44px #0003}#projects article,#resume-prof-projects article,#skills .tile-color{border-top:2px solid color-mix(in srgb,#087eaa 56%,#0000);border-top:2px solid color-mix(in srgb,var(--accent) 56%,#0000)}.bg-navbar{background:#071220eb;border-bottom-color:#69c8dc2e}.bg-navbar .site-container>a img{filter:drop-shadow(0 0 8px rgba(98,214,232,.18))}.bg-navbar .site-container>div:last-child>a{background:linear-gradient(110deg,#087eaa,#0b9ab8);border-color:#62d6e880}.theme-toggle{border-radius:.85rem;box-shadow:0 10px 32px #0c243a29}[data-theme=dark] .theme-toggle{background:#13263a}.bg-projects2>div:nth-child(2){background:#edf0f1;background:var(--surface)}[data-theme=dark] .bg-projects2>div:nth-child(2){background:#112236}.bg-projects2>div:nth-child(2){padding:1.5rem}.bg-faq>div{padding-left:1rem;padding-right:1rem}.theme-toggle{bottom:1rem;padding:.7rem .9rem;right:1rem}}@media (min-width:1280px){.site-container{max-width:80rem}}@media (min-width:1536px){.site-container{max-width:90rem}}@media (prefers-reduced-motion:reduce){*,:after,:before,html{scroll-behavior:auto!important}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.portfolio-rail{background:#091523;border-right:1px solid #7aa4c329;color:#dce8f4;display:flex;flex-direction:column;inset:0 auto 0 0;padding:2rem 1.4rem 1.6rem;position:fixed;width:16.5rem;z-index:50}.mobile-brand,.rail-brand{align-items:center;color:#f3f8ff;display:flex;gap:.8rem;text-decoration:none}.mobile-brand img,.rail-brand img{height:2.6rem;object-fit:contain;width:2.6rem}.mobile-brand span,.rail-brand span{grid-gap:.08rem;display:grid;gap:.08rem}.rail-brand strong{font-size:.95rem;font-weight:650;letter-spacing:.01em}.mobile-brand small,.rail-brand small{color:#8095aa;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.rail-caption{color:#7890a8;font-size:.66rem;font-weight:700;letter-spacing:.19em;margin:4.5rem 0 .9rem .3rem}.rail-links{grid-gap:.25rem;display:grid;gap:.25rem}.portfolio-nav-link{align-items:center;border-left:2px solid #0000;color:#aebed0;cursor:pointer;display:flex;font-size:.86rem;gap:.9rem;padding:.74rem .7rem;text-decoration:none;transition:color .18s ease,background .18s ease,border-color .18s ease}.portfolio-nav-link.active-nav,.portfolio-nav-link:hover{background:#499bb71c;border-left-color:#52cde0;color:#f3faff}.nav-index{color:#6f879d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.69rem}.portfolio-nav-link.active-nav .nav-index{color:#60d7e8}.rail-bottom{grid-gap:.8rem;border-top:1px solid #7aa4c329;display:grid;gap:.8rem;margin-top:auto;padding:1rem .35rem 0}.rail-status{align-items:center;color:#c6d3e0;display:flex;font-size:.73rem;gap:.55rem}.rail-status i{background:#5bd7b0;border-radius:50%;box-shadow:0 0 12px #5bd7b099;height:.45rem;width:.45rem}.rail-signature{color:#71879d;font-size:.68rem}.mobile-nav-backdrop,.mobile-portfolio-header{display:none}.portfolio-main{margin-left:15rem;min-height:100vh;width:calc(100% - 15rem)}.portfolio-main>#footer{overflow:hidden;position:relative;width:100%}.portfolio-main>#footer>.site-container{padding-left:clamp(1.25rem,4vw,4rem);padding-right:clamp(1.25rem,4vw,4rem);width:100%}.detail-page-shell{min-height:100vh;padding:1.25rem 1rem 2rem}.detail-page-shell .bg-projects2{inset:auto;margin-top:0;padding-bottom:1.5rem;padding-top:0;position:relative}.detail-page-shell .bg-faq{margin-top:0}.portfolio-main>#home,.portfolio-main>section[id]{min-height:0;min-height:auto}.portfolio-main>#home{min-height:100vh}.portfolio-main>section[id]:not(#home){padding:clamp(3rem,5vw,4.25rem) clamp(1.5rem,4vw,4rem)}.portfolio-main .site-container{max-width:82rem;padding:0}.portfolio-main .site-container.text-center{text-align:left}.portfolio-main .site-container>h2{margin-bottom:2.4rem;text-align:left}.portfolio-main .site-container>h2:after{margin-left:0}.portfolio-main #about .site-container>div:last-child{grid-column-gap:clamp(2rem,5vw,5rem);grid-row-gap:.75rem;column-gap:clamp(2rem,5vw,5rem);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:.75rem}.portfolio-main #about .site-container>div:last-child p{margin:0;padding:.75rem 0}.portfolio-hero{background:#e2e8eb;background:var(--hero-bg);display:flex;flex-direction:column;justify-content:space-between;min-height:min(47rem,100vh);padding:clamp(2rem,4.5vw,4rem) clamp(1.5rem,4vw,4rem) 1rem}.portfolio-hero:before{background-image:radial-gradient(ellipse at 78% 28%,rgba(61,145,165,.055),#0000 34%),linear-gradient(rgba(32,106,139,.045) 1px,#0000 0),linear-gradient(90deg,rgba(32,106,139,.045) 1px,#0000 0);background-image:radial-gradient(ellipse at 78% 28%,var(--hero-glow),#0000 34%),linear-gradient(var(--hero-grid) 1px,#0000 1px),linear-gradient(90deg,var(--hero-grid) 1px,#0000 1px);background-size:auto,42px 42px,42px 42px}.hero-layout{grid-gap:clamp(2rem,7vw,7rem);align-items:center;display:grid;flex:1 1;gap:clamp(2rem,7vw,7rem);grid-template-columns:minmax(0,1.3fr) minmax(16rem,.7fr);margin:0 auto;max-width:82rem;width:100%}.hero-copy{max-width:53rem;padding:1rem 0}.hero-kicker{align-items:center;color:#087eaa!important;color:var(--hero-accent)!important;display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;font-weight:600;gap:.7rem;letter-spacing:.1em;text-transform:uppercase}.hero-kicker span{background:#087eaa;background:var(--hero-accent);height:1px;width:1.7rem}.hero-copy h1{font-size:clamp(3.7rem,8vw,7.5rem);letter-spacing:-.075em;line-height:.98;margin:1.4rem 0 1rem;max-width:12ch}.hero-copy h2{font-size:clamp(1.12rem,2vw,1.55rem);font-weight:500;line-height:1.45;margin-top:1.8rem;max-width:36rem}.hero-intro{font-size:1.04rem;line-height:1.8;margin-top:1rem;max-width:34rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}.hero-actions>a{align-items:center;background:#ffffffb3;background:var(--hero-action-bg);border:1px solid #2f5c7e38;border:1px solid var(--hero-action-border);border-radius:.55rem;color:#263d53;color:var(--hero-action-text);display:inline-flex;font-size:.78rem;font-weight:550;gap:.65rem;min-height:2.9rem;padding:.72rem .95rem;text-decoration:none;transition:border-color .2s ease,background .2s ease,transform .2s ease}.hero-actions>a:hover{background:#3694af2e;border-color:#62d6e8b3;color:#fff;transform:translateY(-2px)}.hero-actions>.hero-primary-action{background:#63d5e5;border-color:#63d5e5;color:#04141e}.hero-actions>.hero-primary-action:hover{background:#8de8ee;color:#04141e}.hero-scroll-cue{align-items:center;color:#46596c!important;color:var(--hero-muted)!important;display:inline-flex;font-size:.73rem;gap:.7rem;letter-spacing:.05em;margin-top:3rem;text-decoration:none}.scroll-line{background:color-mix(in srgb,#46596c 55%,#0000);background:color-mix(in srgb,var(--hero-muted) 55%,#0000);height:1px;width:2rem}.hero-testimonials{justify-self:end;max-width:28rem;position:relative}.data-flow-widget{background:linear-gradient(145deg,#132b3feb,#081624f7);border:1px solid #70b5ce3d;border-radius:1rem;box-shadow:0 28px 75px #0000004d,inset 0 1px #e2f5ff0d;color:#d7e7f4;justify-self:end;padding:clamp(1.2rem,3vw,1.8rem);width:min(100%,29rem)}.widget-topline{align-items:center;border-bottom:1px solid #98c0d726;color:#8199ad;display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;gap:.5rem;justify-content:space-between;letter-spacing:.08em;padding-bottom:.85rem}.widget-indicator{align-items:center;color:#a7c3d4;display:inline-flex;gap:.4rem}.widget-indicator i{background:#5bd7b0;border-radius:50%;box-shadow:0 0 10px #5bd7b08c;height:.4rem;width:.4rem}.widget-heading{margin:1.25rem 0 1.2rem}.widget-heading p{color:#8ca4b8!important;font-size:.78rem;margin:0}.widget-heading h2{color:#f1f8ff!important;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:600;letter-spacing:-.035em;margin:.15rem 0 0}.flow-stages{grid-gap:.65rem;display:grid;gap:.65rem}.flow-stage{align-items:center;background:rgba(132,180,205,.055);border:1px solid #84b4cd21;border-radius:.65rem;display:flex;gap:.9rem;min-height:4.25rem;padding:.7rem .8rem;position:relative}.flow-node{background:#2997ab1f;border:1px solid #57ceda47;border-radius:.6rem;color:#7be0e9;display:grid;flex:0 0 auto;height:2.55rem;place-items:center;width:2.55rem}.flow-symbol{font-size:1.15rem;line-height:1}.flow-number{color:#839bae;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.5rem;left:.4rem;position:absolute;top:.25rem}.flow-stage-copy{grid-gap:.12rem;display:grid;gap:.12rem}.flow-stage-copy strong{color:#e8f4fc;font-size:.82rem;font-weight:600}.flow-stage-copy>span{color:#91a9bc;font-size:.65rem}.flow-connector{background:#69b6c940;bottom:-.68rem;height:.7rem;left:1.95rem;overflow:hidden;position:absolute;width:1px;z-index:2}.flow-connector span{animation:flow-pulse 1.8s ease-in-out infinite;background:#62d6e8;box-shadow:0 0 8px #62d6e8;display:block;height:40%;width:100%}.flow-connector-2 span{animation-delay:.7s}.widget-footer{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.widget-footer span{background:#5a9db417;border:1px solid #84b4cd1f;border-radius:.35rem;color:#a3bfce;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.53rem;letter-spacing:.045em;padding:.34rem .5rem}.widget-disclaimer{color:#71899e!important;font-size:.62rem;line-height:1.55;margin:.85rem 0 0}@keyframes flow-pulse{0%{opacity:0;transform:translateY(-130%)}30%{opacity:1}to{opacity:0;transform:translateY(280%)}}.hero-aside-label{align-items:center;color:#8ba1b6;display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;gap:.75rem;letter-spacing:.08em;margin-bottom:1.1rem}.hero-aside-label p{color:#c3d2df!important;margin:0}.hero-aside-label>span:first-child{color:#61d7e7}.aside-rule{background:#9cbed459;height:1px;width:3rem}.testimonial-stack{display:flex;flex-direction:column;gap:.7rem;width:min(28rem,36vw)}.testimonial-card{background:#fff;border:1px solid #c9dbe98c;border-radius:.7rem;box-shadow:0 24px 55px #00000052;height:6.5rem;margin:0;overflow:hidden;padding:.45rem;position:relative;width:100%}.testimonial-card img{height:100%;object-fit:contain;width:100%}.testimonial-card-1{transform:rotate(-1deg)}.testimonial-card-2{transform:rotate(.8deg)}.testimonial-card-3{transform:rotate(-.5deg)}.hero-bottomline{border-top:1px solid color-mix(in srgb,#46596c 24%,#0000);border-top:1px solid color-mix(in srgb,var(--hero-muted) 24%,#0000);color:#46596c;color:var(--hero-muted);display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.67rem;justify-content:space-between;letter-spacing:.06em;margin:2rem auto 0;max-width:82rem;padding-top:1rem;width:100%}.hero-bottomline a{color:#304b64;color:var(--hero-heading);text-decoration:none}.hero-bottomline a:hover{color:#6ddbe8}@media (max-width:900px){.portfolio-rail{display:none}.mobile-portfolio-header{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#071220f0;border-bottom:1px solid #7aa4c32e;display:flex;height:4rem;inset:0 0 auto;justify-content:space-between;padding:0 1.1rem;position:fixed;z-index:50}.mobile-brand{font-size:.88rem;font-weight:650;gap:.6rem}.mobile-brand img{height:2.1rem;width:2.1rem}.mobile-nav-toggle{background:#ffffff0f;border:1px solid #abcfe538;border-radius:.55rem;color:#e4f0fc;font-size:1.2rem;height:2.5rem;width:2.5rem}.mobile-nav-backdrop{background:#02080fa6;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:49}.mobile-nav-panel{background:#091523;border-left:1px solid #7aa4c333;box-shadow:-24px 0 60px #0000004d;display:flex;flex-direction:column;padding:5.5rem 1.25rem 2rem;width:min(21rem,86vw)}.mobile-nav-panel .rail-caption{margin:.8rem 0 1rem .7rem}.mobile-nav-link{min-height:3rem}.portfolio-main{margin-left:0;padding-top:4rem;width:100%}.detail-page-shell{padding:1.25rem .75rem 1.5rem}.portfolio-hero{padding-top:1.75rem}.portfolio-hero,.portfolio-main>#home{min-height:calc(100vh - 4rem)}}@media (max-width:700px){.portfolio-main>section[id]:not(#home){padding:3rem 1.1rem}.portfolio-main #about .site-container>div:last-child{grid-template-columns:1fr;row-gap:.3rem}.hero-layout{gap:1.5rem;grid-template-columns:1fr}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(3.25rem,16vw,5rem)}.hero-testimonials{max-width:none;width:100%}.data-flow-widget{justify-self:center;width:min(100%,30rem)}.testimonial-stack{margin:0 auto;width:min(100%,30rem)}.testimonial-card{height:6rem}.hero-scroll-cue{margin-top:1.8rem}.hero-bottomline{font-size:.58rem;gap:.75rem}}@media (prefers-reduced-motion:reduce){.hero-actions>a{transform:none!important}.flow-connector span{animation:none;opacity:.8}}.recommendations-section{background:#edf0f1;background:var(--surface);border-bottom:1px solid #d7e2ee;border-bottom:1px solid var(--line);color:#142235;color:var(--ink);padding:clamp(3.5rem,7vw,6rem) clamp(1.5rem,6vw,6.5rem)}:root:not([data-theme=dark]) .data-flow-widget{background:linear-gradient(145deg,#e8eef0f7,#dee6e9fa);border-color:#4d708429;box-shadow:0 20px 48px #26415117,inset 0 1px #fff9;color:#405667}:root:not([data-theme=dark]) #home .widget-disclaimer,:root:not([data-theme=dark]) #home .widget-heading p,:root:not([data-theme=dark]) .flow-stage-copy>span,:root:not([data-theme=dark]) .widget-disclaimer,:root:not([data-theme=dark]) .widget-footer span,:root:not([data-theme=dark]) .widget-indicator,:root:not([data-theme=dark]) .widget-topline{color:#4f6577!important}:root:not([data-theme=dark]) .widget-heading h2{color:#142b40!important}:root:not([data-theme=dark]) .flow-stage{background:rgba(52,100,121,.035);border-color:#46778c1f}:root:not([data-theme=dark]) .flow-node{background:rgba(55,123,143,.065);border-color:#377b8f2e;color:#376f81}:root:not([data-theme=dark]) .flow-number{color:#4f687b}:root:not([data-theme=dark]) .flow-stage-copy strong{color:#304757}:root:not([data-theme=dark]) .flow-stage-copy>span{color:#4f6577}:root:not([data-theme=dark]) .widget-footer span{background:#346c800a;border-color:#46778c1a}:root:not([data-theme=dark]) .flow-connector{background:#2e7b9840}:root:not([data-theme=dark]) #home .hero-actions>a:not(.hero-primary-action){background:#e8eef09e;border-color:#4063772e;color:#405667}:root:not([data-theme=dark]) #home .hero-actions>a:not(.hero-primary-action):hover{background:#eef2f3;border-color:#648899;color:#264a5c}:root:not([data-theme=dark]) #home .hero-actions>.hero-primary-action{background:#397a91;border-color:#397a91;color:#fff}:root:not([data-theme=dark]) #home .hero-actions>.hero-primary-action:hover{background:#2d687d;color:#fff}:root:not([data-theme=dark]) #home .hero-actions>.hero-primary-action,:root:not([data-theme=dark]) #home .hero-actions>.hero-primary-action:hover{box-shadow:0 8px 24px #087eaa33}:root:not([data-theme=dark]) .portfolio-rail{background:#e3e9ec;border-right-color:#cbd5da;color:#34495d}:root:not([data-theme=dark]) .mobile-brand,:root:not([data-theme=dark]) .rail-brand{color:#1d3347}:root:not([data-theme=dark]) .mobile-brand small,:root:not([data-theme=dark]) .rail-brand small,:root:not([data-theme=dark]) .rail-caption,:root:not([data-theme=dark]) .rail-signature{color:#5d7182}:root:not([data-theme=dark]) .rail-bottom{border-top-color:#cbd5da}:root:not([data-theme=dark]) .rail-status{color:#41596b}:root:not([data-theme=dark]) .portfolio-nav-link{color:#455c70}:root:not([data-theme=dark]) .portfolio-nav-link.active-nav,:root:not([data-theme=dark]) .portfolio-nav-link:hover{background:#2b829b1a;border-left-color:#328ba2;color:#18394d}:root:not([data-theme=dark]) .portfolio-nav-link.active-nav .nav-index{color:#237d94}:root:not([data-theme=dark]) .nav-index{color:#687d8e}:root:not([data-theme=dark]) .mobile-portfolio-header{background:#e3e9ecf5;border-bottom-color:#cbd5da;color:#34495d}:root:not([data-theme=dark]) .mobile-nav-toggle{background:#ffffff8c;border-color:#c4d0d6;color:#34495d}:root:not([data-theme=dark]) .mobile-nav-backdrop{background:#192a3847}:root:not([data-theme=dark]) .mobile-nav-panel{background:#e3e9ec;border-left-color:#cbd5da;box-shadow:-24px 0 60px #1a304226}.recommendations-container{margin:0 auto;max-width:82rem}.recommendations-heading{align-items:end;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem}.recommendations-kicker{color:#087eaa;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:650;letter-spacing:.12em;margin:0 0 .75rem;text-transform:uppercase}.recommendations-heading h2{color:#142235;color:var(--ink);font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.055em;line-height:1.1;margin:0}.recommendations-intro{color:#46596c;color:var(--muted);margin:.8rem 0 0}.linkedin-recommendations-link{align-items:center;border:1px solid #d7e2ee;border:1px solid var(--line);border-radius:.55rem;color:#087eaa;color:var(--accent);display:inline-flex;flex-shrink:0;font-size:.8rem;font-weight:600;gap:.55rem;padding:.75rem .95rem;text-decoration:none;transition:border-color .2s ease,background .2s ease}.linkedin-recommendations-link:hover{background:#e5eaec;background:var(--surface-soft);border-color:#087eaa;border-color:var(--accent);color:#075b82;color:var(--accent-dark)}.recommendations-grid{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.recommendation-card{background:#e5eaec;background:var(--surface-soft);border:1px solid #d7e2ee;border:1px solid var(--line);border-radius:.75rem;box-shadow:0 12px 32px rgba(20,43,69,.045);display:flex;flex-direction:column;min-width:0;padding:1.4rem 1.45rem 1.25rem;position:relative}.recommendation-card:first-child{grid-row:span 2}.recommendation-mark{color:#087eaa;color:var(--accent);font-family:Georgia,serif;font-size:3.6rem;height:2rem;line-height:1}.recommendation-quote{color:#142235;color:var(--ink);font-size:.9rem;line-height:1.8}.recommendation-quote p{margin:.7rem 0}.recommendation-author{grid-gap:.3rem;border-top:1px solid #d7e2ee;border-top:1px solid var(--line);display:grid;gap:.3rem;margin-top:1.25rem;padding-top:1rem}.recommendation-author strong{color:#142235;color:var(--ink);font-size:.88rem}.recommendation-author span{color:#46596c;color:var(--muted);font-size:.73rem;line-height:1.6}.recommendations-note{color:#46596c;color:var(--muted);font-size:.72rem;margin:1rem 0 0}[data-theme=dark] .recommendation-card{background:#0d1b2b;border-color:#263b52;box-shadow:0 12px 32px #0000002e}@media (max-width:700px){.recommendations-section{padding:3.5rem 1.25rem}.recommendations-heading{align-items:start;flex-direction:column;gap:1.1rem}.recommendations-grid{grid-template-columns:1fr}.recommendation-card:first-child{grid-row:auto}}.hover\:z-10:hover{z-index:10}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:#60a5fa;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:#1e40af;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:#1f2937;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:#1e3a8a;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:640px){.sm\:h-20{height:5rem}.sm\:h-40{height:10rem}.sm\:w-40{width:10rem}.sm\:w-\[389px\]{width:389px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:p-10{padding:2.5rem}.sm\:p-2{padding:.5rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:1.75rem}.sm\:px-1{padding-left:.25rem;padding-right:.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-7xl{font-size:4.5rem;line-height:1}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\:h-16{height:4rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:h-48{height:12rem}.lg\:w-48{width:12rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:justify-start{justify-content:flex-start}.lg\:gap-10{gap:2.5rem}.lg\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2.5rem*var(--tw-space-x-reverse))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.lg\:px-20{padding-left:5rem;padding-right:5rem}.lg\:text-left{text-align:left}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/*# sourceMappingURL=main.51ca0f32.css.map*/