@import url(https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&family=Poppins:wght@600&display=swap);*,: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:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}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}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{inset:0}.top-0{top:0}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-14{height:3.5rem}.h-5{height:1.25rem}.h-auto{height:auto}.max-h-0{max-height:0}.max-h-96{max-height:24rem}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-40{width:10rem}.w-5{width:1.25rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[45vw\]{max-width:45vw}.max-w-xl{max-width:36rem}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.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))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:bounce 1s infinite}.resize{resize:both}.scroll-mt-24{scroll-margin-top:6rem}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.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))}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-blue-300{--tw-border-opacity:1;border-color:#93c5fd;border-color:rgb(147 197 253/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))}.border-green-300{--tw-border-opacity:1;border-color:#86efac;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:#a5b4fc;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-orange-300{--tw-border-opacity:1;border-color:#fdba74;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-pink-300{--tw-border-opacity:1;border-color:#f9a8d4;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.border-purple-300{--tw-border-opacity:1;border-color:#d8b4fe;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:#fca5a5;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:#fde047;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.bg-accent{--tw-bg-opacity:1;background-color:#edf6f9;background-color:rgb(237 246 249/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:#000;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/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-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:#e0e7ff;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:#ffedd5;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-pink-100{--tw-bg-opacity:1;background-color:#fce7f3;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:#f3e8ff;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/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-white\/90{background-color:#ffffffe6}.bg-yellow-100{--tw-bg-opacity:1;background-color:#fef9c3;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-black\/90{--tw-gradient-from:#000000e6 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-black\/20{--tw-gradient-to:#0003 var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.p-2{padding:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-section-y{padding-bottom:6rem;padding-top:6rem}.pt-1{padding-top:.25rem}.text-center{text-align:center}.font-heading{font-family:Poppins,sans-serif}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.875rem}.text-3xl{font-size:2.25rem}.text-\[0\.9em\]{font-size:.9em}.text-base{font-size:1.125rem}.text-lg{font-size:1.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.5rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#111827\]{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-\[\#1f2937\]{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-\[\#374151\]{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/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-gray-300{--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/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-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{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-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline{outline-style:solid}.ring{--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(3px + 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)}.drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px #00000008) drop-shadow(0 8px 5px #00000014)}.drop-shadow-xl,.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-md{--tw-backdrop-blur:blur(12px);-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-\[max-height\]{transition-duration:.15s;transition-property:max-height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}#root,body,html,main{overflow-anchor:none}canvas{animation:fadeIn 2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/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\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--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(2px + 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)}.focus\:ring-blue-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(96 165 250/var(--tw-ring-opacity,1))}.focus\:ring-blue-400\/40:focus{--tw-ring-color:#60a5fa66}@media (min-width:640px){.sm\:flex{display:flex}.sm\:max-w-\[55vw\]{max-width:55vw}.sm\:flex-row{flex-direction:row}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-xl{font-size:1.5rem}}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:max-w-none{max-width:none}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:text-2xl{font-size:1.875rem}.md\:text-3xl{font-size:2.25rem}}.text-base .hero-section{font-size:1em}.text-lg .hero-section{font-size:1.125em}.text-xl .hero-section{font-size:1.25em}.text-2xl .hero-section{font-size:1.5em}.hero-kicker{letter-spacing:.08em}:root{--font-size-base:1em;--font-size-lg:1.125em;--font-size-xl:1.25em;--projects-accent:#b28a2f;--projects-ink:#1f2937;--projects-sub:#374151;--projects-border:#e5e7eb;--card-bg:#e1de9b;--card-ink:#111827;--card-sub:#374151;--card-accent:#b28a2f;--card-hover-bg:#143c3a;--card-hover-ink:#f8fafc;--card-hover-sub:#e5e7eb;--card-hover-accent:#e9e3b0;--card-hover-link:#dbeafe;--btn-hover-bg:#0ea5e9;--btn-hover-bg-strong:#0284c7;--transition-fast:0.22s}.projects-section,.text-base .projects-section{font-size:1em}.text-lg .projects-section{font-size:1.125em}.text-xl .projects-section{font-size:1.25em}.text-2xl .projects-section{font-size:1.5em}.projects-section{background-color:#9fc5af;color:#1f2937;color:var(--projects-ink);font-family:Inter,Segoe UI,Roboto,sans-serif;line-height:1.6;min-height:100vh;padding:0 2rem 4rem}.projects-container{margin:0 auto;max-width:1800px;width:100%}.projects-layout{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:4fr 1.2fr}@media (max-width:1280px){.projects-layout{grid-template-columns:3fr 1fr}}@media (max-width:1024px){.projects-layout{grid-template-columns:1fr}.projects-avatar-side{margin-bottom:1.25rem;order:-1}}.projects-main{display:flex;flex-direction:column}.projects-title{color:#111827;font-size:1.25em;font-size:var(--font-size-xl);font-weight:700;margin:.5rem auto 1rem;text-align:center}.projects-intro{color:#374151;color:var(--projects-sub);font-size:1em;font-size:var(--font-size-base);margin:0 auto 2rem;max-width:980px;text-align:center}.projects-grid{grid-gap:3rem;align-items:stretch;display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(900px,1fr));justify-items:center}.text-2xl .projects-grid,.text-xl .projects-grid{grid-template-columns:repeat(auto-fit,minmax(1000px,1fr))}@media (max-width:1000px){.projects-grid{gap:2rem;grid-template-columns:1fr}.project-card{margin:0 auto;max-width:95vw}}.project-card{background:#e1de9b;background:var(--card-bg);border-left:6px solid #b28a2f;border-left:6px solid var(--card-accent);border-radius:.75rem;box-shadow:0 4px 12px #0000001a;color:#374151;color:var(--card-sub);display:flex;flex-direction:column;font-size:1em;font-size:var(--font-size-base);gap:1rem;line-height:1.7;max-width:1280px;overflow-wrap:anywhere;padding:1.75rem;transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .2s ease,transform .2s ease;transition:background-color var(--transition-fast) ease,color var(--transition-fast) ease,border-color var(--transition-fast) ease,box-shadow .2s ease,transform .2s ease;width:100%;word-break:normal}.text-2xl .project-card,.text-xl .project-card{max-width:1400px}@media (hover:hover){.project-card:hover{background:#143c3a;background:var(--card-hover-bg);border-left-color:#e9e3b0;border-left-color:var(--card-hover-accent);box-shadow:0 10px 24px #0003;color:#f8fafc;color:var(--card-hover-ink);transform:translateY(-2px)}}.project-card:focus-within{background:#143c3a;background:var(--card-hover-bg);border-left-color:#e9e3b0;border-left-color:var(--card-hover-accent);box-shadow:0 10px 24px #0003;color:#f8fafc;color:var(--card-hover-ink)}.project-title{color:#111827;font-size:1.25em;font-size:var(--font-size-xl);font-weight:700;line-height:1.2;margin-bottom:.25rem}.project-card:focus-within .project-title,.project-card:hover .project-title{color:#f8fafc;color:var(--card-hover-ink)}.project-media{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr}@media (min-width:900px){.project-media{align-items:center;grid-template-columns:repeat(2,minmax(0,1fr))}}.project-image{background:#0000;border-radius:0;box-shadow:none;display:block;height:auto;max-height:360px;object-fit:contain;width:100%}.card-blue .project-media,.card-green .project-media,.card-red .project-media{display:flex;justify-content:center}.card-blue .project-image,.card-green .project-image,.card-red .project-image{margin:0 auto;max-width:90%}.project-card-content{display:flex;flex-direction:column;gap:.5rem;min-width:0}.project-points{grid-gap:14px 20px;display:grid;gap:14px 20px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0 0 .5rem;padding:0}.text-2xl .project-points{grid-template-columns:1fr}@media (max-width:900px){.project-points{grid-template-columns:1fr}}.project-points .star{color:#374151;color:var(--projects-sub);font-size:1.125em;font-size:var(--font-size-lg);font-weight:500;line-height:1.65;overflow-wrap:anywhere;padding-left:28px;position:relative;word-break:normal}.project-points .star,.project-points .star:before{transition:color .22s ease;transition:color var(--transition-fast) ease}.project-points .star:before{color:#b28a2f;color:var(--card-accent);content:"★";font-size:16px;left:0;line-height:1;position:absolute;top:.28em}.project-card:focus-within .project-points .star,.project-card:hover .project-points .star{color:#e5e7eb;color:var(--card-hover-sub)}.project-card:focus-within .project-points .star:before,.project-card:hover .project-points .star:before{color:#e9e3b0;color:var(--card-hover-accent)}.project-tools{color:#374151;color:var(--projects-sub);font-size:1em;font-size:var(--font-size-base);font-weight:500;margin-bottom:.25rem;transition:color .22s ease;transition:color var(--transition-fast) ease}.project-card:focus-within .project-tools,.project-card:hover .project-tools{color:#e5e7eb;color:var(--card-hover-sub)}.project-links a{color:#1f3fb8;font-size:1em;font-size:var(--font-size-base);font-weight:600;margin-right:1rem;text-decoration:underline;transition:color .22s ease;transition:color var(--transition-fast) ease;word-break:break-word}.project-links a:focus-visible,.project-links a:hover{outline:none;text-decoration:none}.project-card:focus-within .project-links a,.project-card:hover .project-links a{color:#dbeafe;color:var(--card-hover-link)}.project-launch-btn{align-self:start;background-color:#2563eb;border-radius:.5rem;color:#fff;display:inline-block;font-size:1em;font-size:var(--font-size-base);font-weight:600;margin-top:.25rem;padding:.75rem 1.25rem;text-align:center;transition:background-color .22s ease,transform .1s ease;transition:background-color var(--transition-fast) ease,transform .1s ease}.project-launch-btn:hover{background-color:#1d4ed8}.project-launch-btn:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px}.project-card:focus-within .project-launch-btn,.project-card:hover .project-launch-btn{background-color:#0ea5e9;background-color:var(--btn-hover-bg)}.project-card:focus-within .project-launch-btn:hover,.project-card:hover .project-launch-btn:hover{background-color:#0284c7;background-color:var(--btn-hover-bg-strong)}.exploratory-projects{margin-top:4rem}.exploratory-title{color:#111827;font-size:1.25em;font-size:var(--font-size-xl);font-weight:700;margin-bottom:1rem;text-align:center}.exploratory-intro{color:#374151;color:var(--projects-sub);font-size:1.125em;font-size:var(--font-size-lg);margin:0 auto 2rem;max-width:980px;text-align:center}.exploratory-grid{grid-gap:2rem;align-items:stretch;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.exploratory-grid .project-card{background:#e1de9b;background:var(--card-bg);border-left:6px solid #b28a2f;border-left:6px solid var(--card-accent);box-shadow:0 2px 8px #0000000f}@media (hover:hover){.exploratory-grid .project-card:hover{background:#143c3a;background:var(--card-hover-bg);border-left-color:#e9e3b0;border-left-color:var(--card-hover-accent);color:#f8fafc;color:var(--card-hover-ink)}}.exploratory-grid .project-card h4{color:#111827;font-weight:700;transition:color .22s ease;transition:color var(--transition-fast) ease}.exploratory-grid .project-card:focus-within h4,.exploratory-grid .project-card:hover h4{color:#f8fafc;color:var(--card-hover-ink)}.exploratory-grid .project-card p{color:#1f2937;color:var(--projects-ink);font-weight:500;transition:color .22s ease;transition:color var(--transition-fast) ease}.exploratory-grid .project-card:focus-within p,.exploratory-grid .project-card:hover p{color:#e5e7eb;color:var(--card-hover-sub)}.exploratory-grid .project-card a{color:#1f3fb8;font-weight:600;text-decoration:underline;transition:color .22s ease;transition:color var(--transition-fast) ease}.exploratory-grid .project-card a:focus-visible,.exploratory-grid .project-card a:hover{outline:none;text-decoration:none}.exploratory-grid .project-card:focus-within a,.exploratory-grid .project-card:hover a{color:#dbeafe;color:var(--card-hover-link)}@media (prefers-reduced-motion:reduce){.exploratory-grid .project-card a,.exploratory-grid .project-card h4,.exploratory-grid .project-card p,.project-card,.project-links a,.project-points .star,.project-points .star:before,.project-tools{transition:none}}:root{--resume-bg:#f8daa7;--resume-text:#1f2937;--resume-subtext:#374151;--resume-muted:#4b5563;--resume-rail:#1f5d45;--resume-accent:#b28a2f;--resume-card:#fff;--resume-border:#e5e7eb;--resume-link:#1f3fb8;--shadow-sm:0 2px 10px #11182714;--shadow-md:0 4px 16px #1118271f;--radius-md:14px;--radius-sm:10px;--space-1:6px;--space-2:10px;--space-3:14px;--space-4:20px;--space-5:28px;--space-6:36px;--space-7:56px;--rail-col:72px;--rail-width:3px;--btn-bg:var(--resume-link);--btn-fg:#fff;--btn-outline:#1f3fb847;--btn-ghost-bg:#ffffffd9;--btn-ghost-fg:var(--resume-text);--btn-ghost-border:var(--resume-border);--link-color:var(--resume-link)}.resume-page{background:#f8daa7;background:var(--resume-bg);box-sizing:border-box;color:#1f2937;color:var(--resume-text);font-family:Inter,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-x:hidden;padding:56px 20px;padding:var(--space-7) var(--space-4);position:relative;width:100%}.resume-inner{margin:0 auto;max-width:1400px;overflow-x:hidden}.shape{opacity:.15;pointer-events:none;position:absolute;will-change:transform;z-index:0}.shape-circle{animation:bobY 6s ease-in-out infinite;background:radial-gradient(circle at 30% 30%,#fff 0,#f7f0d8 60%,#0000 100%);border-radius:50%;height:180px;right:-60px;top:40px;width:180px}.shape-triangle{animation:driftUp 10s ease-in-out infinite;border-bottom:180px solid #ffeec9;border-left:110px solid #0000;border-right:110px solid #0000;bottom:120px;height:0;left:-40px;transform:rotate(-8deg);width:0}.shape-squiggle{animation:wiggle 8s ease-in-out infinite;background:repeating-linear-gradient(90deg,#f6e6bf 0 10px,#0000 10px 20px);height:24px;left:48%;top:55%;transform:translate(-50%,-50%) rotate(5deg);width:220px}@keyframes bobY{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes driftUp{0%,to{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-5deg) translateY(10px)}}@keyframes wiggle{0%,to{transform:translate(-50%,-50%) rotate(5deg)}50%{transform:translate(calc(-50% + 6px),calc(-50% + 4px)) rotate(8deg)}}@media (prefers-reduced-motion:reduce){.shape,.shape-circle,.shape-squiggle,.shape-triangle{animation:none!important}}@media (max-width:720px){.shape-circle{height:150px;right:-80px;top:24px;width:150px}.shape-triangle{bottom:80px;left:-60px}.shape-squiggle{display:none}}.resume-hero{--rings-ty:-30%;--avatar-mt:20px;display:grid;margin:0 auto 36px;margin:0 auto var(--space-6) auto;max-width:1400px;min-height:clamp(300px,42vh,520px);place-items:center;position:relative;text-align:center}.resume-hero-avatar{background:none;border:none;border-radius:16px;box-shadow:none;display:block;height:auto;margin-inline:auto;margin-top:var(--avatar-mt);width:128px}@media (min-width:900px) and (max-width:1399px){.resume-hero{--rings-ty:-26%;--avatar-mt:clamp(28px,4.5vw,42px)}.resume-hero-avatar{width:118px}}@media (min-width:1400px){.resume-hero{--rings-ty:-34%;--avatar-mt:52px}.resume-hero-avatar{width:104px}}@media (max-width:900px){.resume-hero{--rings-ty:-18%;--avatar-mt:22px}.resume-hero-avatar{width:92px}}@media (max-width:600px){.resume-hero{--rings-ty:-4%;--avatar-mt:clamp(6px,4.5vw,14px)}.resume-hero-avatar{width:62px}}@media (max-width:420px){.resume-hero-avatar{width:54px}.resume-hero{--avatar-mt:clamp(6px,5vw,12px)}}@media (max-width:340px){.resume-hero-avatar{width:46px}.resume-hero{--avatar-mt:clamp(4px,5.5vw,10px)}}.scroll-cue{animation:nudge 1.6s ease-in-out infinite;color:#654f1f;cursor:pointer;font-weight:600;margin-top:10px;margin-top:var(--space-2);outline-offset:3px;text-decoration:none}.scroll-cue:focus-visible{border-radius:8px;outline:3px solid #1f3fb859}.scroll-cue:hover{filter:brightness(.95)}@keyframes nudge{0%,to{opacity:.75;transform:translateY(0)}50%{opacity:1;transform:translateY(6px)}}.resume-header{margin-bottom:36px;margin-bottom:var(--space-6);text-align:center}.resume-title{font-family:Poppins,system-ui,sans-serif;font-size:2.2rem;font-weight:700;margin-bottom:10px;margin-bottom:var(--space-2)}.resume-intro{color:#1f2937;color:var(--resume-text);line-height:1.75;margin-left:auto;margin-right:auto;max-width:78ch;text-align:center}.resume-downloads{display:flex;flex-wrap:wrap;gap:14px;gap:var(--space-3);margin-bottom:36px;margin-bottom:var(--space-6)}.btn-ghost,.btn-inline,.btn-link,.btn-primary{display:inline-block;font-weight:600;text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,filter .2s ease}.btn-primary{background:#1f3fb8;background:var(--btn-bg);border-radius:10px;border-radius:var(--radius-sm);box-shadow:0 2px 10px #11182714;box-shadow:var(--shadow-sm);color:#fff;color:var(--btn-fg);padding:10px 16px}.btn-primary:hover{filter:brightness(.92)}.btn-primary:focus{outline:3px solid #1f3fb847;outline:3px solid var(--btn-outline);outline-offset:2px}.btn-ghost{background:#ffffffd9;background:var(--btn-ghost-bg);border:1px solid #e5e7eb;border:1px solid var(--btn-ghost-border);border-radius:10px;border-radius:var(--radius-sm);color:#1f2937;color:var(--btn-ghost-fg);padding:10px 16px}.btn-ghost:hover{filter:brightness(1.02)}.btn-ghost:focus{outline:3px solid #1f3fb847;outline:3px solid var(--btn-outline);outline-offset:2px}.btn-link{color:#1f3fb8;color:var(--link-color);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.btn-inline{margin-top:10px;margin-top:var(--space-2)}.resume-downloads .btn-primary:focus-visible,.resume-downloads .btn-primary:hover{background:#ffffffd9;background:var(--btn-ghost-bg);border:1px solid #e5e7eb;border:1px solid var(--btn-ghost-border);color:#1f2937;color:var(--btn-ghost-fg);filter:none}.resume-downloads .btn-ghost:focus-visible,.resume-downloads .btn-ghost:hover{background:#1f3fb8;background:var(--btn-bg);border-color:#0000;color:#fff;color:var(--btn-fg);filter:none}.resume-downloads .btn-ghost:hover,.resume-downloads .btn-primary:hover{box-shadow:0 4px 16px #1118271f;box-shadow:var(--shadow-md)}.resume-section{background:#fff;background:var(--resume-card);border:1px solid #e5e7eb;border:1px solid var(--resume-border);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 2px 10px #11182714;box-shadow:var(--shadow-sm);margin-bottom:36px;margin-bottom:var(--space-6);padding:28px;padding:var(--space-5)}.section-title{font-size:1.25rem;font-weight:700}.section-note,.section-title{color:#1f2937;color:var(--resume-text);margin-bottom:14px;margin-bottom:var(--space-3)}.section-note{font-weight:500;line-height:1.7}.resume-section li,.resume-section p{color:#1f2937;color:var(--resume-text);font-weight:500;line-height:1.7}.highlights-list{grid-gap:10px;grid-gap:var(--space-2);display:grid;gap:10px;gap:var(--space-2);list-style:none;margin:0;padding:0}.highlights-list .star{padding-left:30px;position:relative}.highlights-list .star:before{color:#b28a2f;color:var(--resume-accent);content:"★";font-size:18px;left:0;line-height:1;position:absolute;top:50%;transform:translateY(-55%)}.skill-tile,.timeline-card{--card-bg:#fff;--card-fg:var(--resume-text);--muted-color:#374151;--accent-color:var(--resume-accent);--link-color:var(--resume-link);--badge-bg:#e7efe8;--badge-fg:#0f3a2c;--btn-bg:var(--resume-link);--btn-fg:#fff;--btn-outline:#1f3fb852;--btn-ghost-bg:#ffffffd9;--btn-ghost-fg:var(--card-fg);--btn-ghost-border:var(--resume-border);background:var(--card-bg);color:var(--card-fg)}.skill-tiles{grid-gap:20px;grid-gap:var(--space-4);display:grid;gap:20px;gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1080px){.skill-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.skill-tiles{grid-template-columns:1fr}}.skill-tile{background:var(--card-bg);border:1px solid #e5e7eb;border:1px solid var(--resume-border);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 2px 10px #11182714;box-shadow:var(--shadow-sm);padding:20px;padding:var(--space-4)}.tile-title{color:var(--card-fg);font-weight:700;margin:0 0 10px;margin:0 0 var(--space-2) 0}.tile-points{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:0;padding:0}.tile-points .star{color:var(--muted-color);padding-left:24px;position:relative}.tile-points .star:before{color:var(--accent-color);content:"★";font-size:16px;left:0;line-height:1;position:absolute;top:50%;transform:translateY(-58%)}.skill-tile:focus-within,.skill-tile:hover{--card-bg:#1f5d45;--card-fg:#fff;--muted-color:#eaf4ef;--accent-color:#fff;--link-color:#fff;--btn-bg:#184a36;--btn-fg:#fff;--btn-outline:#ffffff8c;--btn-ghost-bg:#ffffff29;--btn-ghost-fg:#fff;--btn-ghost-border:#ffffff59}.timeline{padding:2rem 0;position:relative;width:100%}.timeline-rail{background:#1f5d45;background:var(--resume-rail);border-radius:4px;bottom:0;left:50%;position:absolute;top:0;transform:translateX(-1.5px);transform:translateX(calc(var(--rail-width)*-1/2));width:3px;width:var(--rail-width);z-index:0}.timeline-item{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);grid-template-columns:minmax(0,1fr) var(--rail-col) minmax(0,1fr);margin:26px 0;position:relative}.timeline-card.left{grid-column:1;justify-self:end;margin-right:16px}.timeline-card.right{grid-column:3;justify-self:start;margin-left:16px}.timeline-node{background:#1f5d45;background:var(--resume-rail);border:2px solid #fff;border-radius:50%;grid-column:2;height:18px;justify-self:center;width:18px;z-index:1}.timeline-spacer.left{grid-column:1}.timeline-spacer.right{grid-column:3}.timeline-card{background:var(--card-bg);border:1px solid #e5e7eb;border:1px solid var(--resume-border);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 2px 10px #11182714;box-shadow:var(--shadow-sm);max-width:560px;padding:20px;padding:var(--space-4);position:relative;width:100%;z-index:2}.time-badge{background:var(--badge-bg);border-radius:999px;color:var(--badge-fg);display:inline-block;font-size:.9rem;font-weight:600;margin-bottom:10px;margin-bottom:var(--space-2);padding:4px 10px}.item-title{color:var(--card-fg);font-weight:700;margin:0 0 4px}.timeline-card .item-sub{color:var(--muted-color);margin:0 0 10px}.item-points{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:0;padding:0}.skill-tile .item-points .star,.timeline-card .item-points .star{color:var(--muted-color);padding-left:24px;position:relative}.skill-tile .item-points .star:before,.timeline-card .item-points .star:before{color:var(--accent-color);content:"★";font-size:16px;left:0;line-height:1;position:absolute;top:50%;transform:translateY(-58%)}.t-gap-lg{margin-top:40px}.timeline-card:focus-within,.timeline-card:hover{--card-bg:#1f5d45;--card-fg:#fff;--muted-color:#eaf4ef;--accent-color:#fff;--badge-bg:#e7efe8;--badge-fg:#103a2c;--link-color:#fff;--btn-bg:#184a36;--btn-fg:#fff;--btn-outline:#ffffff8c;--btn-ghost-bg:#ffffff29;--btn-ghost-fg:#fff;--btn-ghost-border:#ffffff59}.timeline-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:14px;gap:var(--space-3);justify-content:space-between;margin-bottom:14px;margin-bottom:var(--space-3)}.timeline-controls{align-items:center;display:inline-flex;gap:10px}.timeline-controls .segmented{align-items:center;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--resume-border);border-radius:999px;box-shadow:0 2px 10px #11182714;box-shadow:var(--shadow-sm);color:#1f2937;color:var(--resume-text);cursor:pointer;display:inline-flex;font-weight:600;gap:6px;padding:6px 12px;position:relative;-webkit-user-select:none;user-select:none}.timeline-controls .segmented input{cursor:pointer;inset:0;opacity:0;position:absolute}.timeline-controls .segmented.is-active{background:#e7efe8;border-color:#cfe1d8;color:#103a2c}.timeline.is-horizontal{padding:1rem 0}.timeline.is-horizontal .timeline-rail{display:none}.timeline.is-horizontal .timeline-track{-webkit-overflow-scrolling:touch;display:flex;gap:20px;gap:var(--space-4);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:0 20px 10px;padding:0 var(--space-4) var(--space-2);scroll-padding-inline:20px;scroll-padding-inline:var(--space-4);scroll-snap-type:x mandatory;scrollbar-gutter:stable}.timeline.is-horizontal .timeline-item{display:block;flex:0 0 auto;margin:0;scroll-snap-align:center;width:clamp(280px,85vw,560px)}.timeline.is-horizontal .timeline-card.left,.timeline.is-horizontal .timeline-card.right{justify-self:auto;margin:0;max-width:none}.timeline.is-horizontal .timeline-node,.timeline.is-horizontal .timeline-spacer{display:none}@media (prefers-reduced-motion:reduce){.timeline.is-horizontal .timeline-track{scroll-snap-type:x proximity}}@media print{.timeline.is-horizontal .timeline-track{display:block;overflow:visible}.timeline.is-horizontal .timeline-item{scroll-snap-align:none;width:auto}.timeline.is-horizontal .timeline-rail{display:block}}.certs-list{grid-gap:12px;display:grid;gap:12px;list-style:none;margin:0;padding:0}.certs-list,.certs-list strong{color:#1f2937;color:var(--resume-text)}.certs-list .btn-link{margin-left:8px;white-space:nowrap}.resume-section[aria-labelledby=highlights-heading],.resume-section[aria-labelledby=work-heading]{--card-bg:var(--resume-card);--card-fg:var(--resume-text);--muted-color:var(--resume-subtext);--accent-color:var(--resume-accent);--link-color:var(--resume-link);background:var(--card-bg);color:var(--card-fg)}.resume-section[aria-labelledby=highlights-heading] .section-note,.resume-section[aria-labelledby=highlights-heading] .section-title,.resume-section[aria-labelledby=highlights-heading] li,.resume-section[aria-labelledby=highlights-heading] p,.resume-section[aria-labelledby=work-heading] .section-note,.resume-section[aria-labelledby=work-heading] .section-title,.resume-section[aria-labelledby=work-heading] li,.resume-section[aria-labelledby=work-heading] p{color:var(--card-fg)}.resume-section[aria-labelledby=work-heading] .item-points .star{padding-left:24px;position:relative}.resume-section[aria-labelledby=work-heading] .item-points .star:before{color:var(--accent-color);content:"★";font-size:16px;left:0;line-height:1;position:absolute;top:50%;transform:translateY(-58%)}.resume-section[aria-labelledby=highlights-heading] .highlights-list .star:before{color:var(--accent-color)}.resume-section[aria-labelledby=highlights-heading]:focus-within,.resume-section[aria-labelledby=highlights-heading]:hover,.resume-section[aria-labelledby=work-heading]:focus-within,.resume-section[aria-labelledby=work-heading]:hover{--card-bg:#1f5d45;--card-fg:#fff;--muted-color:#eaf4ef;--accent-color:#fff;--link-color:#fff}.resume-section[aria-labelledby=work-heading]:focus-within .btn-primary,.resume-section[aria-labelledby=work-heading]:hover .btn-primary{background:#0ea5e9;color:#fff;filter:none}.resume-section[aria-labelledby=work-heading]:focus-within .btn-primary:hover,.resume-section[aria-labelledby=work-heading]:hover .btn-primary:hover{background:#0284c7}.resume-section[aria-labelledby=certs-featured-heading],.resume-section[aria-labelledby=learning-heading],.resume-section[aria-labelledby=rpubs-heading]{--card-bg:var(--resume-card);--card-fg:var(--resume-text);--muted-color:#374151;--accent-color:var(--resume-accent);--link-color:var(--resume-link);background:var(--card-bg);color:var(--card-fg)}.resume-section[aria-labelledby=certs-featured-heading] .certs-list strong,.resume-section[aria-labelledby=certs-featured-heading] .section-note,.resume-section[aria-labelledby=certs-featured-heading] .section-title,.resume-section[aria-labelledby=certs-featured-heading] li,.resume-section[aria-labelledby=certs-featured-heading] p,.resume-section[aria-labelledby=learning-heading] .section-note,.resume-section[aria-labelledby=learning-heading] .section-title,.resume-section[aria-labelledby=learning-heading] li,.resume-section[aria-labelledby=learning-heading] p,.resume-section[aria-labelledby=rpubs-heading] .section-note,.resume-section[aria-labelledby=rpubs-heading] .section-title,.resume-section[aria-labelledby=rpubs-heading] li,.resume-section[aria-labelledby=rpubs-heading] p{color:var(--card-fg)}.resume-section[aria-labelledby=certs-featured-heading] .btn-link,.resume-section[aria-labelledby=rpubs-heading] .btn-link{color:#1f3fb8;color:var(--link-color)}.resume-section[aria-labelledby=certs-featured-heading]:focus-within,.resume-section[aria-labelledby=certs-featured-heading]:hover,.resume-section[aria-labelledby=learning-heading]:focus-within,.resume-section[aria-labelledby=learning-heading]:hover,.resume-section[aria-labelledby=rpubs-heading]:focus-within,.resume-section[aria-labelledby=rpubs-heading]:hover{--card-bg:#1f5d45;--card-fg:#fff;--muted-color:#eaf4ef}.resume-section[aria-labelledby=certs-featured-heading]:focus-within,.resume-section[aria-labelledby=certs-featured-heading]:hover,.resume-section[aria-labelledby=rpubs-heading]:focus-within,.resume-section[aria-labelledby=rpubs-heading]:hover{--link-color:#dbeafe}.resume-section[aria-labelledby=learning-heading]:focus-within .btn-primary,.resume-section[aria-labelledby=learning-heading]:hover .btn-primary{background:#0ea5e9;color:#fff;filter:none}.resume-section[aria-labelledby=learning-heading]:focus-within .btn-primary:hover,.resume-section[aria-labelledby=learning-heading]:hover .btn-primary:hover{background:#0284c7}@media (max-width:900px){.timeline:not(.is-horizontal) .timeline-item{grid-template-columns:24px 1fr}.timeline:not(.is-horizontal) .timeline-rail{left:12px;transform:translateX(-50%)}.timeline:not(.is-horizontal) .timeline-card.left,.timeline:not(.is-horizontal) .timeline-card.right{grid-column:2;justify-self:stretch;margin-left:0;margin-right:0}.timeline:not(.is-horizontal) .timeline-node{grid-column:1}.timeline:not(.is-horizontal) .timeline-spacer{display:none}}:root{--cert-bg:#f3c78f;--card-bg:#fff;--ink:#222;--muted:#555;--line:#e5e7eb;--brand:#1f3fb8;--brand-ink:#0a2a86;--focus:#1f5d45;--course:#4b9cd3;--course-strong:#2f6cf1;--course-text:#fff;--spec:#9b51e0;--spec-strong:#7b3fe6;--spec-text:#fff;--neutral-hover:#143c3a;--neutral-text:#f8fafc;--radius:14px;--shadow:0 6px 18px #1118271f}.certifications-section{font-family:Inter,Segoe UI,Roboto,sans-serif;font-size:1em;line-height:1.6}.text-base .certifications-section{font-size:1em}.text-lg .certifications-section{font-size:1.125em}.text-xl .certifications-section{font-size:1.25em}.text-2xl .certifications-section{font-size:1.5em}@media (max-width:640px){.text-2xl .certifications-section{font-size:1.125em}}.certifications-container{background:#f3c78f;background:var(--cert-bg);color:#222;color:var(--ink);margin:0;overflow-x:hidden;padding:2rem 2rem 3rem;width:100%}.cert-hero{grid-gap:1.25rem;align-items:center;display:grid;gap:1.25rem;grid-template-columns:180px 1fr;margin-bottom:1.5rem}.cert-hero__avatar img{display:block;height:auto;max-width:100%;object-fit:contain}.certifications-title{color:#111827;font-size:clamp(1.7em,1.1em + 1.6vw,2.2em);font-weight:700;margin:0 0 .25em}.cert-hero__subtitle{color:#2a2a2a;font-size:1em;font-weight:500;margin:0;overflow-wrap:anywhere}@media (max-width:640px){.cert-hero{gap:.75rem;grid-template-columns:100px 1fr}.cert-hero__avatar img{height:100px;width:100px}}@media (max-width:480px){.cert-hero{grid-template-columns:1fr}.cert-hero__avatar{justify-self:start;order:-1}.text-2xl .certifications-section{font-size:1.08em}}.certifications-toolbar{background:#f3c78f;background:var(--cert-bg);padding:.75rem 0 1rem}.toolbar-row{grid-gap:.75rem 1rem;align-items:end;display:grid;gap:.75rem 1rem;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}.control{grid-gap:.35rem;display:grid;font-size:.95em;gap:.35rem;min-width:0}.control span{color:#111827;font-weight:700}.control input[type=search],.control select{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--line);border-radius:10px;font-size:1em;min-width:0;padding:.5rem .65rem;width:100%}.control--grow,.control--grow input[type=search]{max-width:none;width:100%}@media (min-width:901px) and (max-width:1280px){.toolbar-row .control--grow,.toolbar-row .control--grow input[type=search]{max-width:28ch}.text-2xl .toolbar-row .control--grow,.text-2xl .toolbar-row .control--grow input[type=search]{max-width:26ch}}.text-lg .toolbar-row{grid-template-columns:repeat(4,minmax(0,1fr))}.text-xl .toolbar-row{grid-template-columns:repeat(3,minmax(0,1fr))}@media (min-width:901px) and (max-width:1280px){.toolbar-row{grid-template-columns:repeat(3,minmax(0,1fr))}.toolbar-row .control--grow{grid-column:1/-1}}.toggle{align-items:center;display:inline-flex;font-size:.95em;gap:.5rem;-webkit-user-select:none;user-select:none}.toggle input{transform:translateY(1px)}.toolbar-meta{color:#555;color:var(--muted);font-size:.98em;margin-top:.5rem}@media (max-width:900px){.toolbar-row{grid-template-columns:1fr!important}.control,.toggle{width:100%}.control--grow{max-width:none}}.cert-group{margin-top:1rem}.cert-group__title{border-left:4px solid #e5e7eb;border-left:4px solid var(--line);color:#111827;font-size:1.15em;font-weight:700;margin:1rem 0 .5rem;padding-left:.5rem}.certifications-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}@media (min-width:1024px) and (max-width:1439px){.text-2xl .certifications-grid{grid-template-columns:repeat(2,minmax(360px,1fr))}}@media (min-width:1600px){.text-2xl .certifications-grid{grid-template-columns:repeat(3,minmax(360px,1fr))}}@media (max-width:640px){.certifications-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (max-width:400px){.certifications-grid{grid-template-columns:1fr}}.cert-card{background:#fff;background:var(--card-bg);border-left:6px solid #ccc;border-radius:14px;border-radius:var(--radius);box-shadow:0 6px 18px #1118271f;box-shadow:var(--shadow);color:#111827;display:flex;flex-direction:column;overflow-wrap:anywhere;padding:1rem;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease}.cert-card.course{border-left-color:#4b9cd3;border-left-color:var(--course)}.cert-card.specialization{border-left-color:#9b51e0;border-left-color:var(--spec)}.cert-meta,.cert-provider,.cert-title{color:currentColor}.cert-card:not(.course):not(.specialization):hover{background-color:#143c3a;background-color:var(--neutral-hover);border-left-color:#143c3a;border-left-color:var(--neutral-hover);box-shadow:0 12px 28px #11182740;color:#f8fafc;color:var(--neutral-text);transform:translateY(-4px)}.cert-card.course:hover{background-color:#2f6cf1;background-color:var(--course-strong);border-left-color:#2f6cf1;border-left-color:var(--course-strong);color:#fff;color:var(--course-text)}.cert-card.course:hover,.cert-card.specialization:hover{box-shadow:0 12px 28px #11182740;transform:translateY(-4px)}.cert-card.specialization:hover{background-color:#7b3fe6;background-color:var(--spec-strong);border-left-color:#7b3fe6;border-left-color:var(--spec-strong);color:#fff;color:var(--spec-text)}.cert-header{margin-bottom:.5rem}.cert-title{font-size:1.06em;font-weight:700;margin:0;transition:color .12s ease}.cert-provider{font-size:.96em;font-weight:500;margin:.25rem 0 0}.cert-meta{font-size:.95em;font-weight:500;list-style:none;margin:.5rem 0 1rem;padding:0}.cert-meta li{margin:.25rem 0;overflow-wrap:anywhere}.cert-actions{margin-top:auto}.cert-link{background:#1f3fb8;background:var(--brand);border:1px solid #0a2a86;border:1px solid var(--brand-ink);border-radius:10px;color:#fff;display:inline-block;font-size:.96em;font-weight:600;padding:.55rem .95rem;text-decoration:underline;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.cert-link:focus,.cert-link:hover{background:#0a2a86;background:var(--brand-ink);outline:none}.cert-card.course:hover .cert-link{background:#fff;border-color:#fff;color:#2f6cf1;color:var(--course-strong)}.cert-card.specialization:hover .cert-link{background:#fff;border-color:#fff;color:#7b3fe6;color:var(--spec-strong)}.cert-card:not(.course):not(.specialization):hover .cert-link{background:#1f3fb8;background:var(--brand);border-color:#0a2a86;border-color:var(--brand-ink);color:#fff}.cert-link:focus,.control input[type=search]:focus,.control select:focus{border-color:#1f5d45;border-color:var(--focus);box-shadow:0 0 0 3px #1f5d4540}@media (prefers-reduced-motion:reduce){.cert-card,.cert-link{transition:none}}
/*# sourceMappingURL=main.9f0c018b.css.map*/