*,: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:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:Inter,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){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-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,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{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:480px){.\!container{max-width:480px!important}.container{max-width:480px}}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:900px){.\!container{max-width:900px!important}.container{max-width:900px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.home-container{margin-left:auto;margin-right:auto;max-width:900px;padding-left:1.25rem;padding-right:1.25rem}.section-card{margin-left:.75rem;margin-right:.75rem;margin-bottom:1.5rem;max-width:940px;border-radius:1rem;border-width:1px;border-color:var(--card-border);background-color:var(--card-bg);padding-top:2rem;padding-bottom:2rem;--tw-shadow:var(--shadow);--tw-shadow-colored:var(--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){.section-card{margin-left:auto;margin-right:auto}}.section-card{scroll-margin-top:100px}.section-header{margin-bottom:1.75rem;flex-wrap:wrap;justify-content:space-between}.section-header,.section-header-left{display:flex;align-items:center;gap:.75rem}.section-number{display:inline-flex;height:34px;width:34px;flex-shrink:0;align-items:center;justify-content:center;border-radius:.5rem;background-color:var(--accent-light);font-size:13px;font-weight:700;color:var(--accent)}.section-title{margin:0;font-size:1.3rem;font-weight:800;color:var(--text)}@media (min-width:768px){.section-title{font-size:1.1rem}}.section-viewall{cursor:pointer;white-space:nowrap;font-size:13px;font-weight:600;color:var(--accent);text-decoration-line:none}.section-viewall:hover{text-decoration-line:underline}.skills-reveal{--tw-translate-y:1.25rem;opacity:0;transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.6s;transition-timing-function:cubic-bezier(0,0,.2,1)}.skills-reveal,.skills-reveal.is-visible{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))}.skills-reveal.is-visible{--tw-translate-y:0px;opacity:1}.download-button-new{display:inline-flex;align-items:center;gap:.5rem;border-radius:.5rem;border-width:1.5px;border-color:transparent;background-color:var(--accent);padding:.75rem 1.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.download-button-new:hover{--tw-translate-y:-0.25rem;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));background-color:var(--accent-hover);--tw-shadow:0 12px 30px rgba(109,92,216,.3);--tw-shadow-colored:0 12px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.btn-cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:var(--accent) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:var(--accent-hover) var(--tw-gradient-to-position);padding:10px 22px;font-size:13px;font-weight:700;--tw-text-opacity:1;--tw-shadow:0 8px 20px rgba(109,92,216,.25);--tw-shadow-colored:0 8px 20px var(--tw-shadow-color);transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.btn-cta,.btn-cta:hover{color:rgb(255 255 255/var(--tw-text-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.btn-cta:hover{--tw-translate-y:-0.25rem;--tw-text-opacity:1;--tw-shadow:0 14px 32px rgba(109,92,216,.4);--tw-shadow-colored:0 14px 32px var(--tw-shadow-color)}.btn-cta:active,.btn-cta:hover{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))}.btn-cta:active{--tw-translate-y:0px}.download-button-outline{display:inline-flex;align-items:center;gap:.5rem;border-radius:.5rem;border-width:1.5px;border-color:var(--accent);background-color:transparent;padding:.75rem 1.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600;color:var(--accent);transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.download-button-outline:hover{--tw-translate-y:-0.25rem;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));background-color:var(--accent);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 12px 30px rgba(109,92,216,.25);--tw-shadow-colored:0 12px 30px var(--tw-shadow-color)}.download-button-outline:hover,.navbar-scrolled{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.navbar-scrolled{background-color:hsla(0,0%,100%,.95);--tw-shadow:0 4px 30px rgba(30,27,46,.08);--tw-shadow-colored:0 4px 30px var(--tw-shadow-color);--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)}.nav-link{cursor:pointer;border-radius:9999px;padding:.375rem .875rem;font-size:13px;font-weight:600;color:var(--text);transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.nav-link.active{background-color:var(--accent);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.nav-link:hover:not(.active){background-color:var(--accent-light);color:var(--accent)}.navbar-brand{display:flex;align-items:center;gap:.5rem;color:var(--text);text-decoration-line:none;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.navbar-brand:hover{opacity:.85}.navbar-avatar{display:flex;height:2.25rem;width:2.25rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:var(--accent) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:var(--pink) var(--tw-gradient-to-position);font-size:13px;font-weight:700;letter-spacing:.025em;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.navbar-brand:hover .navbar-avatar{--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))}.navbar-brand-name{font-size:.875rem;line-height:1.25rem;font-weight:700;color:var(--text)}.navbar-resume-btn{margin-left:.75rem;display:inline-flex;align-items:center;border-radius:.5rem;background-color:var(--accent);padding:9px 18px;font-size:13px;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.navbar-resume-btn:hover{--tw-translate-y:-0.125rem;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));background-color:var(--accent-hover)}.navbar-toggler{display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:.5rem;border-width:1px;border-color:var(--card-border);color:var(--text)}.site-footer{margin-top:.5rem;border-top-width:1px;border-color:var(--card-border);--tw-bg-opacity:1;background-color:rgb(250 249 253/var(--tw-bg-opacity,1));padding-top:3rem}.footer-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:2rem;padding-bottom:2rem}@media (min-width:640px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){.footer-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}}.footer-brand{margin-bottom:.625rem;font-size:1rem;line-height:1.5rem;font-weight:800;color:var(--text)}.footer-tagline{margin-bottom:1rem;max-width:260px;font-size:13px;line-height:1.7;color:var(--text-secondary)}.footer-social-row{display:flex;gap:.625rem}.footer-social-row a{display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;border-color:var(--card-border);color:var(--text-secondary);text-decoration-line:none;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.footer-social-row a:hover{border-color:var(--accent);background-color:var(--accent);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.footer-col-title{margin-bottom:.875rem;font-size:.875rem;line-height:1.25rem;font-weight:700;color:var(--text)}.footer-link{margin-bottom:.625rem;display:block;cursor:pointer;font-size:13px;color:var(--text-secondary);text-decoration-line:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.footer-link:hover{color:var(--accent)}.footer-contact-line{margin-bottom:.625rem;align-items:center;font-size:13px}.footer-bottom,.footer-contact-line{display:flex;gap:.5rem;color:var(--text-secondary)}.footer-bottom{flex-wrap:wrap;justify-content:space-between;border-top-width:1px;border-color:var(--card-border);padding-top:1.25rem;padding-bottom:1.25rem;font-size:.75rem;line-height:1rem}.about-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));align-items:center;gap:2rem}@media (min-width:900px){.about-grid{grid-template-columns:1.2fr .8fr}}.about-bio{margin-bottom:18px;line-height:1.8;color:var(--text-secondary)}.about-checklist{margin:0 0 1.5rem;list-style-type:none;padding:0}.about-checklist li{margin-bottom:.625rem;display:flex;align-items:center;gap:.625rem;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--text)}.about-checklist i{font-size:1rem;line-height:1.5rem;color:var(--accent)}.about-illustration{position:relative;order:-1;margin-left:auto;margin-right:auto;display:flex;max-width:220px;align-items:center;justify-content:center;padding:1.5rem}@media (min-width:900px){.about-illustration{order:0;margin-left:0;margin-right:0;max-width:none}}.about-illustration img{position:relative;z-index:1;margin-left:auto;margin-right:auto;display:block;width:100%;max-width:280px}.about-illustration-blob{position:absolute;inset:8% 10%;z-index:0;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:var(--accent-light) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#fff var(--tw-gradient-to-position);border-radius:42% 58% 65% 35%/45% 45% 55% 55%}.about-code-badge{left:2%;top:4%;height:2.75rem;width:2.75rem;align-items:center;justify-content:center;border-radius:.75rem;background-color:var(--accent);font-size:1.125rem;line-height:1.75rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 8px 20px rgba(109,92,216,.35);--tw-shadow-colored:0 8px 20px var(--tw-shadow-color)}.about-code-badge,.about-code-panel{position:absolute;z-index:2;display:flex;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.about-code-panel{right:-4%;bottom:6%;width:130px;flex-direction:column;border-radius:10px;--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1));padding:.625rem;--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg)}.about-code-panel-dots{margin-bottom:.5rem;display:flex;gap:.25rem}.about-code-panel-dots i{display:inline-block;height:.375rem;width:.375rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.about-code-line{margin-top:.375rem;display:block;height:5px;border-radius:.25rem}.portfolio-timeline{position:relative}.portfolio-timeline:before{content:"";position:absolute;bottom:1rem;left:23px;top:1.5rem;width:.125rem;--tw-bg-opacity:1;background-color:rgb(232 230 241/var(--tw-bg-opacity,1))}.portfolio-timeline-item{position:relative;margin-bottom:1.5rem;display:grid;grid-template-columns:48px minmax(0,1fr);gap:1.25rem}.portfolio-timeline-item:last-child{margin-bottom:0}.portfolio-timeline-rail{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.portfolio-timeline-dot{display:flex;height:3rem;width:3rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background:var(--timeline-gradient);box-shadow:0 0 0 8px var(--timeline-soft),0 9px 24px var(--timeline-glow)}.portfolio-timeline-marker{margin-top:3rem;height:.75rem;width:.75rem;border-radius:9999px;--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),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1));background:var(--timeline-accent)}.portfolio-experience-card{display:grid;min-width:0;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.25rem;border-radius:1rem;border-width:1px;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1.5rem 1.75rem;font-size:12px;border-color:var(--timeline-border);box-shadow:0 8px 28px rgba(30,27,46,.045)}.portfolio-experience-card-main{min-width:0}.portfolio-experience-date-pill{margin-bottom:1rem;display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;border-width:1px;padding:.375rem .875rem;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--timeline-accent);background:var(--timeline-soft);border-color:var(--timeline-border)}.portfolio-experience-date-pill svg{flex-shrink:0}.portfolio-timeline-role{margin:0;font-size:12px;font-weight:800;line-height:1.25;color:var(--text)}.portfolio-timeline-company{margin-top:1rem;display:flex;align-items:center;gap:.75rem;font-size:12px;font-weight:600;line-height:1.5rem;color:var(--text-secondary)}.portfolio-timeline-company svg{height:19px;width:19px;flex-shrink:0;color:var(--timeline-accent)}.portfolio-experience-divider{margin-top:1.25rem;margin-bottom:1.25rem;height:1px;width:100%;--tw-bg-opacity:1;background-color:rgb(235 233 245/var(--tw-bg-opacity,1))}.portfolio-experience-details{display:flex;flex-direction:column;gap:.25rem}.portfolio-experience-detail-row{display:grid;min-width:0;grid-template-columns:20px 120px 10px minmax(0,1fr);align-items:flex-start;gap:.5rem;font-size:12px;line-height:1.5rem;color:var(--text-secondary)}.portfolio-experience-detail-row svg{margin-top:.125rem;height:19px;width:19px;flex-shrink:0;color:var(--timeline-accent)}.portfolio-experience-detail-row strong{font-weight:700;color:var(--text)}.portfolio-experience-colon{font-weight:700;color:var(--text-secondary)}.portfolio-experience-summary{display:flex;width:100%;align-items:center;gap:.75rem;border-radius:.75rem;border-width:1px;padding:.75rem 1rem;text-align:left;color:var(--timeline-accent);border-color:var(--timeline-border);background:linear-gradient(145deg,var(--timeline-soft),hsla(0,0%,100%,.88))}.portfolio-experience-summary-icon{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;background-color:hsla(0,0%,100%,.6);border-color:var(--timeline-border)}.portfolio-experience-summary-copy{display:flex;min-width:0;flex:1 1 0%;flex-direction:column}.portfolio-experience-summary-label{font-size:.75rem;line-height:1rem;font-weight:700;color:var(--text-secondary)}.portfolio-experience-summary-value{margin-top:.25rem;font-size:12px;font-weight:800;line-height:1.25}.portfolio-experience-status{margin-top:.75rem;border-radius:9999px;padding:.25rem .75rem;font-size:12px;font-weight:700;color:var(--timeline-accent);background:var(--timeline-soft)}.portfolio-experience-status.is-current{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}@media (max-width:767px){.portfolio-timeline:before{left:23px;top:1.5rem}.portfolio-timeline-item{margin-bottom:1.25rem;grid-template-columns:48px minmax(0,1fr);gap:.75rem}.portfolio-timeline-dot{height:3rem;width:3rem;box-shadow:0 0 0 5px var(--timeline-soft),0 7px 18px var(--timeline-glow)}.portfolio-timeline-marker{margin-top:2.25rem;height:.625rem;width:.625rem}.portfolio-experience-card{gap:1rem;border-radius:.75rem;padding:1.25rem 1rem}.portfolio-experience-date-pill{margin-bottom:.75rem;font-size:12px}.portfolio-timeline-company,.portfolio-timeline-role{font-size:12px}.portfolio-experience-divider{margin-top:1rem;margin-bottom:1rem}.portfolio-experience-detail-row{grid-template-columns:20px minmax(0,1fr);column-gap:.5rem;row-gap:.125rem;font-size:12px}.portfolio-experience-detail-row strong{grid-column-start:2}.portfolio-experience-detail-row .portfolio-experience-colon{display:none}.portfolio-experience-detail-row>span:last-child{grid-column-start:2}.portfolio-experience-summary{flex-wrap:wrap;padding-top:.75rem;padding-bottom:.75rem}.portfolio-experience-summary-value{font-size:12px}}#home{padding-top:2.5rem}.hero-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));align-items:center;gap:2.5rem;padding-bottom:2rem;text-align:center}@media (min-width:900px){.hero-grid{grid-template-columns:1.15fr .85fr;text-align:left}}.home-greeting{margin-bottom:.875rem;display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;background-color:var(--accent-light);padding:.375rem 1rem;font-size:13px;font-weight:700;color:var(--accent)}.wave{display:inline-block;font-size:1.125rem;line-height:1.75rem;transform-origin:70% 70%}.myJob{margin:0 0 .25rem;font-size:clamp(2rem,4.5vw,2.8rem);font-weight:800;line-height:1.15;color:var(--text)}.role{margin:0 0 1rem;min-height:40px;font-size:clamp(1.2rem,2.6vw,1.6rem);font-weight:700;color:var(--accent)}.hero-subtitle{margin-left:auto;margin-right:auto;margin-bottom:1.5rem;max-width:100%;font-size:15px;line-height:1.8;color:var(--text-secondary)}@media (min-width:900px){.hero-subtitle{margin-left:0;margin-right:0;max-width:460px}}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}@media (min-width:900px){.hero-actions{justify-content:flex-start}}.hero-social{margin-top:2rem}.hero-social-label{margin-bottom:.625rem;display:block;text-align:center;font-size:13px;color:var(--text-secondary)}@media (min-width:900px){.hero-social-label{text-align:left}}.hero-social-row{display:flex;justify-content:center;gap:.625rem}@media (min-width:900px){.hero-social-row{justify-content:flex-start}}.hero-social-btn{display:flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;border-color:var(--card-border);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));color:var(--text-secondary);text-decoration-line:none;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hero-social-btn:hover{--tw-translate-y:-0.25rem;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));border-color:var(--accent);background-color:var(--accent);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hero-image-col{position:relative;margin-top:.75rem;display:flex;align-items:center;justify-content:center}@media (min-width:900px){.hero-image-col{margin-top:0}}.hero-visual-img{display:block;height:auto;width:100%;max-width:560px}.stats-bar{margin-left:auto;margin-right:auto;margin-bottom:1.5rem;display:grid;max-width:940px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border-radius:1rem;border-width:1px;border-color:var(--card-border);background-color:var(--card-bg);padding:1.25rem 1rem;--tw-shadow:var(--shadow);--tw-shadow-colored:var(--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){.stats-bar{padding-left:2rem;padding-right:2rem}}@media (min-width:768px){.stats-bar{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-card{gap:.75rem}.stat-card,.stat-icon{display:flex;align-items:center}.stat-icon{height:2.75rem;width:2.75rem;flex-shrink:0;justify-content:center;border-radius:.75rem;background-color:var(--accent-light);font-size:1.125rem;line-height:1.75rem;color:var(--accent)}.stat-value{font-size:1.25rem;line-height:1.75rem;font-weight:800;line-height:1.25;color:var(--text)}.stat-label{font-size:.75rem;line-height:1rem;color:var(--text-secondary)}.tech-box{display:flex;height:100%;flex-direction:column;align-items:center;gap:.5rem;border-radius:.75rem;border-width:1px;border-color:var(--card-border);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:18px .625rem;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tech-box:hover{--tw-translate-y:-0.25rem;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));border-color:var(--accent);--tw-shadow:0 8px 20px rgba(109,92,216,.12);--tw-shadow-colored:0 8px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tech-box span{text-align:center;font-size:.75rem;line-height:1rem;font-weight:600;color:var(--text-secondary)}.carousel-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem}.carousel-swiper{order:2;min-width:0;flex:1 1 0%}.carousel-swiper .swiper-slide{display:flex;height:auto;flex-direction:column}.carousel-arrow{display:flex;height:2.25rem;width:2.25rem;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;border-color:var(--card-border);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));color:var(--accent);--tw-shadow:0 2px 8px rgba(30,27,46,.06);--tw-shadow-colored:0 2px 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.carousel-arrow:hover{background-color:var(--accent);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.carousel-arrow-prev{order:1}.carousel-arrow-next{order:3}.carousel-arrow.swiper-button-disabled{cursor:default;opacity:.35}.carousel-arrow.swiper-button-disabled:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));color:var(--accent)}.carousel-dots{order:4;margin-top:1rem;display:flex;flex-basis:100%;justify-content:center}.custom-dot{margin-left:.25rem;margin-right:.25rem;display:inline-block;height:.5rem;width:.5rem;border-radius:9999px;background-color:var(--card-border);transition-property:opacity,transform,background;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.custom-dot.swiper-pagination-bullet-active{--tw-scale-x:1.3;--tw-scale-y:1.3;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));background-color:var(--accent)}.project-card{display:flex;height:100%;flex-direction:column;overflow:hidden;border-radius:1rem;border-width:1px;border-color:var(--card-border);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.project-card:hover{--tw-translate-y:-0.25rem;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));--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.project-thumb{display:flex;height:140px;flex-shrink:0;align-items:center;justify-content:center}.project-thumb span{font-size:46px;font-weight:800;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));opacity:.9}.project-body{display:flex;flex:1 1 0%;flex-direction:column;gap:.5rem;padding:1.25rem}.project-title{font-size:1rem;line-height:1.5rem;font-weight:700;color:var(--text)}.project-desc{font-size:13px;line-height:1.6;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-tags{margin-top:.25rem;display:flex;flex-wrap:wrap;gap:.375rem}.project-tag{border-radius:9999px;background-color:var(--accent-light);padding:.25rem .625rem;font-size:11px;font-weight:600;color:var(--accent)}.project-links{margin-top:auto;display:flex;gap:18px;padding-top:.75rem}.project-link{display:inline-flex;align-items:center;gap:.375rem;font-size:13px;font-weight:600;color:var(--accent);text-decoration-line:none}.project-link:hover{text-decoration-line:underline}.youtube-panel{display:flex;flex-direction:column;align-items:stretch;gap:1.75rem}.youtube-videos-carousel{margin-top:1.75rem}.youtube-thumb{position:relative;aspect-ratio:16/9;width:100%;min-width:0;cursor:pointer;overflow:hidden;border-radius:.5rem;border-width:1px;border-color:var(--card-border);--tw-bg-opacity:1;background-color:rgb(244 242 255/var(--tw-bg-opacity,1));padding:0;text-decoration-line:none}.youtube-modal-overlay,.youtube-thumb{display:flex;align-items:center;justify-content:center}.youtube-modal-overlay{position:fixed;inset:0;z-index:1000;background-color:rgba(10,10,20,.8);padding:1.5rem}.youtube-modal{position:relative;width:100%;max-width:900px}.youtube-modal-frame{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));--tw-shadow:0 20px 60px rgba(0,0,0,.4);--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.youtube-modal-frame iframe{position:absolute;inset:0;height:100%;width:100%;border-width:0}.youtube-modal-close{position:absolute;top:-2.75rem;right:0;display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:9999px;border-width:2px;border-color:hsla(0,0%,100%,.75);background-color:rgba(15,15,30,.45);font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.youtube-thumb-img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.35s}.youtube-thumb:hover .youtube-thumb-img{--tw-scale-x:1.05;--tw-scale-y:1.05;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))}.youtube-play{position:relative;display:flex;height:3.5rem;width:3.5rem;align-items:center;justify-content:center;border-radius:9999px;border-width:2px;border-color:hsla(0,0%,100%,.75);background-color:rgba(15,15,30,.45);font-size:1.25rem;line-height:1.75rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));--tw-shadow:0 4px 14px rgba(0,0,0,.25);--tw-shadow-colored:0 4px 14px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.youtube-info{flex:1 1 0%}.youtube-heading{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:800;color:var(--text)}.youtube-info p{margin-bottom:18px;font-size:.875rem;line-height:1.25rem;line-height:1.8;color:var(--text-secondary)}.youtube-stats{margin-bottom:1.25rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media (min-width:768px){.youtube-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.youtube-stat{border-radius:10px;background-color:var(--accent-light);padding:.75rem .375rem;text-align:center}.youtube-stat-value{font-size:1rem;line-height:1.5rem;font-weight:800;color:var(--accent)}.youtube-stat-label{margin-top:.125rem;font-size:11px;color:var(--text-secondary)}.contact-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:2.25rem}@media (min-width:900px){.contact-grid{grid-template-columns:.9fr 1.1fr}}.contact-details-col{display:flex;flex-direction:column;gap:1.75rem}.contact-detail-row{display:flex;align-items:center;gap:.875rem}.contact-detail-icon{display:flex;height:3rem;width:3rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--accent-light);font-size:1.125rem;line-height:1.75rem;color:var(--accent)}.contact-detail-title{font-size:.75rem;line-height:1rem;color:var(--text-secondary)}.contact-detail-value{overflow-wrap:break-word;font-size:.875rem;line-height:1.25rem;font-weight:600;color:var(--text)}.contact-form-row{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width:640px){.contact-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-group{margin-bottom:1rem}.form-label{margin-bottom:.375rem;display:block;font-size:13px;font-weight:600;color:var(--text)}.form-control{width:100%;border-radius:.5rem;border-width:1px;border-color:var(--card-border);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.625rem .875rem;font-size:.875rem;line-height:1.25rem;color:var(--text);transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.form-control::placeholder{--tw-text-opacity:1;color:rgb(168 165 184/var(--tw-text-opacity,1))}.form-control:focus{border-color:var(--accent);outline:2px solid transparent;outline-offset:2px;--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),var(--tw-shadow,0 0 #0000);--tw-ring-color:var(--accent-light)}.btn-send{display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;background-color:var(--accent);padding:10px 22px;font-size:13px;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.btn-send:hover{--tw-translate-y:-0.125rem;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));background-color:var(--accent-hover);--tw-shadow:0 10px 24px rgba(109,92,216,.3);--tw-shadow-colored:0 10px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0\.5{bottom:.125rem}.bottom-6{bottom:1.5rem}.bottom-\[10\%\]{bottom:10%}.left-1\/2{left:50%}.left-3\.5{left:.875rem}.left-\[8\%\]{left:8%}.right-0\.5{right:.125rem}.right-3{right:.75rem}.right-6{right:1.5rem}.right-\[8\%\]{right:8%}.top-0{top:0}.top-1\/2{top:50%}.top-\[15\%\]{top:15%}.top-\[34px\]{top:34px}.z-\[1000\]{z-index:1000}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.z-\[200\]{z-index:200}.z-\[201\]{z-index:201}.z-\[300\]{z-index:300}.m-0{margin:0}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.me-2{margin-inline-end:.5rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.ms-3{margin-inline-start:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-11{height:2.75rem}.h-4{height:1rem}.h-40{height:10rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.h-\[110px\]{height:110px}.h-\[280px\]{height:280px}.h-\[350px\]{height:350px}.h-\[72px\]{height:72px}.h-full{height:100%}.h-px{height:1px}.max-h-\[90vh\]{max-height:90vh}.min-h-10{min-height:2.5rem}.min-h-screen{min-height:100vh}.w-11{width:2.75rem}.w-4{width:1rem}.w-7{width:1.75rem}.w-9{width:2.25rem}.w-\[110px\]{width:110px}.w-\[200px\]{width:200px}.w-\[280px\]{width:280px}.w-\[350px\]{width:350px}.w-\[72px\]{width:72px}.w-\[calc\(100\%-32px\)\]{width:calc(100% - 32px)}.w-\[calc\(25\%-9px\)\]{width:calc(25% - 9px)}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[200px\]{min-width:200px}.max-w-5xl{max-width:64rem}.max-w-\[1024px\]{max-width:1024px}.max-w-\[1140px\]{max-width:1140px}.max-w-\[130px\]{max-width:130px}.max-w-\[420px\]{max-width:420px}.max-w-\[560px\]{max-width:560px}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{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))}.-translate-y-1\/2{--tw-translate-y:-50%}.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 wave{0%{transform:rotate(0deg)}10%{transform:rotate(-10deg)}20%{transform:rotate(12deg)}30%{transform:rotate(-10deg)}40%{transform:rotate(9deg)}50%{transform:rotate(0deg)}to{transform:rotate(0deg)}}.animate-wave{animation:wave 2.5s infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[20px\]{border-radius:20px}.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-\[3px\]{border-width:3px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-l-\[3px\]{border-left-width:3px}.border-t{border-top-width:1px}.border-\[\#ebe9f5\]{--tw-border-opacity:1;border-color:rgb(235 233 245/var(--tw-border-opacity,1))}.border-\[rgba\(239\2c 68\2c 68\2c 0\.2\)\]{border-color:rgba(239,68,68,.2)}.border-\[rgba\(239\2c 68\2c 68\2c 0\.25\)\]{border-color:rgba(239,68,68,.25)}.border-\[rgba\(239\2c 68\2c 68\2c 0\.4\)\]{border-color:rgba(239,68,68,.4)}.border-\[rgba\(30\2c 27\2c 46\2c 0\.07\)\]{border-color:rgba(30,27,46,.07)}.border-\[rgba\(30\2c 27\2c 46\2c 0\.08\)\]{border-color:rgba(30,27,46,.08)}.border-\[rgba\(30\2c 27\2c 46\2c 0\.1\)\]{border-color:rgba(30,27,46,.1)}.border-\[rgba\(30\2c 27\2c 46\2c 0\.12\)\]{border-color:rgba(30,27,46,.12)}.border-card-border{border-color:var(--card-border)}.border-transparent{border-color:transparent}.border-l-accent{border-left-color:var(--accent)}.bg-\[\#0f172a\]{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-\[\#ef4444\]{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-\[\#f0edff\]{--tw-bg-opacity:1;background-color:rgb(240 237 255/var(--tw-bg-opacity,1))}.bg-\[\#f3f1fd\]{--tw-bg-opacity:1;background-color:rgb(243 241 253/var(--tw-bg-opacity,1))}.bg-\[rgba\(239\2c 68\2c 68\2c 0\.1\)\]{background-color:rgba(239,68,68,.1)}.bg-\[rgba\(239\2c 68\2c 68\2c 0\.12\)\]{background-color:rgba(239,68,68,.12)}.bg-\[rgba\(30\2c 27\2c 46\2c 0\.04\)\]{background-color:rgba(30,27,46,.04)}.bg-\[rgba\(30\2c 27\2c 46\2c 0\.05\)\]{background-color:rgba(30,27,46,.05)}.bg-\[rgba\(30\2c 27\2c 46\2c 0\.06\)\]{background-color:rgba(30,27,46,.06)}.bg-\[rgba\(30\2c 27\2c 46\2c 0\.07\)\]{background-color:rgba(30,27,46,.07)}.bg-accent{background-color:var(--accent)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-teal{background-color:var(--teal)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-white\/\[\.92\]{background-color:hsla(0,0%,100%,.92)}.bg-white\/\[\.96\]{background-color:hsla(0,0%,100%,.96)}.bg-\[radial-gradient\(circle\2c rgba\(109\2c 92\2c 216\2c 0\.18\)_0\%\2c transparent_70\%\)\]{background-image:radial-gradient(circle,rgba(109,92,216,.18) 0,transparent 70%)}.bg-\[radial-gradient\(circle\2c rgba\(45\2c 212\2c 191\2c 0\.15\)_0\%\2c transparent_70\%\)\]{background-image:radial-gradient(circle,rgba(45,212,191,.15) 0,transparent 70%)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#69599c\]{--tw-gradient-from:#69599c var(--tw-gradient-from-position);--tw-gradient-to:rgba(105,89,156,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#f3f1fd\]{--tw-gradient-from:#f3f1fd var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,241,253,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-accent{--tw-gradient-from:var(--accent) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-\[\#ece9fb\]{--tw-gradient-to:rgba(236,233,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#ece9fb var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-teal{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--teal) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[\#806fd0\]{--tw-gradient-to:#806fd0 var(--tw-gradient-to-position)}.to-\[\#f3f1fd\]{--tw-gradient-to:#f3f1fd var(--tw-gradient-to-position)}.to-accent-hover{--tw-gradient-to:var(--accent-hover) var(--tw-gradient-to-position)}.to-pink{--tw-gradient-to:var(--pink) var(--tw-gradient-to-position)}.to-teal{--tw-gradient-to:var(--teal) var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-16{padding-bottom:4rem}.pb-5{padding-bottom:1.25rem}.pl-10{padding-left:2.5rem}.pr-10{padding-right:2.5rem}.pr-3\.5{padding-right:.875rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.font-sans{font-family:Inter,Segoe UI,sans-serif}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[32px\]{font-size:32px}.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-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#1e1b2e\]{--tw-text-opacity:1;color:rgb(30 27 46/var(--tw-text-opacity,1))}.text-\[\#5b4bc4\]{--tw-text-opacity:1;color:rgb(91 75 196/var(--tw-text-opacity,1))}.text-\[\#69599c\]{--tw-text-opacity:1;color:rgb(105 89 156/var(--tw-text-opacity,1))}.text-\[\#77738a\]{--tw-text-opacity:1;color:rgb(119 115 138/var(--tw-text-opacity,1))}.text-\[\#94a3b8\]{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-\[\#dc2626\]{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-\[\#ef4444\]{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-\[\#f59e0b\]{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-accent{color:var(--accent)}.text-teal{color:var(--teal)}.text-text{color:var(--text)}.text-text-secondary{color:var(--text-secondary)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-accent{accent-color:var(--accent)}.shadow-\[0_4px_30px_rgba\(30\2c 27\2c 46\2c 0\.08\)\]{--tw-shadow:0 4px 30px rgba(30,27,46,.08);--tw-shadow-colored:0 4px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_20px_rgba\(105\2c 89\2c 156\2c 0\.28\)\]{--tw-shadow:0 8px 20px rgba(105,89,156,.28);--tw-shadow-colored:0 8px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(30\2c 27\2c 46\2c 0\.08\)\]{--tw-shadow:0 8px 30px rgba(30,27,46,.08);--tw-shadow-colored:0 8px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_32px_rgba\(109\2c 92\2c 216\2c 0\.4\)\]{--tw-shadow:0 8px 32px rgba(109,92,216,.4);--tw-shadow-colored:0 8px 32px var(--tw-shadow-color)}.shadow-\[0_8px_32px_rgba\(109\2c 92\2c 216\2c 0\.4\)\],.shadow-card{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-card{--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow)}.shadow-card-lg{--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur-3xl{--tw-blur:blur(64px)}.blur-3xl,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.backdrop-blur-2xl,.backdrop-blur-md{-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)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[background\2c box-shadow\]{transition-property:background,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-\[400ms\]{transition-duration:.4s}.ease-smooth{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg:#f3f1fd;--surface:#fff;--text:#1e1b2e;--text-secondary:#64748b;--accent:#6d5cd8;--accent-hover:#5b4bc4;--accent-light:rgba(109,92,216,.1);--teal:#2dd4bf;--pink:#ec4899;--card-bg:#fff;--card-border:#ebe9f5;--shadow:0 4px 24px rgba(30,27,46,.06);--shadow-lg:0 16px 40px rgba(30,27,46,.12)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.5}.my-resume{background:#fff;color:#000}.swiper-wrapper{margin:10px 0 0}.placeholder\:text-\[\#94a3b8\]::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;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-\[\#ef4444\]:hover{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.hover\:border-accent:hover{border-color:var(--accent)}.hover\:bg-\[rgba\(239\2c 68\2c 68\2c 0\.1\)\]:hover{background-color:rgba(239,68,68,.1)}.hover\:bg-accent-hover:hover{background-color:var(--accent-hover)}.hover\:text-\[\#ef4444\]:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.hover\:text-accent:hover{color:var(--accent)}.hover\:shadow-\[0_12px_26px_rgba\(105\2c 89\2c 156\2c 0\.36\)\]:hover{--tw-shadow:0 12px 26px rgba(105,89,156,.36);--tw-shadow-colored:0 12px 26px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_6px_20px_rgba\(109\2c 92\2c 216\2c 0\.4\)\]:hover{--tw-shadow:0 6px 20px rgba(109,92,216,.4);--tw-shadow-colored:0 6px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_8px_24px_rgba\(109\2c 92\2c 216\2c 0\.4\)\]:hover{--tw-shadow:0 8px 24px rgba(109,92,216,.4);--tw-shadow-colored:0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-2:focus{border-width:2px}.focus\:border-accent:focus{border-color:var(--accent)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-4: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(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-\[\#69599c\]\/20:focus{--tw-ring-color:rgba(105,89,156,.2)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-65:disabled{opacity:.65}.disabled\:hover\:translate-y-0:hover:disabled{--tw-translate-y:0px;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))}.data-\[state\=active\]\:border-accent[data-state=active]{border-color:var(--accent)}.data-\[state\=active\]\:text-accent[data-state=active]{color:var(--accent)}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:p-10{padding:2.5rem}.sm\:p-12{padding:3rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}}@media (min-width:768px){.md\:col-span-4{grid-column:span 4/span 4}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}}