/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-font-weight:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-border-style:solid;--tw-tracking:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-leading:initial;--tw-duration:initial;--tw-ease:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-space-y-reverse:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--color-red-400:oklch(70.4% .191 22.216);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--leading-snug:1.375;--leading-relaxed:1.625;--leading-loose:2;--radius-sm:.25rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--blue:#2098ed;--panel:#101c26}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#2862a047,#0000 28%),radial-gradient(circle at 100% 100%,#764eff38,#0000 30%),linear-gradient(#02070d 0%,#020b13 24%,#030d17 100%);min-height:100vh;margin:0;font-family:Inter,sans-serif;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:44px 44px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000 32%,#0000 100%);mask-image:radial-gradient(circle,#000 32%,#0000 100%)}.ambient{pointer-events:none;z-index:0;filter:blur(100px);opacity:.5;border-radius:50%;animation:18s ease-in-out infinite alternate ambientFloat;position:fixed}.ambient-one{background:#1f8dff38;width:520px;height:520px;top:80px;left:-120px}.ambient-two{background:#7f5eff2e;width:620px;height:620px;animation-delay:-8s;bottom:80px;right:-150px}main,header,footer,.section-wrap{z-index:1;position:relative}a{color:inherit;text-decoration-line:none}button,input,textarea{font:inherit}}@layer components{.site-header{z-index:30;border-top-style:var(--tw-border-style);background-color:var(--color-white);height:78px;padding-inline:calc(var(--spacing) * 10);color:var(--color-black);border-color:#4c392e;border-top-width:4px;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{--tw-font-weight:var(--font-weight-extrabold);font-size:26px;font-weight:var(--font-weight-extrabold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:#2098ed}.desktop-nav{gap:calc(var(--spacing) * 8);font-size:16px;display:flex}.desktop-nav a{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.desktop-nav a:hover{color:#2098ed}}.header-actions{align-items:center;gap:calc(var(--spacing) * 5);display:flex}.header-email{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:#2098ed}.resume-button{padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-white);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));background-color:#2098ed;border-radius:3.40282e38px}@media (hover:hover){.resume-button:hover{background-color:#147dca}}.menu-button{border-style:var(--tw-border-style);background-color:#0000;border-width:0;display:none}.section-wrap{max-width:1180px;padding-inline:calc(var(--spacing) * 8);padding-block:calc(var(--spacing) * 28);margin-inline:auto}.hero{align-items:center;gap:calc(var(--spacing) * 12);grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);min-height:calc(100vh - 78px);display:grid;position:relative}.eyebrow{margin-bottom:calc(var(--spacing) * 5);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));color:#2098ed}.hero h1{margin-bottom:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold);letter-spacing:-.06em;white-space:nowrap;max-width:100%;line-height:.9}.hero-role{margin-bottom:calc(var(--spacing) * 5);align-items:center;gap:calc(var(--spacing) * 2);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));color:#b3b3b3;flex-wrap:wrap;display:flex}.hero-prefix{color:#b3b3b3}.hero-role-text{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:#2098ed;min-width:0;display:inline-block}.typing-cursor{margin-left:var(--spacing);--tw-translate-y:.22em;width:.7ch;height:.18em;translate:var(--tw-translate-x) var(--tw-translate-y);border-radius:var(--radius-sm);background-color:#2098ed;animation:.8s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.hero-lede{max-width:610px;font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:#b1b1b1}.hero-badges{margin-top:calc(var(--spacing) * 5);gap:calc(var(--spacing) * 4);flex-wrap:wrap;display:flex}.hero-badges span{padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:#b3b3b3;background-color:#07131d;border-radius:3.40282e38px}.hero-actions{margin-top:calc(var(--spacing) * 7);gap:calc(var(--spacing) * 5);display:flex}.primary-button,.secondary-button{padding-inline:calc(var(--spacing) * 7);padding-block:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;--tw-ease:var(--ease-out);transition-duration:.3s;transition-timing-function:var(--ease-out);letter-spacing:.01em;border-radius:3.40282e38px;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #0c3f6447}.primary-button{color:#fff;background:linear-gradient(135deg,#63d8ff 0%,#2098ed 35%,#7b61ff 100%);border:1px solid #ffffff2e}.primary-button:before,.secondary-button:before{content:"";background:linear-gradient(120deg,#0000 0%,#ffffff61 50%,#0000 100%);transition:transform .7s;position:absolute;inset:0;transform:translate(-140%)}.primary-button:hover:before,.secondary-button:hover:before{transform:translate(140%)}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)scale(1.01);box-shadow:0 16px 35px #229bfc57}.secondary-button{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#2098ed26,#7b61ff1f);border:1px solid #5ea6ff73}.hero-socials{margin-top:calc(var(--spacing) * 6);gap:calc(var(--spacing) * 3);display:flex}.hero-socials a{height:calc(var(--spacing) * 9);width:calc(var(--spacing) * 9);border-style:var(--tw-border-style);color:#2098ed;border-width:1px;border-color:#253746;border-radius:3.40282e38px;place-items:center;transition:transform .25s,box-shadow .25s,border-color .25s;display:grid}.hero-socials a:hover{border-color:#2098edbf;transform:translateY(-2px);box-shadow:0 10px 20px #2098ed47}.hero-socials svg{height:calc(var(--spacing) * 4);width:calc(var(--spacing) * 4);fill:currentColor}.hero-meta{margin-top:calc(var(--spacing) * 5);gap:calc(var(--spacing) * 4);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:#888;flex-wrap:wrap;display:flex}.hero-meta i{margin-right:var(--spacing);height:calc(var(--spacing) * 2);width:calc(var(--spacing) * 2);background-color:#2098ed;border-radius:3.40282e38px;display:inline-block}.hero-visual{justify-content:flex-end;align-items:center;width:min(420px,100%);min-height:390px;margin-top:28px;margin-left:auto;padding-right:15px;display:flex;position:relative}.portrait-frame{border-style:var(--tw-border-style);background-color:#16334b;border-width:2px;border-color:#29465d;border-radius:3.40282e38px;width:300px;height:300px;margin-top:50px;margin-left:auto;margin-right:0;animation:7s ease-in-out infinite floatCard;position:relative;overflow:hidden;transform:translateY(0);box-shadow:0 0 40px #0b75bd61,0 20px 50px #3b82f62e}.portrait-glow{inset:calc(var(--spacing) * 8);background-color:#29506d;border-radius:3.40282e38px;animation:4s ease-in-out infinite pulseGlow;position:absolute}.portrait-frame img{object-fit:cover;mix-blend-mode:screen;width:100%;height:100%;position:relative}.orbit-label{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:#2098ed;position:absolute;top:10px;right:46px;transform:translateY(0)}.code-float{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-white);animation:5s ease-in-out infinite driftUp;position:absolute;bottom:18px;left:12px}.code-float span{color:#2098ed}.scroll-cue{bottom:calc(var(--spacing) * 8);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:#888;flex-direction:column;align-items:center;animation:2.6s ease-in-out infinite softBounce;display:flex;position:absolute;left:50%}.section-heading{margin-bottom:calc(var(--spacing) * 14);align-items:flex-end;gap:calc(var(--spacing) * 4);border-bottom-style:var(--tw-border-style);padding-bottom:calc(var(--spacing) * 4);border-color:#20242a;border-bottom-width:1px;flex-wrap:wrap;display:flex}.section-number{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#2098ed}.section-heading h2{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.section-subtitle{text-align:center;width:100%;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));color:#aaa}.about{background:0 0}.about-grid{gap:calc(var(--spacing) * 20);grid-template-columns:.8fr 1.2fr;display:grid}.about-photo{border-radius:var(--radius-xl);width:300px;height:300px;margin-inline:auto;overflow:hidden}.about-photo img{object-fit:cover;mix-blend-mode:screen;width:100%;height:100%}.stats-grid{margin-top:calc(var(--spacing) * 7);gap:calc(var(--spacing) * 5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stats-grid>div{padding:calc(var(--spacing) * 4);text-align:center}.stats-grid>div:nth-child(3){grid-column:span 2/span 2;width:50%;margin-inline:auto}.stats-grid strong{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));color:#2098ed;display:block}.stats-grid span{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-snug);line-height:var(--leading-snug);color:#b4b4b4}.about-copy h3,.skill-card h3{margin-top:0;margin-bottom:calc(var(--spacing) * 4);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));color:#2098ed}.about-copy p{margin-bottom:calc(var(--spacing) * 7);--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:#b4b4b4}.education-item{padding-left:calc(var(--spacing) * 2);color:var(--color-white)}.education-item span{margin-left:calc(var(--spacing) * 7);color:#aaa}.projects{background:0 0;max-width:none}.projects>.section-heading,.projects>.project-list{max-width:1180px;margin-inline:auto}.project-list{justify-content:center;gap:calc(var(--spacing) * 10);grid-template-columns:minmax(0,720px);display:grid}.project-card{border-radius:var(--radius-2xl);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));background-color:#22252d;overflow:hidden}@media (hover:hover){.project-card:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.project-image{height:calc(var(--spacing) * 52);position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.5s;transition-duration:.5s}.project-card:hover .project-image img{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.project-number,.project-arrow{top:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));position:absolute}.project-number{left:calc(var(--spacing) * 4)}.project-arrow{right:calc(var(--spacing) * 4);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));color:#2098ed}.project-type{margin-bottom:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:#2098ed}.project-info h3{margin-bottom:calc(var(--spacing) * 3);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.project-info p{margin-bottom:calc(var(--spacing) * 4);--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:#ddd}.tag-row{gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.tag-row span{padding-inline:calc(var(--spacing) * 3);padding-block:var(--spacing);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:#2098ed;background-color:#1a3967;border-radius:3.40282e38px}.skills{background:0 0}.skill-cards{align-items:stretch;gap:calc(var(--spacing) * 5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.skill-card{border-radius:var(--radius-2xl);height:100%;padding:calc(var(--spacing) * 5);--tw-shadow:0 0 18px var(--tw-shadow-color,#0a314455);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:#101c26}.skill-card p{margin-bottom:calc(var(--spacing) * 5);--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:#b4b4b4}.skill-card ul{margin:0;list-style-type:none}:where(.skill-card ul>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.skill-card ul{padding:0}.skill-card li{color:#2098ed}.skill-card li span{margin-left:calc(var(--spacing) * 2);color:#b4b4b4}.experience{background:0 0}.timeline{max-width:var(--container-3xl);margin-inline:auto}:where(.timeline>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.timeline-item{border-radius:var(--radius-2xl);padding:calc(var(--spacing) * 6);background-color:#101c26}.timeline-item time{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#2098ed}.timeline-item h3{margin-top:calc(var(--spacing) * 2);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.timeline-item p{color:#b4b4b4}.company{color:#2098ed!important}.contact{background:0 0;max-width:none}.contact-heading{margin-bottom:calc(var(--spacing) * 10);text-align:center}.contact-heading h2{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.contact-heading p{color:#999}.contact-grid{gap:calc(var(--spacing) * 10);grid-template-columns:.8fr 1.2fr;max-width:1060px;margin-inline:auto;display:grid}.contact-grid aside{border-radius:var(--radius-2xl);padding:calc(var(--spacing) * 8);background-color:#2098ed}.contact-grid aside h3,.contact-form h3{margin-bottom:calc(var(--spacing) * 8);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.contact-grid aside p{margin-bottom:calc(var(--spacing) * 7);--tw-leading:var(--leading-loose);line-height:var(--leading-loose)}.contact-socials,.socials{gap:calc(var(--spacing) * 7);display:flex}.contact-socials a,.socials a{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.contact-form{border-radius:var(--radius-2xl);background-color:var(--color-white);padding:calc(var(--spacing) * 8);color:var(--color-black)}.contact-form h3{color:#2098ed}.contact-form label{margin-bottom:calc(var(--spacing) * 5);border-radius:var(--radius-lg);background-color:var(--color-black);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 3);color:var(--color-white);display:block}.contact-form input,.contact-form textarea{margin-top:calc(var(--spacing) * 2);resize:vertical;border-style:var(--tw-border-style);width:100%;color:var(--color-white);--tw-outline-style:none;background-color:#0000;border-width:0;outline-style:none;display:block}.contact-form textarea{min-height:calc(var(--spacing) * 24)}.contact-form .primary-button{border-style:var(--tw-border-style);border-width:0;width:100%}.form-status{margin-top:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#2098ed}.whatsapp-button{margin-bottom:calc(var(--spacing) * 8);justify-content:center;align-items:center;gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-white);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));background-color:#25d366;border-radius:3.40282e38px;display:flex}@media (hover:hover){.whatsapp-button:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y);background-color:#1fbd5b}}.whatsapp-button svg{height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 6);fill:currentColor}.contact-socials svg,.socials svg{fill:currentColor;width:22px;height:22px;display:block}.contact-socials a[href^=mailto\:],.socials a[href^=mailto\:]{display:none}footer{padding-inline:calc(var(--spacing) * 8);padding-block:calc(var(--spacing) * 6);background-color:#1953a4}.footer-inner{gap:calc(var(--spacing) * 8);grid-template-columns:repeat(3,minmax(0,1fr));max-width:780px;margin-inline:auto;display:grid}.footer-inner p,.footer-links{margin-top:calc(var(--spacing) * 3);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:#fffc}@supports (color:color-mix(in lab, red, red)){.footer-inner p,.footer-links{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.footer-inner h3{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.footer-links{gap:calc(var(--spacing) * 2);flex-direction:column;display:flex}.copyright{margin-inline:auto;margin-top:calc(var(--spacing) * 6);border-top-style:var(--tw-border-style);border-color:#fff3;border-top-width:1px;max-width:1180px}@supports (color:color-mix(in lab, red, red)){.copyright{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.copyright{padding-top:calc(var(--spacing) * 4);text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.copyright{color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.copyright span{color:var(--color-red-400)}[data-top]{visibility:hidden;right:calc(var(--spacing) * 7);bottom:calc(var(--spacing) * 7);z-index:20;height:calc(var(--spacing) * 14);width:calc(var(--spacing) * 14);border-radius:var(--radius-2xl);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));color:var(--color-black);opacity:0;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));background-color:#287bf3;place-items:center;display:grid;position:fixed}@media (hover:hover){[data-top]:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.is-visible{visibility:visible!important;opacity:1!important}.reveal{--tw-translate-y:calc(var(--spacing) * 6);translate:var(--tw-translate-x) var(--tw-translate-y);opacity:0}.reveal.is-visible{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y);opacity:1;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.7s;transition-duration:.7s}@media (max-width:760px){.site-header{height:calc(var(--spacing) * 16);padding-inline:calc(var(--spacing) * 5)}.desktop-nav{visibility:hidden;top:calc(var(--spacing) * 16);background-color:var(--color-white);padding-inline:calc(var(--spacing) * 5);opacity:0;--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);flex-direction:column;gap:0;position:absolute;left:0;right:0}.menu-open .desktop-nav{visibility:visible;opacity:1}.desktop-nav a{border-bottom-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 4);border-bottom-width:1px}.header-email,.resume-button{display:none}.menu-button{gap:calc(var(--spacing) * 1.5);flex-direction:column;display:flex}.menu-button span{height:calc(var(--spacing) * .5);width:calc(var(--spacing) * 5);background-color:var(--color-black);display:block}.section-wrap{padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 20)}.hero{align-items:stretch;gap:calc(var(--spacing) * 8);min-height:0;padding-top:calc(var(--spacing) * 10);flex-direction:column;grid-template-columns:none;display:flex}.hero-copy{max-width:100%}.hero h1{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));white-space:normal;max-width:100%}.hero-role{font-size:1.35rem}.hero-lede{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.hero-actions{flex-wrap:wrap}.hero-visual{justify-content:center;width:100%;min-height:280px;margin-top:0;padding-right:0}.portrait-frame{width:min(240px,82vw);height:min(240px,82vw);margin-top:0}.orbit-label{top:8px;right:12px}.code-float{bottom:10px;left:8px}.about-grid,.contact-grid{display:block}.about-copy{margin-top:calc(var(--spacing) * 10)}.project-list{display:block}.project-card{margin-bottom:calc(var(--spacing) * 7)}.skill-cards{display:block}.skill-card{margin-bottom:calc(var(--spacing) * 5)}.contact-grid aside{margin-bottom:calc(var(--spacing) * 6)}.footer-inner{gap:calc(var(--spacing) * 5);grid-template-columns:repeat(1,minmax(0,1fr))}.stats-grid>div:nth-child(3){width:100%}}body{color:#f5f7fa;background:#080b0f;font-size:16px;line-height:1.6}.site-header{border-top-width:3px;border-bottom:1px solid #e8ebef;height:72px;padding-inline:max(24px,50vw - 590px)}.brand{letter-spacing:-.02em;font-size:24px}.desktop-nav{gap:28px;font-size:14px;font-weight:600}.header-actions{gap:16px}.resume-button,.primary-button,.secondary-button{min-height:44px;font-size:14px}.section-wrap{max-width:1180px;padding-block:88px}.hero{gap:72px;min-height:calc(100vh - 72px);padding-top:56px;padding-bottom:64px}.hero h1{letter-spacing:-.06em;max-width:620px;font-size:clamp(42px,5vw,84px);line-height:.9}.eyebrow{margin-bottom:18px;font-size:16px;font-weight:600}.hero-role{margin-bottom:18px;font-size:21px}.hero-prefix{display:inline-block}.hero-role-text{min-width:0}.hero-copy{max-width:620px}.hero-copy,.hero-visual{min-width:0}.typing-cursor{width:.7ch;height:.18em;transform:translateY(.22em)}.hero-lede{max-width:560px;font-size:16px;line-height:1.75}.hero-badges{gap:10px;margin-top:24px}.hero-badges span{border:1px solid #1e3445;padding:8px 13px;font-size:12px}.hero-actions{gap:12px;margin-top:28px}.primary-button,.secondary-button{padding-inline:20px}.hero-meta{color:#8e9aa6;margin-top:22px}.hero-meta .mono{overflow-wrap:anywhere}.hero-visual{width:min(420px,100%);min-height:360px;padding-right:15px}.portrait-frame{width:min(300px,82vw);height:min(300px,82vw);transform:translateY(0)}.orbit-label{top:8px;right:42px}.code-float{bottom:12px;left:8px}.section-heading{gap:12px;margin-bottom:42px;padding-bottom:14px}.section-heading h2{letter-spacing:-.03em;font-size:clamp(30px,4vw,42px)}.section-subtitle{color:#96a0ab;margin-top:4px}.about-grid{gap:72px}.about-photo{width:min(300px,100%);height:min(300px,100vw)}.about-copy h3,.skill-card h3{margin-bottom:10px;font-size:21px}.about-copy p,.skill-card p{font-size:15px;line-height:1.7}.stats-grid{gap:12px}.stats-grid>div{padding:13px 10px}.projects,.contact{background:0 0}.project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card,.skill-card,.timeline-item{border:1px solid #26323d;border-radius:14px}.project-image{height:260px}.project-info{padding:24px}.project-info h3{letter-spacing:-.02em;font-size:25px}.project-info p{color:#c4cbd2;font-size:15px}.tag-row span{border:1px solid #294d82;padding:6px 11px}.skill-cards{gap:18px}.skill-card{padding:24px}.skill-card li{font-size:15px}.timeline{max-width:760px}.timeline-item{padding:24px}.timeline-item h3{font-size:21px}.contact-heading{margin-bottom:36px}.contact-heading h2{font-size:clamp(30px,4vw,42px)}.contact-grid{gap:24px;max-width:1060px}.contact-grid aside,.contact-form{border-radius:14px;padding:32px}.contact-grid aside h3,.contact-form h3{margin-bottom:24px;font-size:22px}.contact-grid aside p{margin-bottom:20px;font-size:15px;line-height:1.7}.contact-form label{border:1px solid #20252b;padding:12px 14px;font-size:14px}.contact-form input,.contact-form textarea{font-size:15px}.whatsapp-button{min-height:44px;margin-bottom:24px}footer{padding:32px 24px 20px}.footer-inner{gap:56px;max-width:820px}.footer-inner h3{font-size:15px}.footer-inner p,.footer-links{font-size:13px}.copyright{margin-top:28px;padding-top:14px}[data-top]{border-radius:14px;width:48px;height:48px}@media (max-width:760px){.site-header{height:64px}.desktop-nav{top:64px}.section-wrap{padding-block:64px}.hero{gap:34px;padding-top:42px;padding-bottom:56px}.hero h1{font-size:clamp(38px,11vw,52px)}.hero-actions{flex-wrap:wrap}.hero-visual{width:100%;min-height:280px;padding-right:0}.portrait-frame{width:min(240px,82vw);height:min(240px,82vw);margin:0 auto}.about-grid{gap:40px}.project-image{height:220px}.project-info{padding:20px}.contact-grid aside,.contact-form{padding:24px}.footer-inner{gap:24px}}@media (max-width:480px){.section-wrap{padding-inline:16px}.hero{gap:26px;padding-top:32px;padding-bottom:44px}.hero h1{font-size:clamp(34px,10.5vw,42px);line-height:.95}.hero-role{font-size:clamp(18px,5.5vw,21px)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions a{text-align:center;justify-content:center}.hero-meta{flex-direction:column;gap:8px}.hero-visual{min-height:260px}.portrait-frame{width:min(220px,78vw);height:min(220px,78vw)}.orbit-label{right:4px}}}@layer utilities{.invisible{visibility:hidden}.fixed{position:fixed}.right-6{right:calc(var(--spacing) * 6)}.bottom-6{bottom:calc(var(--spacing) * 6)}.contents{display:contents}.flex{display:flex}.h-12{height:calc(var(--spacing) * 12)}.w-12{width:calc(var(--spacing) * 12)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-full{border-radius:3.40282e38px}.bg-blue-600{background-color:var(--color-blue-600)}.font-display{font-family:Montserrat,sans-serif}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-white{color:var(--color-white)}.opacity-0{opacity:0}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}}}@media (min-width:761px) and (max-width:1024px){.site-header{padding-inline:24px}.desktop-nav{gap:18px}.section-wrap{padding-block:72px;padding-inline:28px}.hero{grid-template-columns:1fr .85fr;gap:28px;min-height:calc(100vh - 64px);padding-top:44px}.hero h1{font-size:clamp(42px,6vw,56px)}.hero-lede{font-size:15px}.hero-badges{gap:8px}.hero-badges span{font-size:11px}.hero-actions{flex-wrap:wrap}.hero-visual{width:min(350px,100%);padding-right:8px}.portrait-frame{width:280px;height:280px}.about-grid{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:36px}.about-photo{width:250px;height:250px}.project-list,.skill-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-card:last-child{grid-column:1/-1;width:100%;max-width:calc(50% - 9px);margin-inline:auto}.contact-grid{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:20px}.contact-grid aside,.contact-form{padding:24px}.footer-inner{gap:24px}}.skill-card,.timeline-item,.contact-grid aside,.contact-form{box-shadow:none;background:0 0;border:0;border-radius:0;padding-inline:0}.skill-card,.contact-grid aside,.contact-form{box-shadow:none;background:0 0;border:0;border-radius:0}.skill-card{padding:24px}.contact-grid aside,.contact-form{padding:32px}.skill-card,.timeline-item{background:#ffffff0b;border:1px solid #aedaf529;border-radius:14px;padding:24px;box-shadow:0 8px 20px #00000014}.stats-grid>div,.about-copy{background:#ffffff0b;border:1px solid #aedaf529;border-radius:14px;box-shadow:0 8px 20px #00000014}.stats-grid>div{padding:16px 12px}.about-copy{padding:24px}.site-header{color:#f5f7fa;background:#050d16eb;border-top-color:#2098ed;border-bottom-color:#5ba9e038;box-shadow:0 10px 28px #0003}.desktop-nav a{color:#b8c7d6;border:1px solid #0000;border-radius:10px;align-items:center;min-height:36px;padding:6px 12px;transition:transform .25s,color .25s,background .25s,border-color .25s,box-shadow .25s;display:inline-flex;position:relative}.desktop-nav a:after{content:"";transform-origin:50%;background:#2098ed;border-radius:999px;height:2px;transition:transform .25s;position:absolute;bottom:3px;left:12px;right:12px;transform:scaleX(0)}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:#fff;background:#2098ed24;border-color:#53b5ff57;outline:none;transform:translateY(-4px)scale(1.03);box-shadow:0 8px 20px #2098ed33}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}.menu-button span{background:#2098ed;transition:transform .25s,opacity .25s}.menu-open .menu-button span:first-child{transform:translateY(4px)rotate(45deg)}.menu-open .menu-button span:last-child{transform:translateY(-4px)rotate(-45deg)}@media (max-width:760px){.desktop-nav{background:#050d16fa;border-bottom:1px solid #5ba9e038}.desktop-nav a{border-radius:8px}}footer{padding-inline:max(24px,50vw - 590px)}.footer-links{flex-flow:wrap;align-items:center;gap:10px 22px}.footer-inner{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;width:100%;max-width:1180px}.footer-inner>div{min-width:0}.footer-inner .brand{align-items:center;gap:8px;display:inline-flex}.footer-inner p{max-width:260px}@media (max-width:760px){footer{padding-inline:24px}.footer-inner{grid-template-columns:1fr;row-gap:28px}.footer-inner p{max-width:280px}.footer-links{gap:8px 18px}}@keyframes floatCard{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pulseGlow{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@keyframes driftUp{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes softBounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(6px)}}@keyframes ambientFloat{0%{transform:translate(0)scale(.96)}50%{transform:translate(30px,-18px)scale(1.05)}to{transform:translate(-18px,22px)scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}