@font-face{font-stretch:100% 125%;font-family:archivo;src:url(../media/archivo_latin-s.p.2co59kvwabx00.woff2)format("woff2");font-display:swap;font-weight:400 800}@font-face{font-family:archivo Fallback;src:local(Arial);ascent-override:88.86%;descent-override:21.25%;line-gap-override:0.0%;size-adjust:98.81%}._8IsOAq_className{font-family:archivo,archivo Fallback}._8IsOAq_variable{--font-archivo:"archivo", "archivo Fallback"}
@font-face{font-family:jetbrainsMono;src:url(../media/jetbrains_mono_latin.p.3ngvr4tsxpp6c.woff2)format("woff2");font-display:swap;font-weight:400 700}.dytEAW_className{font-family:jetbrainsMono,JetBrains Mono Fallback,monospace}.dytEAW_variable{--font-jetbrains-mono:"jetbrainsMono", JetBrains Mono Fallback, monospace}
@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--edge-top:transparent;--edge-glow:transparent}}}@layer theme{:root,:host{--font-mono:ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;--spacing:var(--space-xs);--container-2xl:42rem;--container-3xl:48rem;--font-weight-semibold:600;--font-weight-bold:700;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--default-mono-font-family:ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;--color-accent:var(--color-accent);--color-accent-hover:var(--color-accent-hover);--color-on-accent:var(--color-on-accent);--color-data-1:var(--color-data-1);--color-data-2:var(--color-data-2);--color-data-3:var(--color-data-3);--color-data-4:var(--color-data-4);--text-xs:var(--text-xs);--text-sm:var(--text-sm);--text-md:var(--text-md);--text-lg:var(--text-lg);--text-xl:var(--text-xl);--text-2xl:var(--text-2xl);--text-3xl:var(--text-3xl);--text-display:var(--text-display);--ease-creative:cubic-bezier(.16, 1, .3, 1);--font-display:var(--font-ibm-plex-sans), "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--text-portfolio-micro:.75rem;--text-portfolio-fine:.8125rem;--text-portfolio-fine--line-height:1.45;--text-portfolio-caption:clamp(.875rem, .84rem + .1vw, .9375rem);--text-portfolio-caption--line-height:1.45;--text-portfolio-small:clamp(.9375rem, .9rem + .12vw, 1rem);--text-portfolio-small--line-height:1.55;--text-portfolio-body:clamp(1rem, .96rem + .18vw, 1.125rem);--text-portfolio-body--line-height:1.65;--text-portfolio-body-loose:clamp(1rem, .96rem + .2vw, 1.125rem);--text-portfolio-body-loose--line-height:1.7;--text-portfolio-button:clamp(.9375rem, .9rem + .12vw, 1rem);--text-portfolio-button--line-height:1.3;--text-portfolio-card-title:clamp(1.125rem, 1.03rem + .35vw, 1.375rem);--text-portfolio-card-title--line-height:1.25;--text-portfolio-card-desc:clamp(.975rem, .93rem + .15vw, 1.0625rem);--text-portfolio-card-desc--line-height:1.68;--text-portfolio-h4:clamp(1.125rem, 1.03rem + .35vw, 1.375rem);--text-portfolio-h4--line-height:1.25;--text-portfolio-h3:clamp(1.35rem, 1.15rem + .6vw, 1.875rem);--text-portfolio-h3--line-height:1.2;--text-portfolio-section-title:clamp(2rem, 1.4rem + 2.6vw, 3.5rem);--text-portfolio-section-title--line-height:1.04;--tracking-heading:-.03em;--text-portfolio-hero-title:clamp(2.25rem, 1.6rem + 2.8vw, 4rem);--text-portfolio-hero-title--line-height:1.05}}@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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}}@layer components{h1,h2,h3,.section-title{font-family:inherit;line-height:1.2}h3,h4{font-weight:var(--weight-semibold);letter-spacing:-.015em}.page-section{padding:var(--section-y) var(--section-x);scroll-margin-top:6rem;position:relative}.page-shell{padding-block:clamp(5.5rem, 9vw, 7rem) var(--space-4xl)}main>.page-section:first-child:before,main>script:first-child+.page-section:before{content:none}.page-section:before{content:"";top:0;left:calc(var(--section-x) + var(--rule-inset));right:calc(var(--section-x) + var(--rule-inset));background:var(--rule);height:1px;position:absolute}@supports (color:color-mix(in lab, red, red)){.page-section:before{background:color-mix(in srgb, var(--rule) 28%, transparent)}}.page-section:before{opacity:.4;pointer-events:none}.section-heading{border-bottom:1px solid var(--border);gap:1rem;margin-bottom:1.75rem;padding-bottom:1.25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.section-heading{border-bottom:1px solid color-mix(in srgb, var(--border) 75%, transparent)}}.section-heading__text{flex-direction:column;gap:.45rem;display:flex}.section-title{font-size:var(--text-portfolio-section-title);font-weight:var(--weight-semibold);color:var(--foreground-strong);letter-spacing:var(--tracking-heading);text-wrap:balance;line-height:var(--text-portfolio-section-title--line-height)}.section-description{font-size:var(--text-portfolio-body);line-height:var(--text-portfolio-body-loose--line-height);color:var(--muted);max-width:var(--measure)}@media (min-width:1440px){.section-heading{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);align-items:end}.section-description{text-align:left;justify-self:end}}.eyebrow{font-size:var(--text-portfolio-caption);font-weight:var(--weight-medium);line-height:var(--text-portfolio-caption--line-height);letter-spacing:0;color:var(--muted)}:where(.metric,.kpi,[data-numeric],dd,td){font-variant-numeric:tabular-nums}.card{--card-padding:1.5rem;--card-radius:0;--card-bg:var(--surface-card);--card-shadow:none;border:1px solid var(--card-border);background:var(--card-bg);padding:var(--card-padding);box-shadow:none;border-radius:0;transition:border-color .2s,box-shadow .2s,transform .2s,background-color .25s;position:relative}.card-hover{transition:transform .2s,box-shadow .2s,border-color .2s}@media (hover:hover) and (pointer:fine){.card-hover:hover{border-color:var(--rule);transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.card-hover:hover{border-color:color-mix(in srgb, var(--rule) 60%, transparent)}}.card-hover:hover{box-shadow:none}}.card-hover:active{transform:translateY(-1px)scale(.995)}.card-hover:focus-visible{outline:2px solid var(--rule);outline-offset:3px}.panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:0;height:100%;padding:.85rem}.chip{border:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.chip{border:1px solid color-mix(in srgb, var(--border) 70%, transparent)}}.chip{font-size:var(--text-portfolio-caption);line-height:var(--text-portfolio-caption--line-height);color:var(--muted);background:var(--surface);border-radius:0;padding:.2rem .7rem}@supports (color:color-mix(in lab, red, red)){.chip{background:color-mix(in srgb, var(--surface) 70%, transparent)}}.chip{transition:border-color .2s,color .2s}@media (hover:hover) and (pointer:fine){.chip:hover{border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.chip:hover{border-color:color-mix(in srgb, var(--rule) 70%, transparent)}}.chip:hover{color:var(--foreground)}}.btn-primary,.btn-outline,.btn-ghost{--x:50%;--y:50%;isolation:isolate;border:1px solid var(--liquid-btn-border);color:var(--liquid-btn-text);background:var(--liquid-btn-bg);-webkit-backdrop-filter:none;box-shadow:none;justify-content:center;align-items:center;gap:.5rem;text-decoration:none;transition:background-color .3s,border-color .3s,color .2s,box-shadow .3s,transform .2s;display:inline-flex;position:relative;overflow:hidden}.btn-primary:after,.btn-outline:after,.btn-ghost:after{content:"";pointer-events:none;opacity:0;background:var(--liquid-btn-highlight);border-radius:0;transition:opacity .3s;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.btn-primary:after,.btn-outline:after,.btn-ghost:after{background:color-mix(in srgb, var(--liquid-btn-highlight) 55%, transparent)}}@media (hover:hover) and (pointer:fine){.btn-primary:hover,.btn-outline:hover,.btn-ghost:hover{background:var(--liquid-btn-bg-strong);border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.btn-primary:hover,.btn-outline:hover,.btn-ghost:hover{border-color:color-mix(in srgb, var(--rule) 34%, var(--liquid-btn-border))}}.btn-primary:hover,.btn-outline:hover,.btn-ghost:hover{box-shadow:none;transform:translateY(-1px)}.btn-primary:hover:after,.btn-outline:hover:after,.btn-ghost:hover:after{opacity:1}}.btn-primary:active,.btn-outline:active,.btn-ghost:active{transform:translateY(0)scale(.98)}.btn-primary:focus-visible,.btn-outline:focus-visible,.btn-ghost:focus-visible{box-shadow:none;outline:none}.btn-primary:disabled,.btn-outline:disabled,.btn-ghost:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary,.btn-outline,.btn-ghost{font-size:var(--text-portfolio-button);line-height:var(--text-portfolio-button--line-height);font-weight:var(--weight-semibold);border-radius:0;padding:.7rem 1.6rem}.btn-primary{color:var(--text-primary);text-shadow:none;border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.btn-primary{border-color:color-mix(in srgb, var(--rule) 62%, transparent)}}.btn-primary{background:var(--rule)}@media (hover:hover) and (pointer:fine){.btn-primary:hover{border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.btn-primary:hover{border-color:color-mix(in srgb, var(--rule) 78%, transparent)}}.btn-primary:hover{background:var(--rule)}@supports (color:color-mix(in lab, red, red)){.btn-primary:hover{background:color-mix(in srgb, var(--rule) 86%, var(--bg-primary))}}}.btn-primary[data-state=loading]{opacity:.85;pointer-events:none}.btn-primary[data-state=loading]:before{content:"";border:2px solid;border-radius:0;width:.9rem;height:.9rem;margin-left:.45rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.btn-primary[data-state=loading]:before{border:2px solid color-mix(in srgb, currentColor 28%, transparent)}}.btn-primary[data-state=loading]:before{border-top-color:currentColor}@supports (color:color-mix(in lab, red, red)){.btn-primary[data-state=loading]:before{border-top-color:color-mix(in srgb, currentColor 78%, transparent)}}.btn-primary[data-state=loading]:before{animation:.8s linear infinite spin}.btn-primary[data-state=success],.btn-primary[data-state=error]{box-shadow:none}.btn-outline{color:var(--liquid-btn-text)}.btn-ghost{color:var(--muted-strong);background:var(--liquid-btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn-ghost{background:color-mix(in srgb, var(--liquid-btn-bg) 78%, transparent)}}@media (hover:hover) and (pointer:fine){.btn-ghost:hover{color:var(--foreground)}}.hero-section{padding:clamp(6rem, 12vh, 9rem) var(--section-x) clamp(2.5rem, 6vh, 4rem)}.hero-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.75rem;display:flex}.hero-actions :where(.btn-primary,.btn-outline,.btn-ghost){min-height:2.8rem;font-size:var(--text-portfolio-button);letter-spacing:.01em}.stack-heading{text-align:left;align-items:start;gap:1.5rem;margin-bottom:1.75rem;padding-bottom:1.5rem}.stack-heading .section-heading__text{gap:.5rem}.stack-heading .section-title{max-width:26ch;line-height:1.15}.stack-heading .section-description{text-align:left;justify-self:start;max-width:42ch}@media (min-width:1024px){.stack-heading .section-description{align-self:end}}.stack-badge{font-size:var(--text-portfolio-caption);line-height:var(--text-portfolio-caption--line-height);letter-spacing:.005em;color:var(--foreground);background:#121620cc;border:1px solid #f0b35a59;border-radius:0;padding:.35rem .7rem}.project-card{align-self:stretch}.project-filters{flex-wrap:wrap;gap:.6rem;display:flex}.filter-pill{border:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.filter-pill{border:1px solid color-mix(in srgb, var(--border) 70%, transparent)}}.filter-pill{font-size:var(--text-portfolio-caption);line-height:var(--text-portfolio-caption--line-height);color:var(--muted);background:var(--surface);border-radius:0;padding:.35rem .9rem}@supports (color:color-mix(in lab, red, red)){.filter-pill{background:color-mix(in srgb, var(--surface) 65%, transparent)}}.filter-pill{transition:border-color .2s,color .2s,background-color .2s}.filter-pill.is-active{border-color:var(--rule);color:var(--foreground);background:#f0b35a1f}.filter-pill:focus-visible{outline:2px solid var(--rule)}@supports (color:color-mix(in lab, red, red)){.filter-pill:focus-visible{outline:2px solid color-mix(in srgb, var(--rule) 60%, transparent)}}.filter-pill:focus-visible{outline-offset:2px}.project-search{flex-direction:column;gap:.35rem;display:flex}.certificate-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.certificate-card__media{background:var(--surface-muted);border-bottom:1px solid var(--border);padding:.85rem;position:relative}.certificate-card__frame{aspect-ratio:16/9;border:1px solid var(--border);background:var(--bg-primary);border-radius:0;position:relative;overflow:hidden}.certificate-card__preview{pointer-events:none;object-fit:contain;object-position:center;background:var(--bg-primary);z-index:1;border:0;width:100%;height:100%;position:absolute;inset:0}.certificate-card__body{flex-direction:column;flex:1;gap:.9rem;padding:1.4rem;display:flex}.certificate-card__title{font-size:var(--text-portfolio-card-title);line-height:var(--text-portfolio-card-title--line-height);font-weight:var(--weight-semibold);color:var(--foreground);letter-spacing:0}.certificate-card__issuer{font-size:var(--text-portfolio-small);font-weight:var(--weight-semibold);color:var(--rule)}.certificate-card__placeholder{color:var(--text-primary);z-index:0;background:var(--bg-primary);border-radius:0;justify-content:space-between;align-items:flex-end;padding:1.1rem;display:flex;position:absolute;inset:0}.certificate-card__placeholder:before{content:"";background:var(--bg-primary);opacity:.35;position:absolute;inset:0}.certificate-card__placeholder:after{content:"";background:var(--bg-primary);opacity:.6;width:55%;height:80%;position:absolute;top:-35%;right:-15%}.certificate-card__placeholder-label{z-index:1;font-size:var(--text-portfolio-caption);line-height:var(--text-portfolio-caption--line-height);font-weight:var(--weight-bold);letter-spacing:.005em;color:#1b140abf;position:relative}.certificate-card__placeholder-stamp{z-index:1;width:2.6rem;height:2.6rem;box-shadow:none;border:2px solid #1b140a40;border-radius:0;position:relative}@media (min-width:1440px){.stack-heading{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.75rem clamp(2rem,3vw,2.75rem)}.stack-heading .section-heading__text{grid-column:span 8}.stack-heading>.section-description{grid-column:span 4}}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:0}.top-1\.5{top:calc(var(--space-xs) * 1.5)}.top-3{top:calc(var(--space-xs) * 3)}.left-0{left:0}.isolate{isolation:isolate}.container{width:100%}@media (min-width:30rem){.container{max-width:30rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:90rem){.container{max-width:90rem}}@media (min-width:120rem){.container{max-width:120rem}}@media (min-width:160rem){.container{max-width:160rem}}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--space-xs) * 2)}.mt-3{margin-top:calc(var(--space-xs) * 3)}.mb-2{margin-bottom:calc(var(--space-xs) * 2)}.mb-3{margin-bottom:calc(var(--space-xs) * 3)}.mb-4{margin-bottom:calc(var(--space-xs) * 4)}.mb-5{margin-bottom:calc(var(--space-xs) * 5)}.mb-6{margin-bottom:calc(var(--space-xs) * 6)}.mb-8{margin-bottom:calc(var(--space-xs) * 8)}.mb-14{margin-bottom:calc(var(--space-xs) * 14)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[4\/3\]{aspect-ratio:4/3}.h-0\.5{height:calc(var(--space-xs) * .5)}.h-3{height:calc(var(--space-xs) * 3)}.h-4{height:calc(var(--space-xs) * 4)}.h-5{height:calc(var(--space-xs) * 5)}.h-7{height:calc(var(--space-xs) * 7)}.h-10{height:calc(var(--space-xs) * 10)}.h-12{height:calc(var(--space-xs) * 12)}.min-h-6{min-height:calc(var(--space-xs) * 6)}.min-h-\[55dvh\]{min-height:55dvh}.min-h-dvh{min-height:100dvh}.w-4\/5{width:80%}.w-5{width:calc(var(--space-xs) * 5)}.w-16{width:calc(var(--space-xs) * 16)}.w-20{width:calc(var(--space-xs) * 20)}.w-24{width:calc(var(--space-xs) * 24)}.w-32{width:calc(var(--space-xs) * 32)}.w-36{width:calc(var(--space-xs) * 36)}.w-64{width:calc(var(--space-xs) * 64)}.w-72{width:calc(var(--space-xs) * 72)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.grow{flex-grow:1}.translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\.5{--tw-translate-y:calc(var(--space-xs) * -1.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-1\.5{--tw-translate-y:calc(var(--space-xs) * 1.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-45{rotate:-45deg}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--space-xs) * 2)}.gap-3{gap:calc(var(--space-xs) * 3)}.gap-4{gap:calc(var(--space-xs) * 4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--space-xs) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--space-xs) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--space-xs) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--space-xs) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--space-xs) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--space-xs) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--space-xs) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--space-xs) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--space-xs) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--space-xs) * 12) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[color\:var\(--border\)\]{border-color:var(--border)}.bg-\[color\:var\(--bg-primary\)\]{background-color:var(--bg-primary)}.bg-\[color\:var\(--border\)\]{background-color:var(--border)}.bg-\[color\:var\(--foreground\)\]{background-color:var(--foreground)}.bg-\[color\:var\(--surface\)\]{background-color:var(--surface)}.bg-\[color\:var\(--surface-muted\)\]{background-color:var(--surface-muted)}.bg-accent{background-color:var(--color-accent)}.bg-transparent{background-color:#0000}.fill-rule{fill:var(--rule)}.p-4{padding:calc(var(--space-xs) * 4)}.p-5{padding:calc(var(--space-xs) * 5)}.px-1{padding-inline:var(--space-xs)}.px-6{padding-inline:calc(var(--space-xs) * 6)}.py-0{padding-block:0}.py-24{padding-block:calc(var(--space-xs) * 24)}.pt-28{padding-top:calc(var(--space-xs) * 28)}.pb-4{padding-bottom:calc(var(--space-xs) * 4)}.pb-20{padding-bottom:calc(var(--space-xs) * 20)}.text-center{text-align:center}.text-left{text-align:left}.font-display{font-family:var(--font-ibm-plex-sans), "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif}.font-mono{font-family:ui-monospace,Cascadia Code,SFMono-Regular,Consolas,monospace}.text-portfolio-body{font-size:clamp(1rem,.96rem + .18vw,1.125rem);line-height:var(--tw-leading,1.65)}.text-portfolio-caption{font-size:clamp(.875rem,.84rem + .1vw,.9375rem);line-height:var(--tw-leading,1.45)}.text-portfolio-card-desc{font-size:clamp(.975rem,.93rem + .15vw,1.0625rem);line-height:var(--tw-leading,1.68)}.text-portfolio-card-title{font-size:clamp(1.125rem,1.03rem + .35vw,1.375rem);line-height:var(--tw-leading,1.25)}.text-portfolio-hero-title{font-size:clamp(2.25rem,1.6rem + 2.8vw,4rem);line-height:var(--tw-leading,1.05)}.text-portfolio-section-title{font-size:clamp(2rem,1.4rem + 2.6vw,3.5rem);line-height:var(--tw-leading,1.04)}.text-portfolio-small{font-size:clamp(.9375rem,.9rem + .12vw,1rem);line-height:var(--tw-leading,1.55)}.text-md{font-size:var(--text-md)}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-\[color\:var\(--border\)\]{color:var(--border)}.text-\[color\:var\(--foreground\)\]{color:var(--foreground)}.text-\[color\:var\(--muted\)\]{color:var(--muted)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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)}.\!ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,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))}.transition-colors{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){.hover\:text-\[color\:var\(--foreground\)\]:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (min-width:30rem){.sm\:w-52{width:calc(var(--space-xs) * 52)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[1fr_auto_auto\]{grid-template-columns:1fr auto auto}.sm\:flex-row{flex-direction:row}}@media (min-width:64rem){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}[data-deferred-home-section]{content-visibility:auto;contain-intrinsic-size:auto 600px}.surface{background:var(--surface)}.surface-muted{background:var(--surface-muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@font-face{font-family:JetBrains Mono Fallback;src:local(Courier New),local(CourierNewPSMT),local(Liberation Mono),local(Cousine),local(Droid Sans Mono),local(DroidSansMono);ascent-override:102%;descent-override:30%;line-gap-override:0%;size-adjust:100%}:root{--bg-primary:#f4f4f3;--bg-secondary:#f4f4f3;--bg-layer:#ebebea;--bg-tertiary:var(--bg-layer);--text-primary:#111215;--text-secondary:#45484f;--text-tertiary:#5a5e66;--text-muted:var(--text-secondary);--border-subtle:var(--rule-soft);--text-xs:.75rem;--text-sm:1rem;--text-md:1.3125rem;--text-lg:1.75rem;--text-xl:2.375rem;--text-2xl:3.125rem;--text-3xl:4.1875rem;--text-display:5.5625rem;--color-accent:#0f766e;--color-accent-hover:#115e59;--color-on-accent:#fff;--accent-soft:var(--rule);--positive:#45484f;--shadow-ink:17, 18, 21;--shadow:none;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--background:var(--bg-primary);--foreground:var(--text-primary);--foreground-strong:var(--text-primary);--muted:var(--text-secondary);--muted-strong:#45484f;--muted-foreground:var(--text-secondary);--surface:var(--bg-secondary);--surface-muted:var(--bg-layer);--surface-strong:#e5e5e4;--border:var(--border-subtle);--accent-strong:#111215;--accent-warm:var(--rule);--accent-cool:var(--rule);--whatsapp:#111215;--shadow-soft:none;--bg-radial-1:transparent;--bg-radial-2:transparent;--bg-grid:transparent;--bg-glow:transparent;--glass-bg:var(--bg-primary);--glass-bg-strong:var(--bg-layer);--glass-border:var(--rule-soft);--glass-border-strong:var(--rule);--gutter:clamp(1rem, 4vw, 6rem);--container-page:1184px;--container-prose:53ch;--layout-max:calc(var(--container-page) + 2 * var(--layout-padding));--measure:var(--container-prose);--ease-creative:var(--ease-actuator);--ease-exit:cubic-bezier(.4, 0, 1, 1);--duration-micro:.12s;--duration-reveal:.32s;--duration-orchestrate:.64s;--duration-data:1.2s;--grain-opacity:0;--layout-padding:var(--gutter);--rule-inset:clamp(.5rem, 1.5vw, 1.25rem);--card-border:var(--rule-soft);--surface-card:var(--bg-primary);--surface-glass:var(--bg-primary);--edge-bottom:transparent;--edge-highlight:transparent;--shadow-contact:none;--radius-control:0;--radius-card:0;--radius-feature:0;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-pill:0;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:2rem;--space-3xl:3rem;--space-4xl:4rem;--section-y:clamp(4rem, 8vw, 6.5rem);--section-x:0px;--liquid-btn-bg:#1112151a;--liquid-btn-bg-strong:#11121533;--liquid-btn-border:#11121533;--liquid-btn-highlight:transparent;--liquid-btn-glow:transparent;--liquid-btn-shadow:none;--liquid-btn-text:var(--text-primary);--liquid-btn-focus:var(--rule)}@supports (color:color-mix(in lab, red, red)){:root{--liquid-btn-focus:color-mix(in srgb, var(--rule) 46%, transparent)}}:root{--liquid-btn-blur:0px;--liquid-card-bg:#1112150d;--liquid-card-border:#1112151a;--liquid-card-shadow:none;--liquid-card-blur:0px;--liquid-card-title:var(--text-primary);--liquid-card-description:var(--text-secondary);--liquid-card-reflection:transparent;--font-display:var(--font-archivo), "Archivo", sans-serif;--font-body:var(--font-archivo), "Archivo", sans-serif;--font-landing:var(--font-archivo), "Archivo", sans-serif;--font-mono:var(--font-jetbrains-mono), "JetBrains Mono", monospace;--rule:#111215;--rule-soft:#11121524;--surface-inverse:#111215;--text-inverse:#f4f4f3;--font-ibm-plex-sans:var(--font-archivo);--weight-display:800;--weight-regular:400;--ease-actuator:cubic-bezier(.2, .8, .2, 1);--ease-mech:steps(8, end);--tracking-label:.04em;--sheet-pitch:24px;--sheet-header:24px;--sheet-cell:calc(var(--sheet-pitch) - 1px);--hero-resume:#7fba00;--hero-resume-hover:#6ca000;--action-secondary:#ffb900;--action-secondary-hover:#e6a600;--brand-whatsapp:#25d366;--brand-whatsapp-hover:#1ebe5a;--brand-linkedin:#0a66c2;--brand-linkedin-hover:#004182;--brand-github:#181717;--brand-github-hover:#33302f;--brand-email:#ff5200;--brand-email-hover:#e04800;--skill-yellow:#ffb900;--skill-blue:#00a4ef;--skill-green:#7fba00;--skill-orange:#f25022;--skill-gray:#747474;--skill-white:#fff;--color-data-1:#ffb900;--color-data-2:#00a4ef;--color-data-3:#7fba00;--color-data-4:#f25022}@media (min-width:1440px){:root{--container-page:1320px}}@media (min-width:1920px){:root{--container-page:1520px}}@media (min-width:2560px){:root{--container-page:min(1840px, 100vw - 2 * var(--gutter))}}@property --edge-top{syntax:"<color>";inherits:false;initial-value:#0000}@property --edge-glow{syntax:"<color>";inherits:false;initial-value:#0000}html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-padding-top:96px}@media (min-width:1920px){html{font-size:106.25%}}@media (min-width:2560px){html{font-size:112.5%}}body{background:var(--background);color:var(--foreground);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-portfolio-body);line-height:var(--text-portfolio-body--line-height);transition:background-color .25s,color .25s;position:relative}main{font-family:var(--font-body)}:where(main) :where(p,li,dd,figcaption,blockquote){max-inline-size:var(--container-prose)}:where(button,input,select,textarea){font:inherit}:where(input,select,textarea){font-size:var(--text-sm)}:is(.layout-container,.section-inner){box-sizing:border-box;width:100%;max-width:var(--layout-max);padding-inline:var(--layout-padding);margin-inline:auto}:focus-visible{outline:2px solid var(--rule)}@supports (color:color-mix(in lab, red, red)){:focus-visible{outline:2px solid color-mix(in srgb, var(--rule) 72%, transparent)}}:focus-visible{outline-offset:2px}.target-inline{padding-block:.3125rem}#main-content:focus-visible{outline:none}body:before{content:none;z-index:-1;pointer-events:none;opacity:.28;background-image:none;background-size:100% 100%,100% 100%,140px 140px,140px 140px;position:fixed;inset:0}body:after{content:none;background:var(--bg-primary);z-index:-1;pointer-events:none;width:46%;height:46%;position:fixed;bottom:-22%;right:-18%}@media (max-width:767.98px){body:before{opacity:.2;background-size:100% 100%,100% 100%,112px 112px,112px 112px}body:after{opacity:.2}}.video-bg{z-index:0;pointer-events:none;background:var(--background);position:fixed;inset:0;overflow:hidden}.video-bg__veil{background:var(--bg-primary);position:absolute;inset:0}.video-bg__glow{background:var(--bg-primary);mix-blend-mode:screen;opacity:.6;position:absolute;inset:-10%}.physical-card{background:var(--bg-primary);box-shadow:none;transition:--edge-top var(--duration-reveal) var(--ease-creative), --edge-glow var(--duration-reveal) var(--ease-creative), box-shadow var(--duration-reveal) var(--ease-creative);border:1px solid #0000}.physical-card:focus-within{--edge-top:#e4e7ec38;--edge-glow:var(--rule)}@supports (color:color-mix(in lab, red, red)){.physical-card:focus-within{--edge-glow:color-mix(in srgb, var(--rule) 75%, transparent)}}@media (hover:hover) and (pointer:fine){.physical-card:hover{--edge-top:#e4e7ec38;--edge-glow:var(--rule)}@supports (color:color-mix(in lab, red, red)){.physical-card:hover{--edge-glow:color-mix(in srgb, var(--rule) 75%, transparent)}}}html:after{content:none;z-index:85;pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;position:fixed;inset:0}@media print{html:after{display:none}.skip-link,.custom-cursor,.custom-cursor-ring,.site-nav-shell,.mobile-menu-trigger{display:none!important}.site-header{position:absolute!important}[data-project-card]{break-inside:avoid}}.app-shell{z-index:1;position:relative}*,:before,:after{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes glass-entrance{0%{opacity:0;filter:none;transform:scale(.9)translateY(20px)}to{opacity:1;filter:none;transform:scale(1)translateY(0)}}@keyframes mesh{0%,to{transform:translate(0)scale(1)}50%{transform:translate(18px,-14px)scale(1.05)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%{transform:translateY(calc(-1 * var(--float-offset,6px)))}50%{transform:translateY(var(--float-offset,6px))}to{transform:translateY(calc(-1 * var(--float-offset,6px)))}}.page-overlay{background:var(--bg-primary);z-index:9998;pointer-events:none;animation:.6s ease-out forwards pageSlide;position:fixed;inset:0}@keyframes pageSlide{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.page-overlay{display:none}}.skip-link{z-index:100;border:1px solid var(--border);background:var(--surface);color:var(--foreground);font-weight:var(--weight-medium);border-radius:0;padding:.5rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(calc(-100% - 2rem))}.skip-link:focus,.skip-link:focus-visible{box-shadow:none;outline:none;transform:none}@media (prefers-reduced-motion:no-preference){.skip-link{transition:transform .12s ease-out}}:root{--motion-fast:.18s;--motion-base:.26s;--motion-slow:.42s;--easing-standard:var(--ease-creative);--header-height:78px}html{scroll-padding-top:calc(var(--header-height) + env(safe-area-inset-top) + 1rem)}body:before{opacity:.58;background-size:100% 100%,100% 100%,130px 130px,130px 130px}@media (max-width:767.98px){body:before{opacity:.2;background-size:100% 100%,100% 100%,112px 112px,112px 112px}body:has(.home-shell):before{-webkit-mask-image:none;mask-image:none}}body:after{opacity:.72;width:42%;height:42%}.site-header{z-index:60;border-bottom:1px solid var(--glass-border);background:var(--bg-secondary);position:fixed;inset:0 0 auto}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--bg-secondary) 94%, transparent)}}.site-header{-webkit-backdrop-filter:none;box-shadow:none;isolation:isolate}.site-header:after{content:"";background:var(--border-subtle);height:1px;position:absolute;inset:auto 0 0}.site-header{padding-top:env(safe-area-inset-top)}.site-header__inner{padding-inline:max(var(--layout-padding), env(safe-area-inset-left)) max(var(--layout-padding), env(safe-area-inset-right));height:var(--header-height);justify-content:space-between;align-items:center;gap:clamp(.75rem,2.2vw,2.5rem);display:flex}.site-logo{color:var(--foreground);transition:color var(--motion-fast) var(--easing-standard), background-color var(--motion-fast) var(--easing-standard), transform var(--motion-fast) var(--easing-standard);border-radius:0;align-items:center;gap:.55rem;margin-inline-start:-.75rem;padding:.5rem .75rem;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.site-logo:hover{color:var(--accent-strong);background:var(--surface-muted)}@supports (color:color-mix(in lab, red, red)){.site-logo:hover{background:color-mix(in srgb, var(--surface-muted) 72%, transparent)}}.site-logo:hover{transform:translateY(-1px)}}.site-logo__dot{background:var(--rule);width:.55rem;height:.55rem;box-shadow:none;border-radius:0}.site-logo__text{font-size:var(--text-portfolio-caption);font-weight:var(--weight-bold);letter-spacing:.005em}.site-nav-shell{align-items:center;gap:clamp(.7rem,1.8vw,1.4rem)}.site-nav{border:1px solid var(--glass-border);background:var(--glass-bg-strong);box-shadow:none;border-radius:0;align-items:center;gap:.25rem;padding:.25rem;display:flex}.site-nav__link{min-height:2.3rem;font-size:clamp(var(--text-xs), .84rem + .1vw, var(--text-sm));font-weight:var(--weight-semibold);letter-spacing:.01em;color:var(--muted);transition:color var(--motion-fast) var(--easing-standard), background-color var(--motion-fast) var(--easing-standard), transform var(--motion-fast) var(--easing-standard);border-radius:0;justify-content:center;align-items:center;padding:.35rem .78rem;text-decoration:none;display:inline-flex;position:relative}@media (hover:hover) and (pointer:fine){.site-nav__link:hover{color:var(--foreground);background:var(--rule)}@supports (color:color-mix(in lab, red, red)){.site-nav__link:hover{background:color-mix(in srgb, var(--rule) 9%, var(--glass-bg))}}}.site-nav__link.is-active{color:var(--foreground);background:var(--rule)}@supports (color:color-mix(in lab, red, red)){.site-nav__link.is-active{background:color-mix(in srgb, var(--rule) 14%, var(--glass-bg))}}.site-nav__link.is-active:after{content:"";background:var(--rule);border-radius:0;height:2px;position:absolute;bottom:.22rem;left:.8rem;right:.8rem}@supports (color:color-mix(in lab, red, red)){.site-nav__link.is-active:after{background:color-mix(in srgb, var(--rule) 62%, transparent)}}.site-nav__link--primary{border-color:var(--glass-border-strong);background:var(--surface-strong);color:var(--text-primary)}.site-nav__link--primary.is-active{border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.site-nav__link--primary.is-active{border-color:color-mix(in srgb, var(--rule) 65%, transparent)}}.site-nav__link--primary.is-active{background:var(--surface-strong);color:var(--text-primary)}@media (hover:hover) and (pointer:fine){.site-nav__link--primary:hover{border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.site-nav__link--primary:hover{border-color:color-mix(in srgb, var(--rule) 65%, transparent)}}.site-nav__link--primary:hover{background:var(--surface-strong);color:var(--text-primary)}}.site-nav__divider{background:var(--border);width:1px;height:1.8rem}@supports (color:color-mix(in lab, red, red)){.site-nav__divider{background:color-mix(in srgb, var(--border) 72%, transparent)}}.site-nav-controls{align-items:center;gap:.65rem;display:inline-flex}.mobile-menu-trigger{border:1px solid var(--border);border-radius:0;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.mobile-menu-trigger{border:1px solid color-mix(in srgb, var(--border) 76%, transparent)}}.mobile-menu-trigger{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-trigger{background:color-mix(in srgb, var(--surface) 88%, transparent)}}.mobile-menu-trigger{color:var(--foreground);transition:border-color var(--motion-fast) var(--easing-standard), transform var(--motion-fast) var(--easing-standard)}@media (hover:hover) and (pointer:fine){.mobile-menu-trigger:hover{border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-trigger:hover{border-color:color-mix(in srgb, var(--rule) 55%, transparent)}}.mobile-menu-trigger:hover{transform:translateY(-1px)}}.mobile-menu-overlay{z-index:70;-webkit-backdrop-filter:none;backdrop-filter:none;transition:opacity var(--motion-base) var(--easing-standard);background:#06070a9e;position:fixed;inset:0}.mobile-menu-panel{border-left:1px solid var(--border);flex-direction:column;width:min(90vw,23rem);height:100dvh;display:flex;position:absolute;top:0;right:0}@supports (color:color-mix(in lab, red, red)){.mobile-menu-panel{border-left:1px solid color-mix(in srgb, var(--border) 74%, transparent)}}.mobile-menu-panel{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-panel{background:color-mix(in srgb, var(--surface) 96%, transparent)}}.mobile-menu-panel{box-shadow:none;transition:transform var(--motion-base) var(--easing-standard)}.mobile-menu-panel__head{justify-content:space-between;align-items:center;gap:var(--space-lg);border-bottom:1px solid var(--border);display:flex}@supports (color:color-mix(in lab, red, red)){.mobile-menu-panel__head{border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent)}}.mobile-menu-panel__head{padding:calc(.95rem + env(safe-area-inset-top)) calc(1.15rem + env(safe-area-inset-right)) .95rem calc(1.15rem + env(safe-area-inset-left))}.mobile-menu-panel__title{font-size:var(--text-portfolio-caption);letter-spacing:.005em;color:var(--muted)}.mobile-menu-close{border:1px solid var(--border);border-radius:0;justify-content:center;align-items:center;width:2.45rem;height:2.45rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.mobile-menu-close{border:1px solid color-mix(in srgb, var(--border) 76%, transparent)}}.mobile-menu-close{color:var(--foreground);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-close{background:color-mix(in srgb, var(--surface) 85%, transparent)}}.mobile-menu-close{transition:border-color var(--motion-fast) var(--easing-standard), transform var(--motion-fast) var(--easing-standard)}@media (hover:hover) and (pointer:fine){.mobile-menu-close:hover{border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-close:hover{border-color:color-mix(in srgb, var(--rule) 55%, transparent)}}.mobile-menu-close:hover{transform:scale(1.03)}}.mobile-menu-panel__body{min-height:0;padding:1rem calc(1.15rem + env(safe-area-inset-right)) calc(1.4rem + env(safe-area-inset-bottom)) calc(1.15rem + env(safe-area-inset-left));flex-direction:column;flex:1;display:flex}.mobile-menu-panel__nav{flex-direction:column;flex:1;gap:.45rem;min-height:0;margin:-.3rem;padding:.3rem;display:flex;overflow-y:auto}.mobile-menu-link{border:1px solid var(--border);border-radius:0;align-items:center;min-height:2.8rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.mobile-menu-link{border:1px solid color-mix(in srgb, var(--border) 74%, transparent)}}.mobile-menu-link{font-size:var(--text-portfolio-small);font-weight:var(--weight-semibold);color:var(--muted-strong);transition:border-color var(--motion-fast) var(--easing-standard), background-color var(--motion-fast) var(--easing-standard), color var(--motion-fast) var(--easing-standard);padding:.6rem .9rem;text-decoration:none}@media (hover:hover) and (pointer:fine){.mobile-menu-link:hover{color:var(--foreground);border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-link:hover{border-color:color-mix(in srgb, var(--rule) 45%, transparent)}}.mobile-menu-link:hover{background:var(--surface-strong)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-link:hover{background:color-mix(in srgb, var(--surface-strong) 68%, transparent)}}}.mobile-menu-link.is-active{color:var(--foreground);border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-link.is-active{border-color:color-mix(in srgb, var(--rule) 60%, transparent)}}.mobile-menu-link.is-active{background:var(--rule)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-link.is-active{background:color-mix(in srgb, var(--rule) 16%, var(--surface))}}.mobile-menu-panel__footer{border-top:1px solid var(--border);margin-top:1.25rem}@supports (color:color-mix(in lab, red, red)){.mobile-menu-panel__footer{border-top:1px solid color-mix(in srgb, var(--border) 74%, transparent)}}.mobile-menu-panel__footer{padding-top:1rem}.page-section{scroll-margin-top:calc(var(--header-height) + env(safe-area-inset-top) + 1rem);padding-block:clamp(2.6rem,8vw,6.4rem)}.hero-section{padding-block:clamp(6.7rem,13vh,8.8rem) clamp(2.6rem,5vw,4.2rem)}.hero-actions{gap:.875rem}.section-heading{row-gap:.75rem;margin-bottom:1.9rem;padding-bottom:1.4rem}.section-title{letter-spacing:var(--tracking-heading);line-height:var(--text-portfolio-section-title--line-height)}.section-title--sub{font-size:clamp(var(--text-md), 2.6vw, var(--text-lg))}.page-title{color:var(--text-primary);font-size:var(--text-portfolio-hero-title);font-weight:var(--weight-bold);line-height:var(--text-portfolio-hero-title--line-height);letter-spacing:var(--tracking-heading);text-wrap:balance;margin:0}.section-description{font-size:var(--text-portfolio-body)}.card{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.card{border-color:color-mix(in srgb, var(--border) 72%, transparent)}}.card{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.card{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.card{transition:border-color var(--motion-fast) var(--easing-standard), box-shadow var(--motion-base) var(--easing-standard), transform var(--motion-fast) var(--easing-standard), background-color var(--motion-base) var(--easing-standard)}@media (hover:hover) and (pointer:fine){.card-hover:hover{box-shadow:none;transform:translateY(-5px)}}.chip{font-size:var(--text-portfolio-caption);line-height:var(--text-portfolio-caption--line-height);letter-spacing:.02em}.btn-primary,.btn-outline,.btn-ghost,.mobile-menu-trigger,.mobile-menu-close,.analytics-card__tabs button,.analytics-execute{isolation:isolate;min-height:2.8rem;font-size:var(--text-portfolio-button);line-height:var(--text-portfolio-button--line-height);letter-spacing:.01em;transition:transform var(--motion-fast) var(--easing-standard), border-color var(--motion-fast) var(--easing-standard), box-shadow var(--motion-fast) var(--easing-standard), background-color var(--motion-fast) var(--easing-standard), color var(--motion-fast) var(--easing-standard);position:relative;overflow:hidden}.btn-primary:before,.btn-outline:before,.btn-ghost:before,.mobile-menu-trigger:before,.mobile-menu-close:before,.analytics-card__tabs button:before,.analytics-execute:before{content:"";z-index:-1;background:var(--text-primary);border-radius:0;padding:1.5px;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.btn-primary:before,.btn-outline:before,.btn-ghost:before,.mobile-menu-trigger:before,.mobile-menu-close:before,.analytics-card__tabs button:before,.analytics-execute:before{background:color-mix(in srgb, var(--text-primary) 55%, transparent)}}.btn-primary:before,.btn-outline:before,.btn-ghost:before,.mobile-menu-trigger:before,.mobile-menu-close:before,.analytics-card__tabs button:before,.analytics-execute:before{opacity:.34;transition:opacity var(--motion-fast) var(--easing-standard);-webkit-mask-composite:xor;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask:none}.btn-primary:focus-visible:before,.btn-outline:focus-visible:before,.btn-ghost:focus-visible:before,.mobile-menu-trigger:focus-visible:before,.mobile-menu-close:focus-visible:before,.analytics-card__tabs button:focus-visible:before,.analytics-card__tabs button.is-active:before,.analytics-execute:focus-visible:before{background:var(--rule)}@supports (color:color-mix(in lab, red, red)){.btn-primary:focus-visible:before,.btn-outline:focus-visible:before,.btn-ghost:focus-visible:before,.mobile-menu-trigger:focus-visible:before,.mobile-menu-close:focus-visible:before,.analytics-card__tabs button:focus-visible:before,.analytics-card__tabs button.is-active:before,.analytics-execute:focus-visible:before{background:color-mix(in srgb, var(--rule) 64%, transparent)}}.btn-primary:focus-visible:before,.btn-outline:focus-visible:before,.btn-ghost:focus-visible:before,.mobile-menu-trigger:focus-visible:before,.mobile-menu-close:focus-visible:before,.analytics-card__tabs button:focus-visible:before,.analytics-card__tabs button.is-active:before,.analytics-execute:focus-visible:before{opacity:1}@media (hover:hover) and (pointer:fine){.btn-primary:hover:before,.btn-outline:hover:before,.btn-ghost:hover:before,.mobile-menu-trigger:hover:before,.mobile-menu-close:hover:before,.analytics-card__tabs button:hover:before,.analytics-execute:hover:before{background:var(--rule)}@supports (color:color-mix(in lab, red, red)){.btn-primary:hover:before,.btn-outline:hover:before,.btn-ghost:hover:before,.mobile-menu-trigger:hover:before,.mobile-menu-close:hover:before,.analytics-card__tabs button:hover:before,.analytics-execute:hover:before{background:color-mix(in srgb, var(--rule) 64%, transparent)}}.btn-primary:hover:before,.btn-outline:hover:before,.btn-ghost:hover:before,.mobile-menu-trigger:hover:before,.mobile-menu-close:hover:before,.analytics-card__tabs button:hover:before,.analytics-execute:hover:before{opacity:1}.btn-primary:hover,.btn-outline:hover,.btn-ghost:hover,.mobile-menu-trigger:hover,.mobile-menu-close:hover,.analytics-execute:hover{box-shadow:none}}.site-footer{border-top:1px solid var(--border);position:relative}@supports (color:color-mix(in lab, red, red)){.site-footer{border-top:1px solid color-mix(in srgb, var(--border) 72%, transparent)}}.site-footer{background:var(--surface-muted);padding-block:clamp(2.4rem,5vw,3.4rem)}@supports (color:color-mix(in lab, red, red)){.site-footer{background:color-mix(in srgb, var(--surface-muted) 45%, transparent)}}.site-footer__inner{gap:1.5rem;display:grid}.site-footer__content{gap:.38rem;display:grid}.site-footer__title{color:var(--text-primary);font-size:var(--text-portfolio-card-title);font-weight:var(--weight-semibold);line-height:var(--text-portfolio-card-title--line-height);letter-spacing:-.01em;margin-bottom:.25rem}.site-footer__actions{flex-wrap:wrap;align-items:center;gap:0 1.5rem;display:flex}.site-footer__link{min-height:2.75rem;color:var(--text-secondary);font-size:var(--text-portfolio-small);font-weight:var(--weight-medium);text-underline-offset:.3em;transition:color var(--motion-fast) var(--easing-standard), text-decoration-color var(--motion-fast) var(--easing-standard);align-items:center;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.site-footer__link:focus-visible{color:var(--text-primary);-webkit-text-decoration-color:var(--rule);-webkit-text-decoration-color:var(--rule);-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.site-footer__link:focus-visible{-webkit-text-decoration-color:color-mix(in srgb, var(--rule) 55%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--rule) 55%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--rule) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--rule) 55%, transparent)}}@media (hover:hover) and (pointer:fine){.site-footer__link:hover{color:var(--text-primary);-webkit-text-decoration-color:var(--rule);-webkit-text-decoration-color:var(--rule);-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.site-footer__link:hover{-webkit-text-decoration-color:color-mix(in srgb, var(--rule) 55%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--rule) 55%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--rule) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--rule) 55%, transparent)}}}.site-footer__bar{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.site-footer__bar{border-top:1px solid color-mix(in srgb, var(--border-subtle) 76%, transparent)}}.site-footer__bar{padding-top:1rem}.site-footer__nav{flex-wrap:wrap;gap:0 1.25rem;display:flex}.site-footer__nav a{min-height:2.75rem;color:var(--text-tertiary);font-size:var(--text-portfolio-caption);transition:color var(--motion-fast) var(--easing-standard);align-items:center;text-decoration:none;display:inline-flex}.site-footer__nav a:focus-visible{color:var(--foreground)}@media (hover:hover) and (pointer:fine){.site-footer__nav a:hover{color:var(--foreground)}}.site-footer__bar .motion-preference-toggle{min-height:2.75rem;font-size:var(--text-portfolio-caption)}.mobile-menu-link--primary{border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-link--primary{border-color:color-mix(in srgb, var(--rule) 62%, transparent)}}.mobile-menu-link--primary{background:var(--rule);color:var(--text-primary)}@media (min-width:768px){.site-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.1rem 2rem;display:flex}.site-footer__content{flex:22rem;min-width:0}.site-footer__actions{justify-content:flex-end}.site-footer__bar{flex:1 0 100%}}@media (max-width:767.98px){:root{--header-height:clamp(70px, 4rem, 96px)}.site-header{width:100%;min-width:0;max-width:100vw;padding-top:env(safe-area-inset-top);border-bottom-color:var(--border);overflow-x:clip}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom-color:color-mix(in srgb, var(--border) 62%, transparent)}}.site-header{background:var(--bg-secondary);-webkit-backdrop-filter:none;box-shadow:none}.site-header__inner{width:100%;min-width:0;max-width:100%;height:var(--header-height);padding-inline:max(var(--layout-padding), env(safe-area-inset-left)) max(var(--layout-padding), env(safe-area-inset-right));gap:.75rem}.site-logo{flex:0 auto;gap:.5rem;min-width:0;max-width:calc(100% - 56px);margin-inline-start:-.5rem;padding:.375rem .5rem}.site-logo__dot{flex:none;width:8px;height:8px}.site-logo__text{letter-spacing:.005em;overflow-wrap:anywhere;white-space:normal;min-width:0;line-height:1.15}.site-footer,.site-footer__inner,.site-footer__content,.site-footer__nav,.site-footer__actions,.site-footer__bar{min-width:0;max-width:100%}.site-footer__inner,.site-footer__content{grid-template-columns:minmax(0,1fr)}.site-footer__content>*,.site-footer__nav>*,.site-footer__actions>*{overflow-wrap:anywhere;min-width:0}.mobile-menu-trigger,.mobile-menu-close{flex:0 0 44px;width:44px;height:44px;min-height:44px}.mobile-menu-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#06070ac7}.mobile-menu-panel{background:var(--surface)}.mobile-menu-link{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-link{border-color:color-mix(in srgb, var(--border) 56%, transparent)}}.mobile-menu-link{background:0 0}.mobile-menu-link--primary{background:var(--rule);color:var(--background);border-color:#0000}.mobile-nojs-menu{position:relative}.mobile-nojs-menu summary{border:1px solid var(--border);cursor:pointer;min-width:44px;min-height:44px;color:var(--foreground);font-size:var(--text-portfolio-caption);font-weight:var(--weight-bold);border-radius:0;justify-content:center;align-items:center;padding-inline:.625rem;list-style:none;display:inline-flex}.mobile-nojs-menu summary::-webkit-details-marker{display:none}.mobile-nojs-menu nav{inset:calc(var(--header-height) + env(safe-area-inset-top)) 0 auto;max-height:calc(100dvh - var(--header-height) - env(safe-area-inset-top));border-bottom:1px solid var(--border);background:var(--surface);padding:.75rem max(var(--layout-padding), env(safe-area-inset-right)) max(var(--layout-padding), env(safe-area-inset-bottom)) max(var(--layout-padding), env(safe-area-inset-left));gap:.25rem;display:grid;position:fixed;overflow-y:auto}.mobile-nojs-menu nav a{min-height:44px;color:var(--foreground);align-items:center;padding-inline:.75rem;text-decoration:none;display:flex}.hero-actions :where(.btn-primary,.btn-outline,.btn-ghost){width:100%}}@media (prefers-reduced-motion:reduce){.site-nav__link,.site-logo,.mobile-menu-trigger,.mobile-menu-link,.card,.btn-primary,.btn-outline,.btn-ghost{transition-duration:1ms!important}}body{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1,h2,h3,h4,h5,h6,.section-title,.site-nav__link,.btn-primary,.btn-outline,.btn-ghost{font-family:inherit}.home-shell,.hire-page{--editorial-cyan:var(--rule);--editorial-amber:var(--rule);--editorial-violet:var(--rule)}.home-hero{isolation:isolate;position:relative;overflow:visible}@keyframes hero-fade-in{0%{opacity:.55;transform:translateY(10px)}}.premium-hero__actions{justify-content:center;max-width:34rem}.home-section{position:relative}.home-section:before{background:var(--rule)}@supports (color:color-mix(in lab, red, red)){.home-section:before{background:color-mix(in srgb, var(--rule) 18%, transparent)}}.home-competencies{gap:clamp(1.25rem,3vw,2rem);display:grid}.home-skill-evidence__list{grid-template-columns:minmax(0,1fr);gap:clamp(.9rem,2vw,1.35rem);margin:0;display:grid}@media (min-width:768px){.home-skill-evidence__list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.home-skill-evidence__list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:2560px){.home-skill-evidence__list{grid-template-columns:repeat(4,minmax(0,1fr))}}.home-skill-evidence__item{border-top:1px solid var(--border-subtle);min-width:0}@supports (color:color-mix(in lab, red, red)){.home-skill-evidence__item{border-top:1px solid color-mix(in srgb, var(--border-subtle) 70%, transparent)}}.home-skill-evidence__item{padding-top:.8rem}.home-skill-evidence__term{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0 0 .35rem;display:flex}.home-skill-evidence__name{color:var(--text-primary);font-size:var(--text-portfolio-small);line-height:var(--text-portfolio-small--line-height);font-weight:var(--weight-bold)}.home-skill-evidence__level{color:var(--text-tertiary);font-size:var(--text-portfolio-caption);line-height:var(--text-portfolio-caption--line-height);font-weight:var(--weight-semibold)}.home-skill-evidence__body{margin:0}.home-skill-evidence__summary{max-width:46ch;color:var(--text-secondary);font-size:var(--text-portfolio-caption);line-height:var(--text-portfolio-caption--line-height);margin:0 0 .4rem}.home-skill-evidence__sources{color:var(--text-secondary);font-size:var(--text-portfolio-caption);line-height:var(--text-portfolio-caption--line-height);margin:0}.home-skill-evidence__sources-label{color:var(--text-tertiary);margin-right:.35rem}.home-skill-evidence__link{color:var(--rule);text-underline-offset:.18em;text-decoration:underline}@media (hover:hover) and (pointer:fine){.home-skill-evidence__link:hover{color:var(--text-primary)}}.home-competencies__cta{justify-content:center;display:flex}.hire-type h3,.hire-step h3{color:var(--text-primary);font-size:var(--text-portfolio-card-title);font-weight:var(--weight-bold);line-height:var(--text-portfolio-card-title--line-height);margin:0}.hire-type p,.hire-step p,.hire-hero p,.hire-final p{color:var(--text-secondary);font-size:var(--text-portfolio-card-desc);line-height:var(--text-portfolio-card-desc--line-height);margin:0}@keyframes recifePulse{0%{opacity:.82;transform:scale(.74)}70%,to{opacity:0;transform:scale(1.35)}}.hire-type span,.hire-step span{color:var(--text-tertiary);font-size:var(--text-portfolio-caption);font-weight:var(--weight-bold);letter-spacing:.02em;font-variant-numeric:tabular-nums;line-height:1.2}.home-evidence{gap:clamp(1rem,3vw,1.6rem);display:grid}.home-contact-panel,.hire-final{gap:1rem;padding:clamp(1.35rem,4vw,2.4rem);display:grid;position:relative;overflow:hidden}.home-contact-panel p,.hire-final p{max-width:62ch;color:var(--text-secondary);line-height:1.7}.hire-brief>div>p:not(.eyebrow){color:var(--text-secondary);margin:0;line-height:1.7}@media (max-width:1023.98px){.hire-type-grid,.hire-flow__steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767.98px){.hire-type-grid,.hire-flow__steps{grid-template-columns:minmax(0,1fr)}}:root{--surface-elevated:var(--surface)}@supports (color:color-mix(in lab, red, red)){:root{--surface-elevated:color-mix(in srgb, var(--surface) 92%, transparent)}}:root{--surface-control:var(--bg-primary)}@supports (color:color-mix(in lab, red, red)){:root{--surface-control:color-mix(in srgb, var(--bg-primary) 58%, transparent)}}:root{--border-muted:var(--border-subtle)}@supports (color:color-mix(in lab, red, red)){:root{--border-muted:color-mix(in srgb, var(--border-subtle) 64%, transparent)}}:root{--focus-ring:none;--focus-ring-inset:none;--shadow-premium:none}.home-contact-panel,.hire-final,.about-card,.experience-role,.experience-cta,.experience-evolution__item{border:1px solid var(--card-border);background:var(--surface-card);border-radius:0}.home-selected-project{border-radius:0}.page-shell{padding-top:calc(var(--header-height) + 2.2rem);grid-template-columns:minmax(0,1fr)}:where(h1,h2,h3,h4,p,dd,dt,figcaption){overflow-wrap:anywhere}.site-nav__link:focus-visible,.mobile-menu-link:focus-visible,.mobile-menu-trigger:focus-visible,.mobile-menu-close:focus-visible,.btn-primary:focus-visible,.btn-outline:focus-visible,.btn-ghost:focus-visible,.certificate-card__link:focus-visible,.services-pillar__cta:focus-visible{box-shadow:none;outline:none}.site-nav__link.is-active,.mobile-menu-link.is-active{border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.site-nav__link.is-active,.mobile-menu-link.is-active{border-color:color-mix(in srgb, var(--rule) 44%, transparent)}}.site-nav__link.is-active,.mobile-menu-link.is-active{color:var(--foreground);background:var(--surface-strong)}@supports (color:color-mix(in lab, red, red)){.site-nav__link.is-active,.mobile-menu-link.is-active{background:color-mix(in srgb, var(--surface-strong) 72%, transparent)}}.home-shell.page-shell{padding-top:calc(var(--header-height) + .85rem)}.home-shell .hero-section{--hero-pad-end:clamp(2.25rem, 3rem, 4rem);min-height:calc(100svh - var(--header-height) - 1rem);padding-block:clamp(1.75rem, 2.5rem, 3.25rem) var(--hero-pad-end);align-items:center;display:grid}@media (min-width:768px) and (max-width:1023.98px){.home-shell .hero-section{--hero-pad-end:1rem;min-height:auto;padding-block:1rem var(--hero-pad-end)}}@media (orientation:landscape) and (max-height:499.98px){:root{--header-height:clamp(46px, calc(14.5dvh - 1px), 55px)}.home-shell .hero-section{min-height:auto}}.services-pillar__problem-label{color:var(--text-secondary);font-size:var(--text-portfolio-caption);font-weight:var(--weight-bold);letter-spacing:.005em;line-height:1.2}@media (max-width:1023.98px){.about-card-grid--three,.about-split,.certificates-controls{grid-template-columns:1fr}.certificates-section__head{flex-direction:column;align-items:start}}@media (max-width:767.98px){:root{--section-y:clamp(42px, 12vw, 64px)}.page-shell,.home-shell.page-shell,.hire-page{padding-top:calc(var(--header-height) + 1rem)}.home-shell .hero-section{--hero-pad-end:1rem;min-height:auto;padding-block:.75rem var(--hero-pad-end)}.eyebrow,.section-title,.section-description,.hire-hero h1,.hire-hero>p,.hire-type p,.hire-step p,.hire-brief__list p{overflow-wrap:break-word;max-width:100%}.scroll-progress{top:calc(var(--header-height) + env(safe-area-inset-top) - 1px);background:0 0;height:1px}.scroll-progress span{box-shadow:none}.page-section{scroll-margin-top:calc(var(--header-height) + env(safe-area-inset-top) + 12px)}.about-hero__actions,.about-final,.services-pillar__tools{flex-direction:column;align-items:stretch}.about-hero__actions>*,.about-final>.btn-primary,.services-pillar__cta,.certificates-count{width:100%;max-width:100%}}.scroll-progress{z-index:80;pointer-events:none;background:var(--border);max-width:100vw;height:3px;position:fixed;inset:0 0 auto;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.scroll-progress{background:color-mix(in srgb, var(--border) 42%, transparent)}}.scroll-progress span{transform-origin:0;background:var(--rule);width:100%;height:100%;box-shadow:none;display:block;transform:scaleX(0)}.motion-preference-toggle.is-active{border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.motion-preference-toggle.is-active{border-color:color-mix(in srgb, var(--rule) 58%, transparent)}}.motion-preference-toggle.is-active{background:var(--rule)}@supports (color:color-mix(in lab, red, red)){.motion-preference-toggle.is-active{background:color-mix(in srgb, var(--rule) 14%, var(--surface))}}.motion-preference-toggle.is-active{color:var(--foreground);transform:translateY(-1px)}.executive-dashboard{isolation:isolate}.stack-badge-list{flex-wrap:wrap;align-items:center;gap:.42rem;display:flex}.stack-badge{border:1px solid var(--border-subtle);grid-template-columns:auto minmax(0,auto);align-items:center;gap:.04rem .4rem;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.stack-badge{border:1px solid color-mix(in srgb, var(--border-subtle) 72%, transparent)}}.stack-badge{background:var(--surface-muted);border-radius:0;padding:.28rem .58rem}@supports (color:color-mix(in lab, red, red)){.stack-badge{background:color-mix(in srgb, var(--surface-muted) 76%, transparent)}}.stack-badge{color:var(--text-primary);font-size:var(--text-portfolio-caption);line-height:1.1}.stack-badge>span{background:var(--rule);border-radius:0;grid-row:span 2;width:.48rem;height:.48rem}.stack-badge strong,.stack-badge em{min-width:0;font-style:normal}.stack-badge strong{font-weight:var(--weight-bold)}.stack-badge em{color:var(--text-tertiary);font-size:var(--text-portfolio-micro)}.stack-badge[data-stack-category=bi]>span{background:var(--positive)}.stack-badge[data-stack-category=database]>span,.stack-badge[data-stack-category=ai]>span,.stack-badge[data-stack-category=automation]>span,.stack-badge[data-stack-category=deploy]>span{background:var(--bg-primary)}.analytics-lab__grid,.before-after__grid,.project-architecture__grid,.project-architecture__flow{min-width:0}.analytics-card h3,.before-after__columns span,.project-architecture__flow span{color:var(--text-tertiary);font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:var(--text-portfolio-caption);font-weight:var(--weight-bold);letter-spacing:.005em}.before-after__columns span{color:var(--text-secondary)}.international-experience__summary span{color:var(--text-primary)}.project-architecture__header p{color:var(--text-secondary);font-size:var(--text-portfolio-small);line-height:var(--text-portfolio-small--line-height);margin:0}.case-study,.analytics-lab,.before-after{scroll-margin-top:calc(var(--header-height) + 3rem)}.analytics-card__tabs button.is-active{border-color:var(--rule)}@supports (color:color-mix(in lab, red, red)){.analytics-card__tabs button.is-active{border-color:color-mix(in srgb, var(--rule) 62%, transparent)}}.analytics-card__tabs button.is-active{background:var(--rule)}@supports (color:color-mix(in lab, red, red)){.analytics-card__tabs button.is-active{background:color-mix(in srgb, var(--rule) 13%, transparent)}}.analytics-card__tabs button.is-active{color:var(--text-primary)}.analytics-card,.before-after__item,.project-architecture__grid article,.project-architecture__flow article{border:1px solid var(--border-subtle)}@supports (color:color-mix(in lab, red, red)){.analytics-card,.before-after__item,.project-architecture__grid article,.project-architecture__flow article{border:1px solid color-mix(in srgb, var(--border-subtle) 72%, transparent)}}.analytics-card,.before-after__item,.project-architecture__grid article,.project-architecture__flow article{background:var(--surface-muted);border-radius:0}@supports (color:color-mix(in lab, red, red)){.analytics-card,.before-after__item,.project-architecture__grid article,.project-architecture__flow article{background:color-mix(in srgb, var(--surface-muted) 76%, transparent)}}.before-after__item h3,.project-architecture__header h3,.project-architecture__grid h4,.project-architecture__flow h4{color:var(--text-primary);font-size:var(--text-portfolio-h4);line-height:var(--text-portfolio-h4--line-height);letter-spacing:0;margin:0}.before-after__columns div{background:var(--bg-layer);border-radius:0;gap:.5rem;padding:.85rem;display:grid}@supports (color:color-mix(in lab, red, red)){.before-after__columns div{background:color-mix(in srgb, var(--bg-layer) 68%, transparent)}}.before-after__columns ul,.project-architecture__grid ul{color:var(--text-secondary);font-size:var(--text-portfolio-small);line-height:var(--text-portfolio-small--line-height);gap:.42rem;margin:0;padding-left:1.1rem;display:grid}.analytics-workspace-tabs button.is-active{background:var(--rule)}@supports (color:color-mix(in lab, red, red)){.analytics-workspace-tabs button.is-active{background:color-mix(in srgb, var(--rule) 14%, transparent)}}.analytics-workspace-tabs button.is-active{color:var(--text-primary)}.before-after__grid{grid-template-columns:repeat(auto-fill,minmax(min(20rem,100%),1fr));gap:.9rem;display:grid}.before-after:not(.before-after--compact) .before-after__grid{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--editorial-cyan) transparent;display:flex;overflow-x:auto}@supports (color:color-mix(in lab, red, red)){.before-after:not(.before-after--compact) .before-after__grid{scrollbar-color:color-mix(in srgb, var(--editorial-cyan) 35%, transparent) transparent}}.before-after:not(.before-after--compact) .before-after__grid{padding-bottom:.75rem}.before-after:not(.before-after--compact) .before-after__item{scroll-snap-align:start;flex:0 0 min(82vw,23rem)}.before-after--compact{margin-block:clamp(1.2rem,3vw,2rem)}.before-after__item{gap:.8rem;padding:1rem;display:grid}.before-after__columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.before-after__columns div:first-child{border:1px solid var(--rule)}@supports (color:color-mix(in lab, red, red)){.before-after__columns div:first-child{border:1px solid color-mix(in srgb, var(--rule) 24%, transparent)}}.before-after__columns div:last-child{border:1px solid var(--positive)}@supports (color:color-mix(in lab, red, red)){.before-after__columns div:last-child{border:1px solid color-mix(in srgb, var(--positive) 24%, transparent)}}html.motion-reduced *,html.motion-reduced :before,html.motion-reduced :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (max-width:1023.98px){.project-architecture__header{grid-template-columns:1fr}.project-architecture__flow,.project-architecture__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767.98px){.before-after__columns,.project-architecture__flow,.project-architecture__grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.analytics-card,.analytics-card:focus-within{transform:none}@media (hover:hover) and (pointer:fine){.analytics-card:hover{transform:none}}}@media (max-width:767.98px){.home-section,.page-section{min-width:0}.home-section,.section-heading,.stack-heading,.section-heading__text{grid-template-columns:minmax(0,1fr)}.home-section>*,.section-heading,.stack-heading,.section-heading__text{min-width:0;max-width:100%}.section-heading,.stack-heading,.analytics-card{max-width:100%}.premium-hero__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;margin-top:.2rem;display:grid}.premium-hero__actions :where(.btn-primary,.btn-outline){width:100%;min-height:54px;font-size:var(--text-xs);-webkit-backdrop-filter:none;box-shadow:none;border-width:1px;padding:.65rem .75rem}}@media (max-width:479.98px){.premium-hero__actions{grid-template-columns:1fr}}.international-experience{scroll-margin-top:calc(var(--header-height) + 2rem);position:relative}.international-experience__compact-grid{grid-template-columns:minmax(min(18rem,100%),.88fr) minmax(0,1.12fr);align-items:start;gap:clamp(1.25rem,3.5vw,3rem);display:grid}.international-experience__compact-copy{--intl-block-gap:clamp(.75rem, 1.6vw, 1rem);justify-items:start;gap:var(--space-sm);min-width:0;display:grid}.international-experience__compact-copy .section-title{max-width:26ch;font-size:clamp(var(--text-lg), 1.25rem + 1.4vw, var(--text-xl))}.international-experience__compact-description{max-width:var(--container-prose);margin:calc(var(--intl-block-gap) - var(--space-sm)) 0 0;color:var(--text-secondary);font-size:var(--text-portfolio-small);line-height:var(--text-portfolio-small--line-height)}.international-experience__compact-copy .btn-outline{min-height:3rem;margin-top:calc(var(--intl-block-gap) - var(--space-sm));padding-inline:1rem}.international-experience__grid{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;gap:clamp(1.4rem,4vw,3.4rem);display:grid}.international-experience__copy{gap:clamp(.9rem,2vw,1.25rem);min-width:0;display:grid}.international-experience__copy .section-title{max-width:22ch}.international-experience__subtitle{max-width:var(--measure);color:var(--text-primary);font-size:clamp(var(--text-sm), .98rem + .22vw, var(--text-md));font-weight:var(--weight-bold);margin:0;line-height:1.55}.international-experience__body{gap:.78rem;max-width:44rem;display:grid}.international-experience__body p,.international-experience__photo figcaption p{color:var(--text-secondary);font-size:var(--text-portfolio-small);line-height:var(--text-portfolio-small--line-height);margin:0}.international-experience__tags{flex-wrap:wrap;gap:.5rem;max-width:44rem;margin:0;padding:0;list-style:none;display:flex}.international-experience__tags li{border:1px solid var(--rule)}@supports (color:color-mix(in lab, red, red)){.international-experience__tags li{border:1px solid color-mix(in srgb, var(--rule) 34%, transparent)}}.international-experience__tags li{background:var(--bg-primary);border-radius:0}@supports (color:color-mix(in lab, red, red)){.international-experience__tags li{background:color-mix(in srgb, var(--bg-primary) 42%, transparent)}}.international-experience__tags li{color:var(--text-secondary);font-size:var(--text-portfolio-caption);font-weight:var(--weight-bold);padding:.34rem .62rem;line-height:1.2}.international-experience__summary{border:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:42rem;display:grid}@supports (color:color-mix(in lab, red, red)){.international-experience__summary{border:1px solid color-mix(in srgb, var(--rule) 30%, var(--glass-border))}}.international-experience__summary{background:var(--surface-muted);border-radius:0}@supports (color:color-mix(in lab, red, red)){.international-experience__summary{background:color-mix(in srgb, var(--surface-muted) 72%, transparent)}}.international-experience__summary{padding:0;overflow:hidden}.international-experience__summary div{align-content:start;gap:.32rem;min-width:0;padding:clamp(.75rem,1.5vw,.95rem);display:grid}.international-experience__summary div+div{border-left:1px solid var(--border-subtle)}@supports (color:color-mix(in lab, red, red)){.international-experience__summary div+div{border-left:1px solid color-mix(in srgb, var(--border-subtle) 72%, transparent)}}.international-experience__summary dt,.international-experience__photo figcaption span{color:var(--text-tertiary);font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:var(--text-portfolio-caption);font-weight:var(--weight-bold);letter-spacing:.005em;line-height:1.25}.international-experience__summary dt{color:var(--text-primary)}.international-experience__summary dd{color:var(--text-primary);font-size:var(--text-portfolio-small);font-weight:var(--weight-bold);overflow-wrap:anywhere;margin:0;line-height:1.45}.international-experience__strip{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.international-experience__photo--lead{grid-column:1/-1}.international-experience__link{justify-self:start;min-height:3rem;padding-inline:1rem}.international-experience__photo{border:1px solid var(--border-subtle);gap:.72rem;min-width:0;margin:0;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.international-experience__photo{border:1px solid color-mix(in srgb, var(--border-subtle) 78%, transparent)}}.international-experience__photo{background:var(--surface);border-radius:0}@supports (color:color-mix(in lab, red, red)){.international-experience__photo{background:color-mix(in srgb, var(--surface) 88%, transparent)}}.international-experience__photo{box-shadow:none}.international-experience__photo--preview{box-shadow:none;gap:0}.international-experience__photo--preview figcaption{padding:.62rem .78rem .72rem}.international-experience__media{aspect-ratio:4/5;background:var(--bg-primary);min-height:0;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.international-experience__media{background:color-mix(in srgb, var(--bg-primary) 62%, transparent)}}.international-experience__image{object-fit:cover;transition:transform .42s cubic-bezier(.22,1,.36,1)}.international-experience__photo:focus-within .international-experience__image{transform:scale(1.035)}@media (hover:hover) and (pointer:fine){.international-experience__photo:hover .international-experience__image{transform:scale(1.035)}}.international-experience__photo figcaption{gap:.42rem;padding:0 .85rem .9rem;display:grid}@media (max-width:1023.98px){.international-experience__compact-grid,.international-experience__grid{grid-template-columns:1fr}.international-experience__compact-copy .section-title{max-width:24ch}.international-experience__copy .section-title,.international-experience__subtitle,.international-experience__body,.international-experience__summary{max-width:none}}@media (max-width:767.98px){.international-experience__compact-grid{gap:1rem}.international-experience__compact-copy{--intl-block-gap:.7rem}.international-experience__compact-copy .section-title{max-width:100%;font-size:var(--text-lg)}.international-experience__compact-description{max-width:none}.international-experience__compact-copy .btn-outline{width:100%;min-height:3.25rem}.international-experience__summary{grid-template-columns:1fr}.international-experience__summary div+div{border-top:1px solid var(--border-subtle)}@supports (color:color-mix(in lab, red, red)){.international-experience__summary div+div{border-top:1px solid color-mix(in srgb, var(--border-subtle) 72%, transparent)}}.international-experience__summary div+div{border-left:0}.international-experience__media{aspect-ratio:4/3}.international-experience__copy .section-title{max-width:100%}}@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.international-experience__image,.international-experience__photo:focus-within .international-experience__image{transition-duration:1ms;transform:none}@media (hover:hover) and (pointer:fine){.international-experience__photo:hover .international-experience__image{transition-duration:1ms;transform:none}}}.reveal[data-reveal=pending] :is(.section-title,.section-description){opacity:0;transform:translateY(16px)}.reveal[data-reveal=shown] :is(.section-title,.section-description){transition:opacity var(--duration-reveal) var(--ease-creative) var(--reveal-delay,0s), transform var(--duration-reveal) var(--ease-creative) var(--reveal-delay,0s)}.reveal[data-reveal=shown] .section-description{transition-delay:calc(var(--reveal-delay,0s) + 60ms)}@media (prefers-reduced-motion:reduce){.reveal[data-reveal] :is(.section-title,.section-description){opacity:1;transition:none;transform:none}}html.motion-reduced .reveal[data-reveal] :is(.section-title,.section-description){opacity:1;transition:none;transform:none}.custom-cursor-enabled,.custom-cursor-enabled *{cursor:none}.custom-cursor-enabled :is(input:not([type=button],[type=submit],[type=reset],[type=checkbox],[type=radio],[type=range]),textarea,select,[contenteditable=""],[contenteditable=true]){cursor:text}.custom-cursor,.custom-cursor-ring{box-sizing:border-box;opacity:0;pointer-events:none;z-index:90;will-change:transform;position:fixed;top:0;left:0}.custom-cursor{background:var(--text-primary);width:6px;height:6px;transition:opacity var(--duration-micro) var(--ease-creative), scale var(--duration-micro) var(--ease-creative);border-radius:0;margin:-.1875rem 0 0 -.1875rem}.custom-cursor-ring{border:1px solid var(--rule);width:32px;height:32px}@supports (color:color-mix(in lab, red, red)){.custom-cursor-ring{border:1px solid color-mix(in srgb, var(--rule) 60%, transparent)}}.custom-cursor-ring{transition:width .36s var(--ease-creative), height .36s var(--ease-creative), border-radius .36s var(--ease-creative), border-color var(--duration-micro) var(--ease-creative), background-color var(--duration-micro) var(--ease-creative), opacity var(--duration-micro) var(--ease-creative), scale var(--duration-micro) var(--ease-creative);border-radius:0}.custom-cursor[data-visible=true],.custom-cursor-ring[data-visible=true]{opacity:1}.custom-cursor-ring[data-state=hover]{border-color:var(--rule);background:var(--rule);width:44px;height:44px}@supports (color:color-mix(in lab, red, red)){.custom-cursor-ring[data-state=hover]{background:color-mix(in srgb, var(--rule) 10%, transparent)}}.custom-cursor-ring[data-state=magnetic]{border-color:var(--rule)}.custom-cursor[data-state=magnetic]{scale:.5}.custom-cursor[data-state=text],.custom-cursor-ring[data-state=text]{opacity:0}.custom-cursor-ring[data-pressed=true]{scale:.9}.international-experience__copy>*{min-width:0}@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-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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
html[data-theme=light] body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary)}html[data-theme=light] :where(*){box-shadow:none;text-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0}html[data-theme=light] [data-hero-avatar]{border-radius:50%}html[data-theme=light] .home-hero [data-hero-links]>a{border-radius:10px}html[data-theme=light] .home-hero [data-hero-links]>.hero-social--whatsapp{text-shadow:0 1px 1px #00000047}html[data-theme=light] .home-hero [data-hero-links]>.hero-social--whatsapp svg{filter:drop-shadow(0 1px 1px #00000047)}html[data-theme=light] :focus-visible,html[data-theme=light] body :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--rule);outline-offset:3px}html[data-theme=light] :is(.btn-primary,.btn-outline,.btn-ghost,.analytics-execute,.home-selected-project__link,.certificate-card__link,.services-pillar__cta,.sql-lab-inline-button){color:var(--text-primary);border:1px solid var(--rule);min-height:44px;text-shadow:none;box-shadow:none;background:0 0}@media (hover:hover) and (pointer:fine){html[data-theme=light] :is(.btn-primary,.btn-outline,.btn-ghost,.analytics-execute,.home-selected-project__link,.certificate-card__link,.services-pillar__cta,.sql-lab-inline-button):hover{background:var(--rule-soft);color:var(--text-primary);border-color:var(--rule)}}html[data-theme=light] :is(.btn-primary,.btn-outline,.btn-ghost):before,html[data-theme=light] :is(.btn-primary,.btn-outline,.btn-ghost):after{content:none}html[data-theme=light] [data-primary-action]{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}@media (hover:hover) and (pointer:fine){html[data-theme=light] [data-primary-action]:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-on-accent)}}html[data-theme=light] .home-hero [data-hero-action=resume]{background:var(--hero-resume);color:var(--text-primary);border-color:var(--rule)}html[data-theme=light] .home-hero [data-hero-action=projects]{background:var(--action-secondary);color:var(--text-primary);border-color:var(--action-secondary);font-weight:var(--weight-bold)}@media (hover:hover) and (pointer:fine){html[data-theme=light] .home-hero [data-hero-action=resume]:hover{background:var(--hero-resume-hover);color:var(--text-primary);border-color:var(--rule)}html[data-theme=light] .home-hero [data-hero-action=projects]:hover{background:var(--action-secondary-hover);color:var(--text-primary);border-color:var(--action-secondary-hover)}}html[data-theme=light] #home-title:after{content:none}html[data-theme=light] .site-header{background:var(--bg-primary);border-bottom:1px solid var(--rule)}html[data-theme=light] :is(.scroll-progress,.video-bg,.video-bg__grain){display:none}html[data-theme=light] .physical-card{background:var(--bg-primary);border:1px solid var(--rule-soft);transform:none}@media (hover:hover) and (pointer:fine){html[data-theme=light] .physical-card:hover{background:var(--bg-primary);border:1px solid var(--rule-soft);transform:none}}html[data-theme=light] .physical-card:before,html[data-theme=light] .physical-card:after{content:none}.grid-ruled{border-top:1px solid var(--rule);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.grid-ruled>*{border-right:1px solid var(--rule-soft);min-width:0}html[data-theme=light] .custom-cursor{background:var(--text-primary);border:0;border-radius:0;width:6px;height:6px}html[data-theme=light] .custom-cursor-ring{width:24px;height:24px;color:var(--text-primary);transition:opacity .12s var(--ease-actuator);background:0 0;border:0;border-radius:0}.cursor-corner{border-color:var(--text-primary);border-style:solid;width:6px;height:6px;position:absolute}.cursor-corner:first-child{border-width:1px 0 0 1px;inset:0 auto auto 0}.cursor-corner:nth-child(2){border-width:1px 1px 0 0;inset:0 0 auto auto}.cursor-corner:nth-child(3){border-width:0 1px 1px 0;inset:auto 0 0 auto}.cursor-corner:nth-child(4){border-width:0 0 1px 1px;inset:auto auto 0 0}body:not(:has(.home-hero)) .cursor-reading{display:none}.cursor-reading{white-space:nowrap;font:var(--weight-medium) var(--text-xs)/1.5 var(--font-mono);background:var(--bg-primary);color:var(--text-primary);padding:2px .25rem;position:absolute;top:calc(100% + 6px);left:0}html[data-theme=light] .home-hero .hero-actions{justify-content:flex-start;margin-top:1.25rem}html[data-theme=light] .home-hero .hero-actions a{min-width:0}[data-room=dark]{--bg-primary:#111215;--bg-layer:#1b1c20;--text-primary:#f4f4f3;--text-secondary:#c9c9c7;--text-tertiary:#b6b6b4;--rule:#f4f4f3;--rule-soft:#f4f4f333;background:var(--bg-primary);color:var(--text-primary)}.terrain-room{border:1px solid var(--rule);margin-block:2rem;padding:1.5rem}.terrain-room h2{font-size:var(--text-portfolio-h3)}.terrain-room figure{max-width:720px;margin:0 auto}.terrain-room figcaption{font-size:var(--text-xs);color:var(--text-secondary);padding-top:.75rem}@media (max-width:767.98px){html[data-theme=light] .home-hero .hero-actions{flex-direction:column;align-items:stretch;gap:.5rem;margin-top:1rem;display:flex}html[data-theme=light] .home-hero .hero-actions a{width:100%}}@media (max-width:479.98px){html[data-theme=light] .home-hero .hero-actions{flex-direction:row}html[data-theme=light] .home-hero .hero-actions a{text-align:center;flex:1 1 0;width:auto;padding-inline:.75rem}}html[data-theme=light] .site-logo{color:var(--text-primary);gap:.75rem}@media (hover:hover) and (pointer:fine){html[data-theme=light] .site-logo:hover{color:var(--text-primary);background:0 0;transform:none}}.site-logo__mark{flex:none;overflow:visible}.site-logo__mark polyline{stroke-dasharray:64;stroke-dashoffset:0}.site-logo:focus-visible .site-logo__mark polyline{animation:.7s steps(14,end) logo-draw}@media (hover:hover) and (pointer:fine){.site-logo:hover .site-logo__mark polyline{animation:.7s steps(14,end) logo-draw}}html[data-theme=light] .site-logo__text{font-family:var(--font-display);font-stretch:125%;font-weight:var(--weight-display);font-size:var(--text-sm);letter-spacing:.01em;text-transform:uppercase}html[data-theme=light] .site-nav{background:0 0;border:0;gap:0;padding:0}html[data-theme=light] .site-nav__link{min-height:44px;font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text-primary);background:0 0;padding:0 .75rem}html[data-theme=light] .site-nav__link.is-active{color:var(--text-primary);background:0 0}@media (hover:hover) and (pointer:fine){html[data-theme=light] .site-nav__link:hover{color:var(--text-primary);background:0 0}}html[data-theme=light] .site-nav__link:after,html[data-theme=light] .site-nav__link.is-active:after{content:"";background:var(--text-primary);clip-path:inset(0 100% 0 0);height:2px;transition:clip-path .2s var(--ease-actuator);position:absolute;bottom:8px;left:12px;right:12px}@media (min-width:1024px){html[data-theme=light] .site-logo__text{white-space:nowrap}}@media (min-width:1024px) and (max-width:1439.98px){html[data-theme=light] .site-nav__link{padding:0 .5rem}html[data-theme=light] .site-nav__link:after{left:8px;right:8px}}html[data-theme=light] .site-nav__link:focus-visible:after,html[data-theme=light] .site-nav__link.is-active:after,html[data-theme=light] .site-nav__link[aria-current=page]:after{clip-path:inset(0)}@media (hover:hover) and (pointer:fine){html[data-theme=light] .site-nav__link:hover:after{clip-path:inset(0)}}html[data-theme=light] .site-nav__link--primary{border:2px solid var(--text-primary);min-height:40px;transition:background-color .12s var(--ease-actuator), color .12s var(--ease-actuator);background:0 0;margin-inline-start:.5rem;padding:0 1rem}html[data-theme=light] .site-nav__link--primary:after{content:none}html[data-theme=light] .site-nav__link--primary.is-active{background:var(--text-primary);color:var(--text-inverse)}@media (hover:hover) and (pointer:fine){html[data-theme=light] .site-nav__link--primary:hover{background:var(--text-primary);color:var(--text-inverse)}}html[data-theme=light] .site-nav-controls a{color:var(--text-primary);font-weight:var(--weight-bold)}html[data-theme=light] .site-nav-controls a[aria-current=page]{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}:is(.site-logo,.site-nav__link,.site-nav-controls){animation:.48s steps(6,end) backwards nav-rise}.site-logo{animation-delay:0s}.site-nav__link:first-child{animation-delay:80ms}.site-nav__link:nth-child(2){animation-delay:.14s}.site-nav__link:nth-child(3){animation-delay:.2s}.site-nav__link:nth-child(4){animation-delay:.26s}.site-nav__link:nth-child(5){animation-delay:.32s}.site-nav__link:nth-child(6){animation-delay:.38s}.site-nav-controls{animation-delay:.44s}@keyframes nav-rise{0%{clip-path:inset(0 0 100%);transform:translateY(8px)}to{clip-path:inset(0);transform:none}}@keyframes logo-draw{0%{stroke-dashoffset:64px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){:is(.site-logo,.site-nav__link,.site-nav-controls){animation:none}@media (hover:hover) and (pointer:fine){.site-logo:hover .site-logo__mark polyline{animation:none}}html[data-theme=light] .site-nav__link:after{transition:none}}html.motion-reduced :is(.site-logo,.site-nav__link,.site-nav-controls){animation:none}@media (hover:hover) and (pointer:fine){html.motion-reduced .site-logo:hover .site-logo__mark polyline{animation:none}}@media (pointer:coarse){html[data-theme=light] :is(.site-logo,.site-nav__link,.mobile-menu-panel a){min-height:44px}html[data-theme=light] :is(.mobile-menu-trigger,.mobile-menu-close){min-width:44px;min-height:44px}html[data-theme=light] a[hreflang]{justify-content:center;min-width:44px;min-height:44px}}
