@charset "UTF-8";@tailwind base;@tailwind components;@tailwind utilities;body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*
! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }:root{--accent-mute:oklch(0.72 0.14 62/0.12);--text-2:oklch(0.65 0.008 62);--text-3:oklch(0.42 0.006 62)}.portfolio{background:oklch(.12 .01 62);background:var(--bg);color:oklch(.94 .008 62);color:var(--text);font-family:Bricolage Grotesque,system-ui,sans-serif;font-family:var(--font);line-height:1.6}.fade-in-section{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.fade-in-section.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.fade-in-section{opacity:1;transform:none;transition:none}}.nav{align-items:center;border-bottom:1px solid #0000;display:flex;gap:2.5rem;left:0;padding:1.25rem 3rem;position:fixed;right:0;top:0;transition:border-color .3s ease,background .3s ease;z-index:100}.nav.scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:oklch(.12 .01 62/.94);border-bottom-color:oklch(.72 .14 62/.3)}.nav-logo{color:oklch(.72 .14 62);color:var(--accent);font-size:1.1rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.nav-links{display:flex;flex:1 1;gap:2rem;justify-content:center}.nav-links button{background:none;border:none;color:oklch(.65 .008 62);color:var(--text-2);cursor:pointer;font-family:Bricolage Grotesque,system-ui,sans-serif;font-family:var(--font);font-size:.875rem;font-weight:500;letter-spacing:.01em;padding:0;transition:color .2s}.nav-links button:hover{color:oklch(.94 .008 62);color:var(--text)}.nav-controls{align-items:center;display:flex;gap:.75rem}.lang-toggle{background:none;border:1px solid oklch(.24 .01 62);border:1px solid var(--border);color:oklch(.65 .008 62);color:var(--text-2);cursor:pointer;font-family:Bricolage Grotesque,system-ui,sans-serif;font-family:var(--font);font-size:.8rem;font-weight:600;letter-spacing:.06em;padding:.4rem .75rem;transition:color .2s,border-color .2s}.lang-toggle:hover{border-color:oklch(.72 .14 62);border-color:var(--accent);color:oklch(.72 .14 62);color:var(--accent)}.hero{align-items:center;background:oklch(.12 .01 62);background:var(--bg);display:flex;min-height:100vh;overflow:hidden;padding:7rem 3rem 5rem;position:relative}.hero:after{background:radial-gradient(ellipse 70% 60% at 20% 80%,oklch(.72 .14 62/.07) 0,#0000 65%);content:"";inset:0;pointer-events:none;position:absolute}.hero-content{margin:0 auto;max-width:1280px;position:relative;width:100%;z-index:1}.hero-kicker{align-items:center;animation:hero-fade-up .6s cubic-bezier(.16,1,.3,1) 0s both;color:oklch(.72 .14 62);color:var(--accent);display:inline-flex;font-size:.8rem;font-weight:600;gap:.5rem;letter-spacing:.1em;margin-bottom:1.5rem;text-transform:uppercase}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero-kicker{animation:none}}.kicker-dot{animation:blink 2s ease-in-out infinite;background:oklch(.72 .14 62);background:var(--accent);border-radius:50%;height:7px;width:7px}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.kicker-dot{animation:none}}.hero-wordmark{font-size:clamp(5.5rem,13.5vw,13rem);font-weight:800;letter-spacing:-.04em;line-height:.88;margin-bottom:2rem}.wm-studio{animation:hero-reveal .9s cubic-bezier(.16,1,.3,1) .05s both;color:oklch(.65 .008 62);color:var(--text-2);display:block;font-weight:300}.wm-caballero{animation:hero-reveal 1s cubic-bezier(.16,1,.3,1) .2s both;color:oklch(.94 .008 62);color:var(--text);display:block;font-weight:800}@keyframes hero-reveal{0%{-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0);opacity:0;transform:translateY(40px)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.wm-caballero,.wm-studio{animation:none}}.hero-sub-row{align-items:baseline;animation:hero-fade-up .6s cubic-bezier(.16,1,.3,1) .45s both;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2.5rem}@media (prefers-reduced-motion:reduce){.hero-sub-row{animation:none}}.hero-byline{color:oklch(.65 .008 62);color:var(--text-2);font-size:clamp(1rem,1.6vw,1.125rem);font-weight:400;text-decoration:none;transition:color .15s}.hero-byline:hover{color:oklch(.72 .14 62);color:var(--accent)}.hero-byline:after{color:oklch(.24 .01 62);color:var(--border);content:"·";margin-left:1.5rem}.hero-typed-line{font-size:clamp(1rem,1.6vw,1.125rem);font-weight:500;min-height:1.6rem}.hero-typed-line,.hero-typed-line .typed-cursor{color:oklch(.72 .14 62);color:var(--accent)}.hero-cta{animation:hero-fade-up .6s cubic-bezier(.16,1,.3,1) .6s both;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}@media (prefers-reduced-motion:reduce){.hero-cta{animation:none}}.btn-primary{align-items:center;background:oklch(.72 .14 62);background:var(--accent);border:none;color:oklch(.12 .01 62);cursor:pointer;display:inline-flex;font-family:Bricolage Grotesque,system-ui,sans-serif;font-family:var(--font);font-size:.9375rem;font-weight:600;gap:.5rem;padding:.875rem 1.75rem;text-decoration:none;transition:background .2s}.btn-primary:hover{background:oklch(.78 .13 62)}.btn-secondary{align-items:center;background:none;border:1px solid oklch(.24 .01 62);border:1px solid var(--border);color:oklch(.65 .008 62);color:var(--text-2);cursor:pointer;display:inline-flex;font-family:Bricolage Grotesque,system-ui,sans-serif;font-family:var(--font);font-size:.9375rem;font-weight:500;gap:.5rem;padding:.875rem 1.75rem;text-decoration:none;transition:color .2s,border-color .2s}.btn-secondary:hover{border-color:oklch(.42 .006 62);border-color:var(--text-3);color:oklch(.94 .008 62);color:var(--text)}.hero-social{display:flex;gap:1.25rem}.hero-social a{align-items:center;color:oklch(.42 .006 62);color:var(--text-3);display:flex;font-size:1.25rem;transition:color .2s}.hero-social a:hover{color:oklch(.72 .14 62);color:var(--accent)}.scroll-indicator{animation:nudge 2.5s ease-in-out infinite;bottom:2.5rem;color:oklch(.42 .006 62);color:var(--text-3);cursor:pointer;font-size:1.25rem;left:50%;position:absolute;transform:translateX(-50%)}@keyframes nudge{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}@media (prefers-reduced-motion:reduce){.scroll-indicator{animation:none}}.section{padding:7rem 3rem;position:relative}.section:nth-child(2n){background:oklch(.15 .012 62);background:var(--bg-alt)}.container{margin:0 auto;max-width:1100px}.section-title{color:oklch(.94 .008 62);color:var(--text);font-size:clamp(2rem,4vw,2.75rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.5rem}.section-rule{background:oklch(.72 .14 62);background:var(--accent);border:none;height:3px;margin-bottom:3.5rem;width:2.5rem}.about-content{grid-gap:5rem;align-items:start;display:grid;gap:5rem;grid-template-columns:1.1fr .9fr}.about-text p{color:oklch(.65 .008 62);color:var(--text-2);font-size:1.0625rem;line-height:1.8;margin-bottom:1.25rem;max-width:64ch}.about-stats{display:flex;flex-wrap:wrap;gap:2.5rem 3rem;margin-top:2.5rem}.stat-number{color:oklch(.72 .14 62);color:var(--accent);display:block;font-size:clamp(2.75rem,5vw,3.5rem);font-weight:800;letter-spacing:-.03em;line-height:1}.stat-label{color:oklch(.42 .006 62);color:var(--text-3);display:block;font-size:.75rem;font-weight:500;letter-spacing:.07em;margin-top:.25rem;text-transform:uppercase}.timeline-item{grid-gap:3rem;border-top:1px solid oklch(.24 .01 62);border-top:1px solid var(--border);display:grid;gap:3rem;grid-template-columns:180px 1fr;padding:2.5rem 0}.timeline-item:last-child{border-bottom:1px solid oklch(.24 .01 62);border-bottom:1px solid var(--border)}.timeline-date{color:oklch(.72 .14 62);color:var(--accent);font-size:.8125rem;font-weight:500;letter-spacing:.03em;line-height:1.4;padding-top:.2rem}.timeline-content h3{color:oklch(.94 .008 62);color:var(--text);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem}.timeline-content h4{font-weight:500;margin-bottom:1rem}.timeline-content h4,.timeline-content p{color:oklch(.65 .008 62);color:var(--text-2);font-size:.9375rem}.timeline-content p{line-height:1.8;margin-bottom:1.25rem;max-width:68ch}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tags span{align-items:center;border:1px solid oklch(.2 .008 62);border:1px solid var(--border-2);color:oklch(.42 .006 62);color:var(--text-3);display:inline-flex;font-size:.8rem;font-weight:500;gap:.4rem;padding:.3rem .7rem;transition:color .2s,border-color .2s}.tech-tags span:hover{border-color:oklch(.72 .14 62/.4);color:oklch(.72 .14 62);color:var(--accent)}.tech-icon{font-size:.875rem}.education-row{grid-gap:3rem;border-bottom:1px solid oklch(.24 .01 62);border-bottom:1px solid var(--border);border-top:1px solid oklch(.24 .01 62);border-top:1px solid var(--border);display:grid;gap:3rem;grid-template-columns:180px 1fr;padding:2.5rem 0}.education-year{color:oklch(.72 .14 62);color:var(--accent);font-size:.8125rem;font-weight:500;letter-spacing:.03em;padding-top:.2rem}.education-content h3{color:oklch(.94 .008 62);color:var(--text);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem}.education-content h4{color:oklch(.65 .008 62);color:var(--text-2);font-size:.9375rem;font-weight:500;margin-bottom:1.25rem}.coursework-tags{display:flex;flex-wrap:wrap;gap:.5rem}.coursework-tags span{border:1px solid oklch(.2 .008 62);border:1px solid var(--border-2);color:oklch(.42 .006 62);color:var(--text-3);font-size:.8rem;font-weight:400;padding:.3rem .7rem}.skills-matrix{grid-gap:3rem 5rem;display:grid;gap:3rem 5rem;grid-template-columns:repeat(2,1fr);margin-bottom:4rem}.skill-group-label{align-items:center;color:oklch(.72 .14 62);color:var(--accent);display:flex;font-size:.75rem;font-weight:700;gap:.5rem;letter-spacing:.09em;margin-bottom:1.25rem;text-transform:uppercase}.skill-group-label svg{font-size:.875rem}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{border:1px solid oklch(.2 .008 62);border:1px solid var(--border-2);color:oklch(.65 .008 62);color:var(--text-2);font-size:.875rem;font-weight:400;padding:.375rem .75rem;transition:color .2s,border-color .2s}.skill-tag:hover{border-color:oklch(.42 .006 62);border-color:var(--text-3);color:oklch(.94 .008 62);color:var(--text)}.certs-label{color:oklch(.72 .14 62);color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.09em;margin-bottom:1.25rem;text-transform:uppercase}.cert-list{flex-wrap:wrap}.cert-item,.cert-list{display:flex;gap:.75rem}.cert-item{align-items:center;border:1px solid oklch(.24 .01 62);border:1px solid var(--border);color:oklch(.65 .008 62);color:var(--text-2);font-size:.875rem;padding:.625rem 1rem}.cert-badge{background:oklch(.72 .14 62);background:var(--accent);color:oklch(.12 .01 62);font-size:.75rem;font-weight:700;padding:.2rem .5rem}.projects-stack{display:flex;flex-direction:column}.project-block{border-top:1px solid oklch(.24 .01 62);border-top:1px solid var(--border);padding:3rem 0}.project-block:last-child{border-bottom:1px solid oklch(.24 .01 62);border-bottom:1px solid var(--border)}.project-meta{align-items:baseline;display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:1.25rem}.project-name{color:oklch(.94 .008 62);color:var(--text);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;letter-spacing:-.03em}.project-type{color:oklch(.72 .14 62);color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.project-description{color:oklch(.65 .008 62);color:var(--text-2);font-size:1rem;line-height:1.8;margin-bottom:2rem;max-width:72ch}.project-numbers{display:flex;flex-wrap:wrap;gap:3rem;margin-bottom:2rem}.project-number-item{display:flex;flex-direction:column}.project-number-value{color:oklch(.72 .14 62);color:var(--accent);font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1}.project-number-label{color:oklch(.42 .006 62);color:var(--text-3);font-size:.75rem;font-weight:500;letter-spacing:.05em;margin-top:.2rem;text-transform:uppercase}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.project-tech span{align-items:center;border:1px solid oklch(.2 .008 62);border:1px solid var(--border-2);color:oklch(.42 .006 62);color:var(--text-3);display:inline-flex;font-size:.8rem;font-weight:400;gap:.4rem;padding:.3rem .65rem;transition:color .2s,border-color .2s}.project-tech span:hover{border-color:oklch(.72 .14 62/.4);color:oklch(.72 .14 62);color:var(--accent)}.project-highlights{display:flex;flex-direction:column;gap:.625rem;margin-bottom:2rem}.highlight-item{color:oklch(.65 .008 62);color:var(--text-2);font-size:.9375rem;line-height:1.7}.highlight-item strong{color:oklch(.94 .008 62);color:var(--text);font-weight:600}.project-actions{display:flex;flex-wrap:wrap;gap:1rem}.demo-button{align-items:center;background:none;border:1px solid oklch(.72 .14 62);border:1px solid var(--accent);color:oklch(.72 .14 62);color:var(--accent);cursor:pointer;display:inline-flex;font-family:Bricolage Grotesque,system-ui,sans-serif;font-family:var(--font);font-size:.875rem;font-weight:600;gap:.5rem;padding:.75rem 1.375rem;text-decoration:none;transition:background .2s,color .2s}.demo-button:hover{background:oklch(.72 .14 62/.12);background:var(--accent-mute)}.demo-button.secondary{border-color:oklch(.24 .01 62);border-color:var(--border);color:oklch(.65 .008 62);color:var(--text-2)}.demo-button.secondary:hover{border-color:oklch(.42 .006 62);border-color:var(--text-3);color:oklch(.94 .008 62);color:var(--text)}.contact-grid{grid-gap:5rem;align-items:start;display:grid;gap:5rem;grid-template-columns:1.4fr 1fr}.contact-intro{color:oklch(.65 .008 62);color:var(--text-2);font-size:1rem;line-height:1.8;margin-bottom:2rem;max-width:60ch}.contact-form{display:flex;flex-direction:column;gap:1rem}.date-picker,.form-group input,.form-group select,.form-group textarea{appearance:none;-webkit-appearance:none;background:oklch(.18 .015 62);background:var(--surface);border:1px solid oklch(.24 .01 62);border:1px solid var(--border);border-radius:0;color:oklch(.94 .008 62);color:var(--text);font-family:Bricolage Grotesque,system-ui,sans-serif;font-family:var(--font);font-size:.9375rem;outline:none;padding:.875rem 1rem;transition:border-color .2s;width:100%}.date-picker:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:oklch(.72 .14 62);border-color:var(--accent)}.form-group input::placeholder,.form-group textarea::placeholder{color:oklch(.42 .006 62);color:var(--text-3)}.form-group select{cursor:pointer}.form-group select option{background:oklch(.18 .015 62);color:oklch(.94 .008 62);color:var(--text)}.date-picker{cursor:pointer}.react-datepicker-wrapper{width:100%}.react-datepicker{background:oklch(.18 .015 62);border:1px solid oklch(.24 .01 62);border:1px solid var(--border);font-family:Bricolage Grotesque,system-ui,sans-serif;font-family:var(--font)}.react-datepicker__header{background:oklch(.15 .012 62);border-bottom:1px solid oklch(.24 .01 62);border-bottom:1px solid var(--border)}.react-datepicker__current-month,.react-datepicker__day,.react-datepicker__day-name{color:oklch(.65 .008 62);color:var(--text-2)}.react-datepicker__day:hover{background:oklch(.72 .14 62/.12);background:var(--accent-mute);color:oklch(.94 .008 62);color:var(--text)}.react-datepicker__day--selected{background:oklch(.72 .14 62);background:var(--accent);color:oklch(.12 .01 62)}.react-datepicker__time-container{border-left:1px solid oklch(.24 .01 62);border-left:1px solid var(--border)}.react-datepicker__time{background:oklch(.18 .015 62)}.react-datepicker__time-list-item:hover{background:oklch(.72 .14 62/.12);background:var(--accent-mute)}.btn-submit{background:oklch(.72 .14 62);background:var(--accent);border:none;color:oklch(.12 .01 62);cursor:pointer;font-family:Bricolage Grotesque,system-ui,sans-serif;font-family:var(--font);font-size:.9375rem;font-weight:600;margin-top:.5rem;padding:.9375rem 2rem;transition:background .2s}.btn-submit:hover{background:oklch(.78 .13 62)}.success-message{background:oklch(.55 .12 145/.1);border:1px solid oklch(.55 .12 145/.3);color:oklch(.72 .1 145);font-size:.9375rem;font-weight:500;margin-top:1rem;padding:1rem 1.25rem}.contact-sidebar{display:flex;flex-direction:column;gap:2rem}.contact-info-box,.contact-notary-box{padding:0}.contact-info-box h3,.contact-notary-box h3{align-items:center;color:oklch(.72 .14 62);color:var(--accent);display:flex;flex-wrap:wrap;font-size:.75rem;font-weight:700;gap:.75rem;letter-spacing:.09em;margin-bottom:1.25rem;text-transform:uppercase}.contact-item{align-items:center;color:oklch(.65 .008 62);color:var(--text-2);display:flex;font-size:.9375rem;gap:.875rem;margin-bottom:.875rem}.contact-icon{color:oklch(.72 .14 62);color:var(--accent);flex-shrink:0}.contact-item a{color:oklch(.65 .008 62);color:var(--text-2);text-decoration:none;transition:color .2s}.contact-item a:hover{color:oklch(.72 .14 62);color:var(--accent)}.contact-notary-box p{color:oklch(.65 .008 62);color:var(--text-2);font-size:.9375rem;line-height:1.75}.notary-divider{background:oklch(.24 .01 62);background:var(--border);border:none;height:1px;margin:1.5rem 0;width:100%}.gallery-modal-overlay{align-items:center;animation:fadeIn .25s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:oklch(.08 .008 62/.97);display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gallery-modal{flex-direction:column;max-height:90vh;max-width:1100px;width:100%}.gallery-modal,.modal-close{align-items:center;display:flex}.modal-close{background:oklch(.18 .015 62);background:var(--surface);border:1px solid oklch(.24 .01 62);border:1px solid var(--border);color:oklch(.65 .008 62);color:var(--text-2);cursor:pointer;font-size:1.25rem;height:44px;justify-content:center;position:absolute;right:1.5rem;top:1.5rem;transition:color .2s,border-color .2s;width:44px;z-index:2001}.modal-close:hover{border-color:oklch(.72 .14 62);border-color:var(--accent);color:oklch(.72 .14 62);color:var(--accent)}.modal-gallery{gap:1.5rem;width:100%}.gallery-nav,.modal-gallery{align-items:center;display:flex}.gallery-nav{background:oklch(.18 .015 62);background:var(--surface);border:1px solid oklch(.24 .01 62);border:1px solid var(--border);color:oklch(.65 .008 62);color:var(--text-2);cursor:pointer;flex-shrink:0;font-size:1rem;height:44px;justify-content:center;transition:color .2s,border-color .2s;width:44px}.gallery-nav:hover{border-color:oklch(.72 .14 62);border-color:var(--accent);color:oklch(.72 .14 62);color:var(--accent)}.modal-screenshot-container{background:oklch(.1 .008 62);flex:1 1;overflow:hidden;position:relative}.modal-screenshot-image{display:block;height:auto;max-height:72vh;object-fit:contain;width:100%}.modal-screenshot-label{align-items:center;background:linear-gradient(#0000,oklch(.08 .008 62/.95));bottom:0;color:oklch(.65 .008 62);color:var(--text-2);display:flex;font-size:.9rem;font-weight:500;gap:.625rem;left:0;padding:1.25rem 1.5rem;position:absolute;right:0}.screenshot-counter{color:oklch(.42 .006 62);color:var(--text-3);font-size:.8rem;font-weight:400;margin-left:auto}.modal-screenshot-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.25rem}.screenshot-dot{background:oklch(.24 .01 62);background:var(--border);border:none;border-radius:50%;cursor:pointer;height:8px;padding:0;transition:background .2s,transform .2s;width:8px}.screenshot-dot:hover{background:oklch(.55 .1 62);background:var(--accent-dim)}.screenshot-dot.active{background:oklch(.72 .14 62);background:var(--accent);transform:scale(1.4)}.keyboard-hint{color:oklch(.42 .006 62);color:var(--text-3);font-size:.8rem;margin-top:.875rem;text-align:center}.footer{background:oklch(.12 .01 62);background:var(--bg);border-top:1px solid oklch(.2 .008 62);border-top:1px solid var(--border-2);padding:2rem 3rem}.footer-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1100px}.footer-content p{color:oklch(.42 .006 62);color:var(--text-3);font-size:.875rem}.footer-social{display:flex;gap:1.25rem}.footer-social a{align-items:center;color:oklch(.42 .006 62);color:var(--text-3);display:flex;font-size:1.125rem;transition:color .2s}.footer-social a:hover{color:oklch(.72 .14 62);color:var(--accent)}@media (max-width:1024px){.hero-content{gap:3rem;grid-template-columns:1fr}.hero-photo{justify-content:flex-start}.profile-photo{height:200px;width:200px}.about-content,.contact-grid{gap:3rem;grid-template-columns:1fr}.skills-matrix{gap:2rem;grid-template-columns:1fr}.education-row,.timeline-item{gap:2rem;grid-template-columns:140px 1fr}}@media (max-width:768px){.nav{gap:1rem;padding:1rem 1.5rem}.nav-links{gap:1.25rem}.nav-links button{font-size:.8rem}.section{padding:5rem 1.5rem}.hero{padding:6rem 1.5rem 4rem}.hero-wordmark{font-size:clamp(3.5rem,15vw,5rem)}.hero-photo{display:none}.education-row,.timeline-item{gap:.5rem;grid-template-columns:1fr}.project-numbers{gap:2rem}.footer-content{flex-direction:column;gap:1rem;text-align:center}}@media (max-width:540px){.nav-links{display:none}.hero-cta{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center;width:100%}.about-stats{gap:1.5rem 2.5rem}}@media (max-width:480px){.gallery-modal-overlay{padding:1rem}.modal-gallery{gap:.5rem}.gallery-nav{height:36px;width:36px}.keyboard-hint{display:none}.modal-screenshot-label{font-size:.8rem;padding:.75rem 1rem}}.testimonials-strip{border-bottom:1px solid oklch(.24 .01 62);border-bottom:1px solid var(--border);border-top:1px solid oklch(.24 .01 62);border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr}.testimonial{border-right:1px solid oklch(.24 .01 62);border-right:1px solid var(--border);padding:3rem 4rem}.testimonial:last-child{border-right:none}.testimonial p{color:oklch(.94 .008 62);color:var(--text);font-size:1.125rem;font-style:italic;line-height:1.75;margin-bottom:1.25rem;max-width:52ch}.testimonial cite{color:oklch(.72 .14 62);color:var(--accent);font-size:.72rem;font-style:normal;font-weight:700;letter-spacing:.1em;text-transform:uppercase}@media (max-width:768px){.testimonials-strip{grid-template-columns:1fr}.testimonial{border-bottom:1px solid oklch(.24 .01 62);border-bottom:1px solid var(--border);border-right:none;padding:2rem 1.5rem}.testimonial:last-child{border-bottom:none}}.project-screenshot-wrap{border:1px solid oklch(.24 .01 62);border:1px solid var(--border);margin:1.75rem 0;overflow:hidden;position:relative}.project-screenshot-wrap:before{background:oklch(.18 .015 62);background:var(--surface);border-bottom:1px solid oklch(.24 .01 62);border-bottom:1px solid var(--border);content:"";display:block;height:28px}.project-screenshot-wrap:after{color:oklch(.42 .006 62);color:var(--text-3);content:"● ● ●";font-size:8px;height:28px;left:12px;letter-spacing:4px;line-height:28px;pointer-events:none;position:absolute;top:0}.project-screenshot{display:block;height:auto;width:100%}.client-strip{background:oklch(.12 .01 62);background:var(--bg);border-bottom:1px solid oklch(.2 .008 62);border-bottom:1px solid var(--border-2);padding:2rem 3rem}.client-strip-inner{align-items:center;display:flex;gap:0;margin:0 auto;max-width:1100px}.client-strip-label{color:oklch(.42 .006 62);color:var(--text-3);flex-shrink:0;font-size:.7rem;font-weight:600;letter-spacing:.1em;margin-right:2.5rem;text-transform:uppercase;white-space:nowrap}.client-names{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem 0}.client-name{border-right:1px solid oklch(.2 .008 62);border-right:1px solid var(--border-2);color:oklch(.42 .006 62);color:var(--text-3);font-size:.9375rem;font-weight:500;line-height:1;padding:0 1.25rem;transition:color .2s}.client-name:first-child{padding-left:0}.client-name:last-child{border-right:none}.client-name:hover{color:oklch(.65 .008 62);color:var(--text-2)}@media (max-width:768px){.client-strip{padding:1.5rem}.client-strip-inner{align-items:flex-start;flex-direction:column;gap:1rem}.client-strip-label{margin-right:0}}.services-list{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr}.service-item{grid-gap:1.5rem;align-items:start;border-top:1px solid oklch(.24 .01 62);border-top:1px solid var(--border);display:grid;gap:1.5rem;grid-template-columns:3.5rem 1fr;padding:2.5rem 0}.service-item:nth-child(odd){border-right:1px solid oklch(.24 .01 62);border-right:1px solid var(--border);padding-right:3rem}.service-item:nth-child(2n){padding-left:3rem}.service-item:nth-last-child(-n+2){border-bottom:1px solid oklch(.24 .01 62);border-bottom:1px solid var(--border)}.service-num{color:oklch(.72 .14 62);color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.05em;padding-top:.3rem}.service-name{color:oklch(.94 .008 62);color:var(--text);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.625rem}.service-desc{color:oklch(.65 .008 62);color:var(--text-2);font-size:.9375rem;line-height:1.7;max-width:38ch}@media (max-width:768px){.services-list{grid-template-columns:1fr}.service-item:nth-child(odd){border-right:none;padding-right:0}.service-item:nth-child(2n){padding-left:0}.service-item:nth-last-child(-n+2){border-bottom:none}.service-item:last-child{border-bottom:1px solid oklch(.24 .01 62);border-bottom:1px solid var(--border)}}.studio-layout{grid-gap:5rem;align-items:start;display:grid;gap:5rem;grid-template-columns:1fr 1.1fr;margin-bottom:5rem}.studio-text p{color:oklch(.65 .008 62);color:var(--text-2);font-size:1.0625rem;line-height:1.8;margin-bottom:1.25rem;max-width:64ch}.team-photo-wrap{align-items:center;display:flex;flex-direction:column;justify-content:flex-start;padding-top:1rem}.team-photo{border-radius:50%;display:block;filter:grayscale(20%);height:220px;margin:0 auto;object-fit:cover;object-position:center 5%;outline:3px solid oklch(.72 .14 62);outline:3px solid var(--accent);outline-offset:6px;width:220px}.team-photo-placeholder{align-items:center;aspect-ratio:4/3;background:oklch(.18 .015 62);background:var(--surface);border:1px solid oklch(.24 .01 62);border:1px solid var(--border);color:oklch(.42 .006 62);color:var(--text-3);display:flex;font-size:.8rem;justify-content:center;letter-spacing:.05em;width:100%}.team-members{display:flex;gap:0;margin-top:1rem}.team-member{border:1px solid oklch(.24 .01 62);border:1px solid var(--border);flex:1 1;padding:1rem 1.25rem}.team-member:last-child{border-left:none}.team-member-name{color:oklch(.94 .008 62);color:var(--text);font-size:1rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.2rem}.team-member-title{color:oklch(.72 .14 62);color:var(--accent);font-size:.8rem;font-weight:500;letter-spacing:.04em}.studio-stack{border-top:1px solid oklch(.24 .01 62);border-top:1px solid var(--border);padding-top:3.5rem}.studio-stack-grid{grid-gap:2.5rem 2rem;display:grid;gap:2.5rem 2rem;grid-template-columns:repeat(4,1fr);margin-bottom:3rem}.stack-group-label{align-items:center;color:oklch(.72 .14 62);color:var(--accent);display:flex;font-size:.7rem;font-weight:700;gap:.4rem;letter-spacing:.09em;margin-bottom:.875rem;text-transform:uppercase}.stack-tags{display:flex;flex-wrap:wrap;gap:.375rem}.stack-tag{border:1px solid oklch(.2 .008 62);border:1px solid var(--border-2);color:oklch(.65 .008 62);color:var(--text-2);font-size:.8rem;font-weight:400;padding:.3rem .6rem}@media (max-width:1024px){.studio-layout{gap:3rem;grid-template-columns:1fr}.studio-stack-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:540px){.studio-stack-grid{gap:1.5rem;grid-template-columns:1fr 1fr}.team-members{flex-direction:column}.team-member:last-child{border-left:1px solid oklch(.24 .01 62);border-left:1px solid var(--border);border-top:none}}.status-card{background:oklch(.18 .015 62);background:var(--surface);border:1px solid oklch(.24 .01 62);border:1px solid var(--border);padding:2rem 2rem 1.75rem;width:100%}.status-card-label{color:oklch(.72 .14 62);color:var(--accent);font-size:.65rem;font-weight:700;letter-spacing:.12em;margin-bottom:1.5rem;text-transform:uppercase}.status-rows{display:flex;flex-direction:column;gap:0}.status-row{grid-gap:1rem;align-items:baseline;border-top:1px solid oklch(.2 .008 62);border-top:1px solid var(--border-2);display:grid;gap:1rem;grid-template-columns:110px 1fr;padding:.75rem 0}.status-row:first-child{border-top:none}.status-key{color:oklch(.42 .006 62);color:var(--text-3);font-size:.78rem;font-weight:500;letter-spacing:.02em;white-space:nowrap}.status-val{color:oklch(.65 .008 62);color:var(--text-2);font-size:.875rem;font-weight:400;line-height:1.5}.status-val--active{align-items:center;color:oklch(.78 .16 145);display:flex;font-weight:600;gap:.5rem}.status-dot{animation:status-pulse 2.4s ease-in-out infinite;background:oklch(.78 .16 145);border-radius:50%;flex-shrink:0;height:7px;width:7px}@keyframes status-pulse{0%,to{box-shadow:0 0 0 0 oklch(.78 .16 145/.5);opacity:1}50%{box-shadow:0 0 0 5px oklch(.78 .16 145/0);opacity:.6}}@media (prefers-reduced-motion:reduce){.status-dot{animation:none}}.process-steps{grid-gap:0;display:grid;gap:0;grid-template-columns:repeat(3,1fr)}.process-step{border-top:1px solid oklch(.24 .01 62);border-top:1px solid var(--border);padding:2.5rem 2.5rem 2.5rem 0}.process-step:not(:first-child){border-left:1px solid oklch(.24 .01 62);border-left:1px solid var(--border);padding-left:2.5rem}.process-step-num{color:oklch(.72 .14 62);color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin-bottom:1rem}.process-step-title{color:oklch(.94 .008 62);color:var(--text);font-size:1.375rem;font-weight:800;letter-spacing:-.025em;margin-bottom:.875rem}.process-step-desc{color:oklch(.65 .008 62);color:var(--text-2);font-size:.9375rem;line-height:1.75;max-width:30ch}@media (max-width:768px){.process-steps{grid-template-columns:1fr}.process-step{border-left:none!important;padding:2rem 0}}.team-solo{padding:1rem 0 0;text-align:center}.team-solo .team-member-name{color:oklch(.94 .008 62);color:var(--text);font-size:1rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.2rem}.team-solo .team-member-title{color:oklch(.72 .14 62);color:var(--accent);font-size:.8rem;font-weight:500;letter-spacing:.04em}.studio-stats{display:flex;flex-wrap:wrap;gap:2rem 3rem;margin-top:2rem}.studio-stats .stat-number{font-size:clamp(2.25rem,4vw,3rem)}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{margin-left:-4px;position:absolute;width:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border:8px solid #0000;box-sizing:initial;content:"";height:0;left:-8px;position:absolute;width:1px;z-index:-1}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border-bottom-color:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{margin-top:-8px;top:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{border-bottom-color:#f0f0f0;border-top:none}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after{top:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{border-bottom-color:#aeaeae;top:-1px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{bottom:0;margin-bottom:-8px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border-bottom:none;border-top-color:#fff}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after{bottom:0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border-top-color:#aeaeae;bottom:-1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;position:relative}.react-datepicker--time-only .react-datepicker__triangle{left:35px}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__triangle{left:50px;position:absolute}.react-datepicker-popper{z-index:1}.react-datepicker-popper[data-placement^=bottom]{padding-top:10px}.react-datepicker-popper[data-placement=bottom-end] .react-datepicker__triangle,.react-datepicker-popper[data-placement=top-end] .react-datepicker__triangle{left:auto;right:50px}.react-datepicker-popper[data-placement^=top]{padding-bottom:10px}.react-datepicker-popper[data-placement^=right]{padding-left:8px}.react-datepicker-popper[data-placement^=right] .react-datepicker__triangle{left:auto;right:42px}.react-datepicker-popper[data-placement^=left]{padding-right:8px}.react-datepicker-popper[data-placement^=left] .react-datepicker__triangle{left:42px;right:auto}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected,.react-datepicker__week-number--keyboard-selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__week-number--keyboard-selected{background-color:#2a87d0;border-radius:.3rem;color:#fff}.react-datepicker__week-number--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:hover,.react-datepicker__month-text:hover,.react-datepicker__quarter-text:hover,.react-datepicker__year-text:hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:hover,.react-datepicker__month-text--highlighted:hover,.react-datepicker__quarter-text--highlighted:hover,.react-datepicker__year-text--highlighted:hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .holiday-overlay,.react-datepicker__month-text--holidays .holiday-overlay,.react-datepicker__quarter-text--holidays .holiday-overlay,.react-datepicker__year-text--holidays .holiday-overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:hover,.react-datepicker__month-text--holidays:hover,.react-datepicker__quarter-text--holidays:hover,.react-datepicker__year-text--holidays:hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .holiday-overlay,.react-datepicker__month-text--holidays:hover .holiday-overlay,.react-datepicker__quarter-text--holidays:hover .holiday-overlay,.react-datepicker__year-text--holidays:hover .holiday-overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:hover,.react-datepicker__day--in-selecting-range:hover,.react-datepicker__day--selected:hover,.react-datepicker__month-text--in-range:hover,.react-datepicker__month-text--in-selecting-range:hover,.react-datepicker__month-text--selected:hover,.react-datepicker__quarter-text--in-range:hover,.react-datepicker__quarter-text--in-selecting-range:hover,.react-datepicker__quarter-text--selected:hover,.react-datepicker__year-text--in-range:hover,.react-datepicker__year-text--in-selecting-range:hover,.react-datepicker__year-text--selected:hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:hover,.react-datepicker__month-text--keyboard-selected:hover,.react-datepicker__quarter-text--keyboard-selected:hover,.react-datepicker__year-text--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled:hover,.react-datepicker__month-text--disabled:hover,.react-datepicker__quarter-text--disabled:hover,.react-datepicker__year-text--disabled:hover{background-color:initial}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;-webkit-clip-path:circle(0);clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}:root{--bg:oklch(0.12 0.01 62);--bg-alt:oklch(0.15 0.012 62);--surface:oklch(0.18 0.015 62);--accent:oklch(0.72 0.14 62);--accent-dim:oklch(0.55 0.10 62);--text:oklch(0.94 0.008 62);--text-2:oklch(0.72 0.008 62);--text-3:oklch(86.009% 0.0737 65.887/0.795);--border:oklch(0.24 0.01 62);--border-2:oklch(0.20 0.008 62);--font:"Bricolage Grotesque",system-ui,sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}.cv-page{background:oklch(.12 .01 62);background:var(--bg);color:oklch(.94 .008 62);color:var(--text);font-family:Bricolage Grotesque,system-ui,sans-serif;font-family:var(--font);line-height:1.6;min-height:100vh}.cv-header{align-items:flex-end;border-bottom:1px solid oklch(.24 .01 62);border-bottom:1px solid var(--border);display:flex;gap:2rem;justify-content:space-between;padding:3.5rem 4rem 2rem}.cv-name-row{align-items:center;display:flex;gap:1.5rem}.cv-photo{border-radius:50%;filter:grayscale(15%);flex-shrink:0;height:88px;object-fit:cover;object-position:center 95%;outline:2px solid oklch(.72 .14 62);outline:2px solid var(--accent);outline-offset:3px;width:88px}.cv-name{color:oklch(.94 .008 62);color:var(--text);font-size:clamp(2rem,5vw,3.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.05}.cv-title{font-size:.9375rem;font-weight:400;letter-spacing:.01em;margin-top:.4rem}.cv-print-btn,.cv-title{color:oklch(86.009% .0737 65.887/.795);color:var(--text-3)}.cv-print-btn{background:none;border:1px solid oklch(.24 .01 62);border:1px solid var(--border);cursor:pointer;font-family:Bricolage Grotesque,system-ui,sans-serif;font-family:var(--font);font-size:.8rem;font-weight:500;letter-spacing:.04em;padding:.5rem 1rem;transition:border-color .2s,color .2s;white-space:nowrap}.cv-print-btn:hover{border-color:oklch(.72 .14 62);border-color:var(--accent);color:oklch(.72 .14 62);color:var(--accent)}.cv-contact-strip{border-bottom:1px solid oklch(.24 .01 62);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.25rem 0;padding:0 4rem}.cv-contact-strip a,.cv-contact-strip span{align-items:center;border-right:1px solid oklch(.2 .008 62);border-right:1px solid var(--border-2);color:oklch(86.009% .0737 65.887/.795);color:var(--text-3);display:inline-flex;font-size:.8125rem;gap:.4rem;margin-right:1.25rem;padding:.6rem 1.25rem .6rem 0;text-decoration:none;transition:color .15s}.cv-contact-strip a:last-child,.cv-contact-strip span:last-child{border-right:none;margin-right:0}.cv-contact-strip a:hover{color:oklch(.72 .14 62);color:var(--accent)}.cv-contact-strip svg{font-size:.75rem}.cv-body{margin:0 auto;max-width:960px;padding:0 4rem 5rem}.cv-section{border-bottom:1px solid oklch(.24 .01 62);border-bottom:1px solid var(--border);padding:2.75rem 0}.cv-section:last-child{border-bottom:none}.cv-section-title{color:oklch(.72 .14 62);color:var(--accent);font-size:.65rem;font-weight:700;letter-spacing:.12em;margin-bottom:1.75rem;text-transform:uppercase}.cv-summary{color:oklch(.72 .008 62);color:var(--text-2);font-size:1.0625rem;line-height:1.8;max-width:68ch}.cv-skills-grid{grid-gap:1.5rem 3rem;display:grid;gap:1.5rem 3rem;grid-template-columns:repeat(2,1fr)}.cv-skill-label{color:oklch(.94 .008 62);color:var(--text);font-size:.75rem;font-weight:700;letter-spacing:.04em;margin-bottom:.375rem}.cv-skill-tags{color:oklch(86.009% .0737 65.887/.795);color:var(--text-3);font-size:.875rem;line-height:1.6}.cv-timeline{display:flex;flex-direction:column;gap:2.5rem}.cv-item{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:180px 1fr}.cv-item-meta{padding-top:.1rem}.cv-item-period{color:oklch(.72 .14 62);color:var(--accent);font-size:.78rem;font-weight:600;letter-spacing:.03em;margin-bottom:.375rem}.cv-item-org{color:oklch(.94 .008 62);color:var(--text);font-size:1rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.2rem}.cv-item-role{color:oklch(.72 .008 62);color:var(--text-2);font-size:.8125rem;font-weight:500;margin-bottom:.2rem}.cv-item-location{color:oklch(86.009% .0737 65.887/.795);color:var(--text-3);font-size:.75rem}.cv-item-body>p{color:oklch(.72 .008 62);color:var(--text-2);font-size:.9375rem;line-height:1.7;margin-bottom:.875rem}.cv-bullets{display:flex;flex-direction:column;gap:.625rem;list-style:none;margin-bottom:1rem}.cv-bullets li{color:oklch(.72 .008 62);color:var(--text-2);font-size:.9rem;line-height:1.7;padding-left:1rem;position:relative}.cv-bullets li:before{background:oklch(.72 .14 62);background:var(--accent);border-radius:50%;content:"";height:4px;left:0;position:absolute;top:.65em;width:4px}.cv-tech{border-top:1px solid oklch(.2 .008 62);border-top:1px solid var(--border-2);color:oklch(86.009% .0737 65.887/.795);color:var(--text-3);font-size:.775rem;letter-spacing:.02em;margin-top:.25rem;padding-top:.75rem}.cv-cert-list{grid-gap:.875rem 3rem;display:grid;gap:.875rem 3rem;grid-template-columns:repeat(2,1fr)}.cv-cert{align-items:center;color:oklch(.72 .008 62);color:var(--text-2);display:flex;font-size:.9rem;gap:.625rem}.cv-cert-badge{border:1px solid oklch(.55 .1 62);border:1px solid var(--accent-dim);color:oklch(.72 .14 62);color:var(--accent);flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.08em;padding:.15rem .4rem}.cv-footer{align-items:center;border-top:1px solid oklch(.24 .01 62);border-top:1px solid var(--border);display:flex;justify-content:space-between;margin-top:0;padding:1.5rem 4rem}.cv-back{color:oklch(86.009% .0737 65.887/.795);color:var(--text-3);font-size:.8rem;letter-spacing:.03em;text-decoration:none;transition:color .15s}.cv-back:hover{color:oklch(.72 .14 62);color:var(--accent)}.cv-footer-name{color:oklch(86.009% .0737 65.887/.795);color:var(--text-3);font-size:.75rem;letter-spacing:.03em}@media (max-width:768px){.cv-header{align-items:flex-start;flex-direction:column;padding:2.5rem 1.5rem 1.5rem}.cv-name-row{gap:1rem}.cv-photo{height:68px;width:68px}.cv-contact-strip{padding:0 1.5rem}.cv-contact-strip a,.cv-contact-strip span{border-right:none;margin-right:0;padding-right:0}.cv-body{padding:0 1.5rem 4rem}.cv-item{gap:.5rem;grid-template-columns:1fr}.cv-item-meta{grid-gap:0 1rem;align-items:baseline;display:grid;gap:0 1rem;grid-template-columns:auto 1fr}.cv-item-period{grid-column:1}.cv-item-location,.cv-item-org,.cv-item-role{grid-column:2}.cv-skills-grid{gap:1.25rem}.cv-cert-list,.cv-skills-grid{grid-template-columns:1fr}.cv-footer{align-items:flex-start;flex-direction:column;gap:.5rem;padding:1.5rem}}@media print{:root{--bg:#fff;--bg-alt:#f7f7f5;--surface:#f0efec;--accent:oklch(0.45 0.12 62);--text:#0f0e0c;--text-2:#3a3834;--text-3:#6b6762;--border:#d4d0ca;--border-2:#e2ded8}.cv-footer .cv-back,.cv-print-btn{display:none}.cv-page{background:#fff}.cv-header{padding:2rem 3rem 1.5rem}.cv-contact-strip{padding:0 3rem}.cv-body{max-width:100%;padding:0 3rem 3rem}.cv-footer{padding:1rem 3rem}.cv-section{padding:1.75rem 0}.cv-item{gap:1.25rem}.cv-bullets li{font-size:.85rem}@page{margin:.5in}}
/*# sourceMappingURL=main.d53d16b2.css.map*/