@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-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-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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,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;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{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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.table{display:table}.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}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.italic{font-style:italic}.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)}.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,)}.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,)}.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,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))}}:root{--color-bg:#18181b;--color-card-bg:#27272a;--color-card-bg-hover:#2d2d31;--color-border:#3f3f46;--color-text:#fafafa;--color-text-muted:#a1a1aa;--color-accent:#14b8a6;--color-accent-bright:#2dd4bf;--color-accent-glow:#5eead4;--color-accent-contrast:#fff;--color-rail-bg:#181820;--color-overlay:#18181b80;--font-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--circuit-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' fill='none' stroke='%2314b8a6' stroke-opacity='0.2' stroke-width='1.5'%3E%3Cpath d='M0 30h40l15 15h45l10-10h50M20 0v20l10 10M80 45v35l-15 15H0M160 90h-40l-20 20v50M110 35V0M130 160v-30l15-15h15M40 160v-25l20-20h40'/%3E%3Cg fill='%2314b8a6' fill-opacity='0.2' stroke='none'%3E%3Ccircle cx='30' cy='30' r='3'/%3E%3Ccircle cx='110' cy='35' r='3'/%3E%3Ccircle cx='80' cy='80' r='3'/%3E%3Ccircle cx='120' cy='90' r='3'/%3E%3Ccircle cx='100' cy='110' r='3'/%3E%3Ccircle cx='145' cy='115' r='3'/%3E%3Ccircle cx='60' cy='115' r='3'/%3E%3C/g%3E%3C/svg%3E");color-scheme:dark}:root[data-theme=light]{--color-bg:#f8fafc;--color-card-bg:#fff;--color-card-bg-hover:#f1f5f9;--color-border:#e2e8f0;--color-text:#18181b;--color-text-muted:#52525b;--color-accent:#14b8a6;--color-accent-bright:#0d9488;--color-accent-glow:#2dd4bf;--color-accent-contrast:#fff;--color-rail-bg:#eef2f7;--color-overlay:#e2e8f080;color-scheme:light}html{scroll-behavior:smooth}.hero-title,.section-header h2{font-family:var(--font-display);letter-spacing:-.025em;font-weight:800}.theme-switching,.theme-switching *,.theme-switching :before,.theme-switching :after{transition:background-color .45s,color .45s,border-color .45s,fill .45s,stroke .45s,box-shadow .45s!important}.theme-switching .theme-toggle-btn .theme-icon{transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .3s!important}.has-custom-cursor,.has-custom-cursor *{cursor:none!important}.has-custom-cursor input,.has-custom-cursor textarea,.has-custom-cursor [contenteditable=true]{cursor:text!important}.cursor-dot,.cursor-ring{z-index:10000;pointer-events:none;opacity:0;border-radius:50%;transition:opacity .2s;position:fixed;top:0;left:0}.cursor-dot{background-color:var(--color-accent-bright);width:6px;height:6px;box-shadow:0 0 8px var(--color-accent-bright);margin:-3px 0 0 -3px}.cursor-ring{border:1.5px solid #14b8a6bf;width:32px;height:32px;margin:-16px 0 0 -16px;transition:opacity .2s,width .25s,height .25s,margin .25s,background-color .25s}.cursor-visible .cursor-dot,.cursor-visible .cursor-ring{opacity:1}.cursor-over-text .cursor-dot,.cursor-over-text .cursor-ring{opacity:0}.cursor-ring.is-hot{background-color:#14b8a61f;width:54px;height:54px;margin:-27px 0 0 -27px}.cursor-ring.is-pressed{width:24px;height:24px;margin:-12px 0 0 -12px}.circuit-signals{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.circuit-signal{fill:var(--color-accent-bright);filter:drop-shadow(0 0 4px var(--color-accent-bright))drop-shadow(0 0 8px var(--color-accent))}.modal-content{overflow:hidden}.modal-content .modal-header,.modal-content .modal-footer{isolation:isolate;background-color:var(--color-card-bg);background-image:var(--circuit-pattern);background-size:160px 160px;border-color:#0000;position:relative}.modal-content .modal-header{text-align:left}.modal-content .modal-header:after,.modal-content .modal-footer:before{content:"";background:linear-gradient(90deg,transparent,var(--color-accent-bright),transparent);height:1px;position:absolute;left:0;right:0}.modal-content .modal-header:after{bottom:0}.modal-content .modal-footer:before{top:0}.modal-content .close-btn{transition:color .2s,transform .2s}.modal-content .close-btn:hover{color:var(--color-accent-bright);transform:rotate(90deg)}.modal-content .close-btn:focus-visible{outline:2px solid var(--color-accent-glow);outline-offset:2px;border-radius:.3rem}.modal-content .btn-close{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast);transition:background-color .2s,border-color .2s,transform .2s}.modal-content .btn-close:hover{background:#0d9488;border-color:#0d9488;transform:translateY(-2px)}.modal-content .btn-close:focus-visible{outline:2px solid var(--color-accent-glow);outline-offset:3px}@media(prefers-reduced-motion:reduce){.modal-content .close-btn:hover,.modal-content .btn-close:hover{transform:none}}.resume-modal .modal-content{max-width:860px}.resume-frame{background:#fff;border:0;border-radius:.5rem;width:100%;height:min(72vh,900px);display:block}.resume-modal .modal-footer{flex-wrap:wrap;gap:.75rem}.project-modal .modal-body{text-align:left;flex-direction:column;gap:1.25rem;display:flex}.project-modal-img{-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;border-radius:.5rem;width:100%;max-height:60vh;display:block}.project-modal-text{color:var(--color-text);margin:0;line-height:1.7}.project-modal-note{color:var(--color-text-muted);text-align:left;margin-right:auto;font-size:.85rem}.project-modal .modal-footer{gap:1rem}.resume-open-link,.resume-download,.modal-action{border-radius:.5rem;padding:.75rem 1.3rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s,transform .2s,box-shadow .2s}.resume-open-link{border:1px solid var(--color-accent);color:var(--color-accent-bright)}.resume-open-link:hover{background-color:var(--color-accent);color:#fff;transform:translateY(-2px)}.modal-action{align-items:center;gap:.5rem;display:inline-flex}.modal-action-icon{width:1.05rem;height:1.05rem;transition:transform .2s}.modal-action:hover .modal-action-icon{transform:translate(2px,-2px)}.resume-download,.modal-action{background-color:var(--color-accent);color:var(--color-accent-contrast);box-shadow:0 6px 18px -8px #14b8a6cc}.resume-open-link:focus-visible,.resume-download:focus-visible,.modal-action:focus-visible{outline:2px solid var(--color-accent-glow);outline-offset:3px}@media(prefers-reduced-motion:reduce){.resume-open-link:hover{transform:none}}.btn-shine{background-image:linear-gradient(135deg,var(--color-accent-bright),var(--color-accent)60%);position:relative;overflow:hidden}.btn-shine:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff73,#0000);width:40%;transition:left .6s;position:absolute;top:0;bottom:0;left:-60%;transform:skew(-20deg)}.btn-shine:hover{transform:translateY(-2px);box-shadow:0 14px 28px -12px #14b8a6f2}.btn-shine:hover:after{left:120%}@media(prefers-reduced-motion:reduce){.btn-shine:after{display:none}.btn-shine:hover{transform:none}}.section-header h2{padding-bottom:.75rem;position:relative}.section-header h2:after{content:"";background:linear-gradient(90deg,var(--color-accent),var(--color-accent-bright));border-radius:3px;width:3.5rem;height:3px;transition:transform .8s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:50%;transform:translate(-50%)scaleX(0)}.section-header h2.line-drawn:after{transform:translate(-50%)scaleX(1)}@media(prefers-reduced-motion:reduce){.section-header h2:after{transition:none}}.page-transition{animation:.38s cubic-bezier(.16,1,.3,1) page-enter}@keyframes page-enter{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.page-transition{animation:none}}body{background-color:var(--color-bg);color:var(--color-text);transition:background-color .25s,color .25s}body:before{content:"";z-index:-1;pointer-events:none;background:repeating-radial-gradient(ellipse at 15% 30%,transparent 0 34px,var(--color-accent)35px 36px),repeating-radial-gradient(ellipse at 85% 85%,transparent 0 42px,var(--color-accent)43px 44px);position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){body:before{background:repeating-radial-gradient(ellipse at 15% 30%,transparent 0 34px,color-mix(in srgb,var(--color-accent)9%,transparent)35px 36px),repeating-radial-gradient(ellipse at 85% 85%,transparent 0 42px,color-mix(in srgb,var(--color-accent)7%,transparent)43px 44px)}}body:before{-webkit-mask-image:radial-gradient(#000 35%,#0000 95%);mask-image:radial-gradient(#000 35%,#0000 95%)}@media(prefers-reduced-motion:reduce){:root .see-more-btn:hover,:root .back-btn:hover,:root .back-button:hover,:root .view-project-btn:hover{transform:none}}@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-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-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}.preloader-overlay{position:fixed;inset:0;z-index:9999;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;transition:opacity .9s cubic-bezier(.4,0,.2,1),filter .9s cubic-bezier(.4,0,.2,1)}.preloader-overlay.dismissed{opacity:0;filter:blur(6px);pointer-events:none}.preloader-canvas{display:block;width:360px;height:360px}.preloader-status{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;letter-spacing:.04em;color:#2dd4bf;text-shadow:0 0 10px rgba(45,212,191,.6);display:flex;align-items:center;gap:8px}.preloader-cursor{display:inline-block;width:7px;height:14px;background:#2dd4bf;box-shadow:0 0 8px #2dd4bfcc;animation:preloader-blink 1s steps(1) infinite}@keyframes preloader-blink{0%,49%{opacity:1}50%,to{opacity:0}}.preloader-percent{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:11px;color:#7c8792;letter-spacing:.08em;font-variant-numeric:tabular-nums}@media(max-width:480px){.preloader-canvas{width:260px;height:260px}}@media(prefers-reduced-motion:reduce){.preloader-overlay{transition:opacity .3s linear}}html,body{overflow-x:hidden}#root{max-width:1280px;margin:0 auto;text-align:center}.navbar{background-color:var(--color-card-bg);background-image:var(--circuit-pattern);background-size:160px 160px;padding:1rem 1.5rem;position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid var(--color-border);width:100%;transition:background-color .25s ease,border-color .25s ease}.navbar-container{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.navbar-logo{display:flex;align-items:center;gap:.65rem;text-decoration:none;flex-shrink:0}.navbar-logo:focus-visible{outline:2px solid var(--color-accent-glow);outline-offset:4px;border-radius:.6rem}.navbar-logo-mark{width:2.4rem;height:2.4rem;border-radius:.6rem;display:grid;place-items:center;background-color:var(--color-accent);color:var(--color-accent-contrast);font-family:var(--font-display);font-size:1rem;font-weight:800;box-shadow:0 6px 16px -6px #14b8a6cc;transition:transform .2s}.navbar-logo:hover .navbar-logo-mark{transform:translateY(-2px)}.navbar-logo-text{display:flex;flex-direction:column;text-align:left}.navbar-logo-name{font-family:var(--font-display);font-size:1.15rem;font-weight:800;line-height:1.1;letter-spacing:-.01em;color:var(--color-text)}.navbar-logo-tagline{font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}@media(max-width:360px){.navbar-logo-tagline{display:none}}@media(prefers-reduced-motion:reduce){.navbar-logo-mark{transition:none}}.navbar-menu{position:relative;display:flex;gap:2rem;align-items:center}.navbar-pill{position:absolute;top:0;left:0;z-index:0;border-radius:999px;background:#14b8a624;border:1px solid rgba(20,184,166,.35);opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.16,1,.3,1),width .3s cubic-bezier(.16,1,.3,1),height .3s ease,opacity .2s ease}.navbar-pill.is-visible{opacity:1}.navbar-menu .navbar-link{z-index:1}@media(prefers-reduced-motion:reduce){.navbar-pill{transition:opacity .2s ease}}@media(max-width:768px){.navbar-pill{display:none}}.navbar-link{text-decoration:none;color:var(--color-text-muted);font-size:.95rem;transition:color .3s}.navbar-link:hover{color:var(--color-accent)}.navbar-link{position:relative}.navbar-link.active{color:var(--color-text)}.navbar-link.active:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--color-accent)}.navbar-progress{position:absolute;left:0;bottom:-1px;height:2px;background:var(--color-accent-bright);pointer-events:none}.navbar-socials{display:flex;gap:.75rem;align-items:center}.navbar-social-icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:.5rem;text-decoration:none;transition:all .3s;cursor:pointer}.navbar-social-icon:hover{border-color:var(--color-accent);background-color:var(--color-card-bg-hover)}.navbar-social-icon img{width:1.4rem;height:1.4rem;filter:brightness(0) invert(1)}:root[data-theme=light] .navbar-social-icon img{filter:none}.command-search-btn{color:var(--color-text)}.command-search-btn svg{width:1.2rem;height:1.2rem}.theme-toggle-btn{position:relative;overflow:hidden;color:var(--color-text)}.theme-toggle-btn svg{width:1.3rem;height:1.3rem}.theme-toggle-btn .theme-icon{position:absolute;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .3s}.theme-toggle-btn.is-dark .theme-icon-moon{opacity:0;transform:rotate(90deg) scale(.4)}.theme-toggle-btn.is-light .theme-icon-sun{opacity:0;transform:rotate(-90deg) scale(.4)}@media(prefers-reduced-motion:reduce){.theme-toggle-btn .theme-icon{transition:none}}.navbar-mobile-actions{display:flex;align-items:center;gap:.75rem}.navbar-mobile-theme-toggle{display:none}.navbar-button{display:none;width:2.75rem;height:2.75rem;padding:0;border-radius:.5rem;background-color:transparent;border:none;color:var(--color-text);font-size:1.5rem;line-height:2.75rem;text-align:center;cursor:pointer}.navbar-button:focus-visible{outline:2px solid var(--color-accent-glow);outline-offset:2px}@media(max-width:768px){.navbar-mobile-theme-toggle{display:flex}.navbar-menu{position:absolute;top:4rem;right:1.5rem;background-color:var(--color-card-bg);border-radius:1rem;padding:2rem;flex-direction:column;gap:1rem;min-width:11.25rem;box-shadow:0 4px 6px #0000004d;display:none}.navbar-menu.open{display:flex}.navbar-button{display:block}.navbar-socials{display:none}}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:5rem 1.5rem 0;overflow-x:hidden}.hero-container{max-width:80rem;width:100%;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}@media(min-width:768px){.hero-container{grid-template-columns:repeat(2,1fr)}}.hero-title{font-size:3.75rem;margin-bottom:2rem;color:var(--color-text)}.hero-title-last{color:var(--color-accent-bright)}.hero-subtitle{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:1.35rem;font-weight:500;color:var(--color-text);margin-bottom:1.5rem}.hero-prompt,.hero-typed{color:var(--color-accent-bright)}.hero-typed:after{content:"";display:inline-block;width:.55em;height:1.05em;margin-left:3px;vertical-align:-.15em;background:var(--color-accent-bright);animation:hero-cursor-blink 1s steps(1) infinite}@keyframes hero-cursor-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.hero-typed:after{animation:none}}.hero-text{color:var(--color-text-muted);line-height:1.75;text-align:justify;margin-bottom:1.5rem}@media(max-width:767px){.hero-text{text-align:left}}.hero-image-container{position:relative;display:flex;justify-content:center;align-items:center;margin-top:8rem}.hero-image-frame{position:relative;max-width:100%;padding:4px;border-radius:1.6rem;background:conic-gradient(from 210deg,var(--color-accent),var(--color-accent-bright),rgba(255,255,255,.25),var(--color-accent));box-shadow:0 24px 60px -20px #14b8a6b3}.hero-corner{position:absolute;width:2rem;height:2rem;border:2px solid var(--color-accent-bright);pointer-events:none}.hero-corner-tl{top:-1rem;left:-1rem;border-right:none;border-bottom:none}.hero-corner-tr{top:-1rem;right:-1rem;border-left:none;border-bottom:none}.hero-corner-bl{bottom:-1rem;left:-1rem;border-right:none;border-top:none}.hero-corner-br{bottom:-1rem;right:-1rem;border-left:none;border-top:none}.hero-image{position:relative;z-index:1;border-radius:1.35rem;width:auto;max-width:100%;height:34rem;-o-object-fit:cover;object-fit:cover;display:block}.stats-section{position:relative;background-color:var(--color-card-bg);background-image:var(--circuit-pattern);background-size:160px 160px;padding:18px 0;transition:background-color .25s ease}.stats-section:before,.stats-section:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent-bright),transparent);pointer-events:none}.stats-section:before{top:0}.stats-section:after{bottom:0}.stats-container{max-width:1100px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:center}.stat-item{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--color-text-muted);font-size:14px}.stat-value{color:var(--color-accent);font-weight:700;font-size:20px;white-space:nowrap;font-variant-numeric:tabular-nums}.stat-label{color:var(--color-text-muted)}.stats-container.is-finished .stat-value{animation:stat-glow 1.4s ease-out}@keyframes stat-glow{0%{text-shadow:0 0 0 transparent}25%{text-shadow:0 0 18px rgba(45,212,191,.95),0 0 4px rgba(45,212,191,.9)}to{text-shadow:0 0 0 transparent}}@media(prefers-reduced-motion:reduce){.stats-container.is-finished .stat-value{animation:none}}.stat-item+.stat-item:before{content:"";position:absolute;left:-10px;top:10%;bottom:10%;width:1px;background:linear-gradient(transparent,color-mix(in srgb,var(--color-accent-bright) 55%,transparent),transparent)}@media(max-width:900px){.stats-container{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-item:nth-child(3):before{display:none}}@media(max-width:520px){.stats-container{grid-template-columns:1fr}.stat-item+.stat-item:before{display:none}}.skill-groups{display:flex;flex-direction:column;gap:2.5rem}.skill-group-title{display:flex;align-items:center;gap:1rem;margin:0 0 1rem;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.skill-group-title:after{content:"";flex:1;height:1px;background:var(--color-border)}.see-more-btn{display:inline-flex;align-items:center;gap:8px;padding:.75rem 1.5rem;background-color:transparent;color:var(--color-accent);text-decoration:none;border-radius:2rem;font-weight:500;font-size:.95rem;position:relative;z-index:2;transition:all .3s ease;border:2px solid var(--color-accent);width:-moz-fit-content;width:fit-content}.see-more-btn:hover{background-color:var(--color-accent);color:#fff;transform:translateY(-2px)}.arrow-icon{transition:transform .3s ease;flex-shrink:0}.see-more-btn:hover .arrow-icon{transform:translate(4px)}.see-more-container{display:flex;justify-content:flex-end;align-items:center;width:100%;margin-bottom:1.5rem}@media(max-width:768px){.see-more-btn{padding:8px 16px;font-size:.875rem}}.certifications-section{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:4rem 1.5rem;background-color:transparent!important;color:var(--color-text);transition:background-color .25s ease,color .25s ease}.certifications-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.projects-section{margin-top:6rem;margin-bottom:4rem;padding:40px 0;background:transparent}.projects-section .section-header,.projects-section .see-more-container,.projects-section .projects-toolbar,.projects-section .projects-grid{max-width:80rem;margin-left:auto;margin-right:auto}.projects-section .see-more-container{padding:0 2rem}.projects-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding:0 2rem}.projects-section .back-btn-container{position:static;justify-content:flex-start;top:auto;margin:0}.project-filter-tabs{display:flex;flex-wrap:wrap;gap:.75rem}.project-filter-tab{display:inline-flex;align-items:center;padding:.75rem 1.5rem;background-color:transparent;color:var(--color-accent);border-radius:2rem;font-weight:500;font-size:.95rem;font-family:inherit;transition:all .3s ease;border:2px solid var(--color-accent);cursor:pointer}.project-filter-tab:hover{background-color:#0d9488;color:#fff;opacity:.8}.project-filter-tab.active{background-color:var(--color-accent);color:#fff}.projects-title{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-align:center;color:var(--color-text)}.projects-subtitle{font-size:1.2rem;color:var(--color-text-muted);margin-bottom:2rem;text-align:center}.see-more-container{display:flex;justify-content:flex-end;margin-bottom:2rem;margin-right:2rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:2rem;padding:0 2rem}@media(max-width:480px){.projects-grid{gap:1.5rem;padding:0 1rem}}.projects-empty-state{color:var(--color-text-muted);font-size:1rem;text-align:center;padding:3rem 2rem 4rem}.project-reveal{height:100%;opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.project-reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.project-reveal{transition:opacity .3s linear;transform:none}}.project-card{display:flex;flex-direction:column;height:100%;box-sizing:border-box;background:var(--color-card-bg);border-radius:18px;box-shadow:0 4px 24px #00000014;overflow:hidden;min-height:420px;position:relative;border:1px solid var(--color-border);transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .2s ease-out,box-shadow .2s,border-color .2s,background-color .25s ease}.project-card:hover{box-shadow:0 24px 40px -20px #14b8a68c;border-color:var(--color-accent)}.project-card:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(18rem circle at var(--x, 50%) var(--y, 50%),rgba(45,212,191,.16),transparent 60%)}.project-card:hover:before{opacity:1}.project-card:hover .project-img{transform:scale(1.05)}@media(prefers-reduced-motion:reduce){.project-card:before,.project-card .project-img{transition:none}.project-card:hover .project-img,.project-card{transform:none}}.project-img-wrapper{width:100%;height:180px;background:#eaeaea;display:flex;align-items:center;justify-content:center;overflow:hidden}.project-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.16,1,.3,1)}.project-content{display:flex;flex-direction:column;flex:1;padding:1.5rem}.project-name{font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem;margin-top:.5rem;line-height:1.2}.project-description{font-size:1rem;color:var(--color-text);margin-bottom:1.5rem;flex:1}.project-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto}.project-tech{font-size:.95rem;color:var(--color-text-muted);min-width:0}.view-project-btn{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--color-accent);border:2px solid var(--color-accent);border-radius:9999px;padding:.5rem 1.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:background .2s,color .2s,transform .2s;text-decoration:none;white-space:nowrap;flex-shrink:0;margin-left:1rem;margin-top:0;align-self:flex-end;box-shadow:0 2px 8px #1e293b14}.view-project-btn:hover{background:var(--color-accent);color:#fff;transform:translateY(-2px)}.terminal{overflow:hidden;border-radius:.6rem;border:1px solid #3f3f46;background:#0c0c0e;box-shadow:0 20px 40px -24px #000c;text-align:left}.terminal-bar{display:flex;align-items:center;gap:.75rem;padding:.55rem .8rem;background:#1c1c20;border-bottom:1px solid #2c2c32}.terminal-dots{display:flex;gap:6px}.terminal-dots i{width:10px;height:10px;border-radius:50%;background:#3f3f46}.terminal-dots i:first-child{background:#14b8a6}.terminal-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a1a1aa;font:500 .78rem/1 ui-monospace,Consolas,monospace}.terminal-restart{padding:.3rem .65rem;border:1px solid #3f3f46;border-radius:.35rem;background:transparent;color:#d4d4d8;font:600 .72rem/1 system-ui,sans-serif;cursor:pointer}.terminal-restart:hover{border-color:#14b8a6;color:#2dd4bf}.terminal-screen{height:min(52vh,26rem);overflow:auto;padding:.9rem 1rem;cursor:text}.terminal-output{margin:0;color:#e4e4e7;font:400 .88rem/1.55 ui-monospace,Cascadia Mono,Consolas,monospace;white-space:pre}@media(max-width:520px){.terminal-screen{padding:.75rem}.terminal-output{font-size:.74rem}}.terminal-input{display:inline}.terminal-input input{width:16ch;padding:0;border:none;outline:none;background:transparent;color:#2dd4bf;caret-color:#2dd4bf;font:inherit}.terminal-ended{color:#71717a}.terminal-start{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;color:#d4d4d8;font-size:.95rem}.terminal-start p{margin:0;max-width:34ch}.terminal-tip{color:#a1a1aa;font-size:.82rem}.terminal-run{display:inline-flex;align-items:center;gap:.5rem;margin-top:.6rem;padding:.8rem 1.4rem;border:none;border-radius:.55rem;background-color:#14b8a6;color:#fff;font:600 .95rem/1 system-ui,sans-serif;cursor:pointer;box-shadow:0 6px 18px -8px #14b8a6cc;transition:transform .2s,box-shadow .2s}.terminal-run svg{width:1rem;height:1rem}.terminal-run:focus-visible,.terminal-restart:focus-visible{outline:2px solid #5eead4;outline-offset:3px}.contact-section{padding:4rem 1.5rem;background-color:transparent;min-height:100vh;display:flex;align-items:center;justify-content:center;transition:background-color .25s ease}.contact-container{max-width:1400px;width:100%;display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;align-items:flex-start}@media(max-width:768px){.contact-container{grid-template-columns:1fr;gap:2rem}}.contact-left{color:var(--color-text);display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 2rem}.contact-title{font-size:3rem;font-weight:300;margin-bottom:1.5rem;color:var(--color-text);line-height:1.2}.contact-description{color:var(--color-text-muted);font-size:.95rem;margin-bottom:2rem;line-height:1.6}.contact-socials{display:flex;gap:1rem;justify-content:center}.social-icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:.5rem;font-size:1.25rem;text-decoration:none;transition:all .3s;cursor:pointer}.social-icon:hover{border-color:var(--color-accent);background-color:var(--color-card-bg-hover)}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact-form-box{background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:1rem;padding:2rem;transition:background-color .25s ease,border-color .25s ease}.contact-form-box input,.contact-form-box textarea{background-color:var(--color-card-bg-hover)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;color:var(--color-text);font-weight:500}.form-group input,.form-group textarea{width:100%;box-sizing:border-box;padding:.75rem 1rem;background-color:var(--color-card-bg-hover);border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text);font-family:inherit;font-size:.95rem;transition:border-color .3s,background-color .25s ease,color .25s ease}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{color:var(--color-text-muted)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group input:hover,.form-group textarea:hover{border-color:var(--color-accent)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}.submit-button{padding:.875rem 1.5rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s,transform .2s,box-shadow .2s;margin-top:.5rem}.submit-button:hover{background-color:#0d9488}.success-container{text-align:center;background-color:var(--color-card-bg);padding:3rem;border-radius:1rem;max-width:500px;width:100%}.success-icon{width:4rem;height:4rem;border:3px solid var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--color-accent);margin:0 auto 1.5rem}.success-title{font-size:1.875rem;color:var(--color-text);margin-bottom:.5rem}.success-message{color:var(--color-text-muted);margin-bottom:2rem}.back-button{padding:.75rem 1.5rem;background-color:transparent;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all .3s}.back-button:hover{background-color:var(--color-accent);color:#fff;transform:translateY(-2px)}.social-img{width:1.4rem;height:1.4rem;filter:brightness(0) invert(1)}:root[data-theme=light] .social-img{filter:none}.contact-info{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;width:100%;align-items:flex-start;padding-left:2rem}.info-item{display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.95rem;color:var(--color-text-muted)}.info-icon{font-size:1.125rem;color:var(--color-accent)}.contact-container-centered{width:100%;max-width:64rem}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:start;text-align:left}.contact-layout>*{min-width:0}.contact-info-panel{display:flex;flex-direction:column;gap:1.25rem;padding-top:.5rem}.contact-info-title{margin:0;font-family:var(--font-display);font-size:2rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--color-text);text-wrap:balance}.contact-info-text{margin:0;color:var(--color-text-muted);line-height:1.6}.contact-details{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.contact-details li{display:flex;align-items:center;gap:.9rem;color:var(--color-text)}.contact-details li>span:last-child{min-width:0;overflow-wrap:anywhere}.contact-details small{display:block;margin-bottom:.1rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.contact-details a{color:var(--color-text);text-decoration:none;transition:color .2s}.contact-details a:hover{color:var(--color-accent)}.contact-detail-icon{flex:none;width:2.5rem;height:2.5rem;border-radius:.6rem;display:grid;place-items:center;background:#14b8a61f;color:var(--color-accent-bright)}.contact-detail-icon svg{width:1.1rem;height:1.1rem}.contact-info-socials{display:flex;flex-wrap:wrap;gap:.6rem}.contact-social-link{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text);font-size:.9rem;text-decoration:none;transition:border-color .2s,background-color .2s}.contact-social-link:hover{border-color:var(--color-accent);background-color:var(--color-card-bg-hover)}.contact-social-link img{width:1.1rem;height:1.1rem;filter:brightness(0) invert(1)}:root[data-theme=light] .contact-social-link img{filter:none}@media(max-width:768px){.contact-layout{grid-template-columns:1fr;gap:2rem}}.topic-group{display:flex;flex-direction:column;gap:.6rem}.topic-label{font-size:.875rem;font-weight:500;color:var(--color-text)}.topic-options{display:flex;flex-wrap:wrap;gap:.5rem}.topic-chip{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-text-muted);font-family:inherit;font-size:.875rem;cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}.topic-chip:hover{border-color:var(--color-accent);color:var(--color-text)}.topic-chip[aria-pressed=true]{background:#14b8a626;border-color:var(--color-accent);color:var(--color-text)}.topic-chip:focus-visible{outline:2px solid var(--color-accent-glow);outline-offset:2px}.input-wrap{position:relative}.input-icon{position:absolute;left:.95rem;top:.9rem;width:1.1rem;height:1.1rem;color:var(--color-text-muted);pointer-events:none;transition:color .2s}.input-wrap input,.input-wrap textarea{padding-left:2.75rem;transition:border-color .3s,box-shadow .2s,background-color .25s ease,color .25s ease}.input-wrap input:focus,.input-wrap textarea:focus{box-shadow:0 0 0 3px #14b8a640}.input-wrap:focus-within .input-icon{color:var(--color-accent-bright)}.submit-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 6px 18px -8px #14b8a6cc}.submit-button svg{width:1.1rem;height:1.1rem;transition:transform .2s}.submit-button:hover svg{transform:translate(4px)}@media(prefers-reduced-motion:reduce){.submit-button svg{transition:none}}.submit-button:disabled:after{display:none}.submit-button:disabled{cursor:progress;opacity:.85;transform:none}.submit-spinner{width:1rem;height:1rem;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:submit-spin .7s linear infinite}@keyframes submit-spin{to{transform:rotate(360deg)}}.form-error{margin:0;padding:.85rem 1rem;border-radius:.5rem;border:1px solid rgba(248,113,113,.4);background:#f871711a;color:#f87171;font-size:.9rem;line-height:1.5;text-align:left}.form-error a{color:inherit;font-weight:600}:root[data-theme=light] .form-error{color:#b91c1c}@media(prefers-reduced-motion:reduce){.submit-spinner{animation-duration:1.5s}}.footer{background-color:var(--color-card-bg);background-image:var(--circuit-pattern);background-size:160px 160px;color:var(--color-text-muted);padding:4rem 1.5rem 2rem;width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;overflow:hidden;isolation:isolate;transition:background-color .25s ease}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent-bright),transparent)}.footer:after{content:"";position:absolute;top:0;left:20%;right:20%;height:6rem;background:radial-gradient(ellipse at top,rgba(20,184,166,.3),transparent 70%);pointer-events:none}.footer-container{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;padding-bottom:3rem;border-bottom:1px solid var(--color-border)}@media(max-width:768px){.footer-container{grid-template-columns:1fr;gap:2.5rem}}.footer-column{display:flex;flex-direction:column;gap:1.5rem}.footer-name{font-family:var(--font-display);font-size:1.75rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text);margin-bottom:.5rem}.footer-tagline{color:var(--color-text-muted);line-height:1.6;font-size:.95rem;max-width:350px}.footer-socials{display:flex;gap:1rem;justify-content:center}.footer-social-icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:.5rem;text-decoration:none;transition:all .3s;cursor:pointer}.footer-social-icon:hover{border-color:var(--color-accent);background-color:var(--color-card-bg-hover)}.footer-socials{flex-wrap:wrap}.footer-social-button{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .95rem;border:1px solid var(--color-border);border-radius:.55rem;background-color:var(--color-card-bg);color:var(--color-text);font-size:.9rem;font-weight:600;text-decoration:none;transition:border-color .2s,background-color .2s,transform .2s}.footer-social-button:hover{border-color:var(--color-accent);background-color:#14b8a61a;transform:translateY(-2px)}.footer-social-button:focus-visible{outline:2px solid var(--color-accent-glow);outline-offset:3px}.footer-social-button .social-img{width:1.1rem;height:1.1rem}@media(prefers-reduced-motion:reduce){.footer-social-button{transition:none}.footer-social-button:hover{transform:none}}.footer-heading{font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.5rem}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.footer-links a{color:var(--color-text-muted);text-decoration:none;transition:color .3s;font-size:.95rem}@media(max-width:768px){.footer-links a{padding-block:.35rem}}.footer-links a:hover{color:var(--color-accent)}.footer-contact{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.footer-contact li{display:flex;align-items:center;gap:.75rem;font-size:.95rem}.footer-contact li a,.footer-contact li>span:not(.footer-contact-icon){color:var(--color-text-muted);text-decoration:none;transition:color .3s}.footer-contact li a:hover,.footer-contact li:hover>span:not(.footer-contact-icon){color:var(--color-accent)}.footer-contact-icon{width:1.125rem;height:1.125rem;color:var(--color-accent);flex-shrink:0}.footer-bottom{max-width:1400px;margin:0 auto;padding-top:2rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.footer-bottom p{margin:0}.footer-cta-button:focus-visible{outline:2px solid var(--color-accent-glow);outline-offset:3px}.footer-cta{max-width:1400px;margin:0 auto 3rem;padding-bottom:3rem;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;text-align:left}.footer-cta-title{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.1;letter-spacing:-.025em;color:var(--color-text);text-wrap:balance}.footer-cta-title span{color:var(--color-accent-bright)}.footer-cta-button{flex-shrink:0;padding:.9rem 1.6rem;border-radius:.6rem;background-color:var(--color-accent);color:var(--color-accent-contrast);font-weight:600;text-decoration:none;box-shadow:0 6px 18px -8px #14b8a6cc;transition:background-color .2s,transform .2s,box-shadow .2s}.footer-cta-button:hover{background-color:#0d9488}@media(max-width:768px){.footer-cta{flex-direction:column;text-align:center}}.footer-column:first-child{align-items:center;text-align:center}.footer-column:first-child .footer-socials{justify-content:center}.footer-column:last-child{align-items:center;text-align:center}.footer-column:last-child .footer-contact{align-items:center}.back-to-top{position:fixed;right:1.5rem;bottom:1.5rem;z-index:90;width:3rem;height:3rem;border-radius:50%;border:none;background-color:var(--color-accent);color:var(--color-accent-contrast);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 20px -6px #00000080;opacity:0;transform:translateY(.5rem);pointer-events:none;transition:opacity .25s ease,transform .25s ease,background-color .2s ease}.back-to-top.show{opacity:1;transform:none;pointer-events:auto}.back-to-top:hover{background-color:var(--color-accent-bright)}.back-to-top:focus-visible{outline:2px solid var(--color-accent-glow);outline-offset:3px}.back-to-top-arrow{width:1.25rem;height:1.25rem}.back-to-top-ring{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);transform:rotate(-90deg);pointer-events:none}.back-to-top-track,.back-to-top-progress{fill:none;stroke-width:3}.back-to-top-track{stroke:color-mix(in srgb,var(--color-text) 15%,transparent)}.back-to-top-progress{stroke:var(--color-accent-bright);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .1s linear}@media(max-width:520px){.back-to-top{right:1rem;bottom:1rem;width:2.75rem;height:2.75rem}}@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:.75rem 1.5rem;background-color:transparent;color:var(--color-accent);text-decoration:none;border-radius:2rem;font-weight:500;font-size:.95rem;position:relative;z-index:2;transition:all .3s ease;border:2px solid var(--color-accent);width:-moz-fit-content;width:fit-content}.back-btn:hover{background-color:var(--color-accent);color:#fff;transform:translateY(-2px)}.back-arrow-icon{transition:transform .3s ease;flex-shrink:0}.back-btn:hover .back-arrow-icon{transform:translate(-4px)}.back-btn-container{display:flex;position:absolute;justify-content:center;align-items:center;max-width:10%;margin:6rem 2rem 1.5rem 7rem;top:14%}@media(max-width:2628px){.back-btn{padding:8px 16px;font-size:.875rem}.back-btn-container{max-width:100%;justify-content:flex-start;top:8rem}}.skill-card-link{text-decoration:none;color:inherit;display:block;height:100%}.skill-reveal{height:100%;opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.skill-reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.skill-reveal{transition:opacity .3s linear;transform:none}}.skills-section{padding:4rem 1.5rem;background-color:transparent;transition:background-color .25s ease}.skills-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.skills-section .back-btn-container{position:static;max-width:100%;justify-content:flex-start;top:auto;margin:0}.skills-filter-tabs{display:flex;flex-wrap:wrap;gap:.75rem}.skills-filter-tab{display:inline-flex;align-items:center;padding:.75rem 1.5rem;background-color:transparent;color:var(--color-accent);border-radius:2rem;font-weight:500;font-size:.95rem;font-family:inherit;transition:all .3s ease;border:2px solid var(--color-accent);cursor:pointer}.skills-filter-tab:hover{background-color:#0d9488;color:#fff;opacity:.8}.skills-filter-tab.active{background-color:var(--color-accent);color:#fff}.skills-container{max-width:80rem;margin:0 auto}.skills-title{font-size:2.25rem;font-weight:300;color:var(--color-text);margin-bottom:1rem;text-align:center}.skills-subtitle{color:var(--color-text-muted);font-size:1rem;margin-bottom:3rem;text-align:center;margin-left:auto;margin-right:auto}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.skill-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:.75rem;transition:all .3s;cursor:pointer;height:99px;box-sizing:border-box}.skill-card:hover{border-color:var(--color-accent);background-color:var(--color-card-bg-hover)}.skill-icon{width:3rem;height:3rem;-o-object-fit:contain;object-fit:contain}.skill-content{flex:1;min-width:0}.skill-name{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-description{font-size:.875rem;color:var(--color-text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.certifications-section{width:100vw;margin-top:5rem;margin-bottom:5rem;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:4rem 1.5rem;background-color:transparent!important;color:var(--color-text);transition:background-color .25s ease,color .25s ease}.container{max-width:96rem;margin:0 auto}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{font-size:2.5rem;margin-bottom:1rem;color:var(--color-text)}.section-header p{font-size:1.1rem;color:var(--color-text-muted)}.certifications-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.certifications-section .back-btn-container{position:static;max-width:100%;justify-content:flex-start;top:auto;margin:0}.cert-filter-tabs{display:flex;flex-wrap:wrap;gap:.75rem}.cert-filter-tab{display:inline-flex;align-items:center;padding:.75rem 1.5rem;background-color:transparent;color:var(--color-accent);border-radius:2rem;font-weight:500;font-size:.95rem;font-family:inherit;transition:all .3s ease;border:2px solid var(--color-accent);cursor:pointer}.cert-filter-tab:hover{background-color:#0d9488;color:#fff;opacity:.8}.cert-filter-tab.active{background-color:var(--color-accent);color:#fff}.certifications-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.cert-reveal{height:100%;opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.cert-reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.cert-reveal{transition:opacity .3s linear;transform:none}}.cert-card{display:flex;height:100%;box-sizing:border-box;border-radius:.75rem;overflow:hidden;border:1px solid var(--color-border);transition:border-color .3s,box-shadow .3s;cursor:pointer;color:var(--color-text)}.cert-card:hover{border-color:var(--color-accent);box-shadow:0 4px 24px #14b8a614}.cert-rail{position:relative;width:2.5rem;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:1.25rem 0;background:var(--color-rail-bg);border-right:1px solid rgba(20,184,166,.18)}.timeline-dot{width:.5rem;height:.5rem;border-radius:50%;background:#14b8a6;box-shadow:0 0 6px 2px #14b8a6cc;position:relative;z-index:1;flex-shrink:0}.timeline-line{position:absolute;left:50%;top:1.25rem;bottom:1.25rem;width:1px;transform:translate(-50%);background:linear-gradient(#14b8a600,#14b8a6b3 25% 75%,#14b8a600);box-shadow:0 0 8px 1px #14b8a666}.timeline-year{font-size:.625rem;font-weight:700;writing-mode:vertical-rl;transform:rotate(180deg);color:#14b8a6;text-shadow:0 0 8px rgba(20,184,166,.9);letter-spacing:.2em;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:1}.cert-content{flex:1;background:var(--color-card-bg);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;min-width:0;text-align:left}.cert-header{display:flex;justify-content:flex-end;align-items:center}.cert-status{border-radius:1rem;padding:.125rem .75rem;font-size:.75rem;font-weight:600;border:1px solid transparent;text-transform:uppercase;letter-spacing:.5px}.cert-status.completed{background:#22c55e1a;color:#22c55e;border-color:#22c55e66}.cert-title{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0;line-height:1.2}.cert-issuer{color:var(--color-text-muted);font-size:.95rem;font-weight:500;margin:0}.cert-description{color:var(--color-text-muted);font-size:.95rem;line-height:1.6;margin:0}.view-cert-hint{display:flex;align-items:center;gap:.375rem;color:var(--color-accent-bright);font-size:.875rem;margin-top:auto}.cert-card:hover .view-cert-hint{color:var(--color-accent-glow)}.cert-modal{display:none;position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;padding:20px;overflow-y:auto;align-items:center;justify-content:center}.cert-modal.active{display:flex}.modal-content{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:1rem;max-width:900px;width:100%;box-shadow:0 25px 50px #00000080;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:2rem 2rem 1rem;border-bottom:1px solid var(--color-border)}.modal-title{font-size:1.75rem;color:var(--color-text);margin-bottom:.5rem}.modal-subtitle{font-size:.95rem;color:var(--color-text-muted)}.close-btn{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:5px;transition:color .3s;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:var(--color-text)}.modal-body{padding:2rem;background:var(--color-overlay)}.certificate-display{background:#fff;border-radius:.5rem;overflow:hidden}.certificate-display img{width:100%;height:auto;display:block}.modal-footer{display:flex;justify-content:flex-end;align-items:center;padding:1.5rem 2rem;border-top:1px solid var(--color-border);background:var(--color-overlay)}.btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;text-decoration:none;border:none}.btn-close{background:var(--color-card-bg);color:var(--color-text);border:1px solid var(--color-border)}.btn-close:hover{background:var(--color-card-bg-hover)}@media(max-width:900px){.certifications-grid{grid-template-columns:1fr}.modal-content{margin:0}.modal-header,.modal-footer,.modal-body{padding:1rem}}@media(max-width:480px){.section-header h2{font-size:1.75rem}.cert-content{padding:1rem}.cert-header{flex-direction:column;gap:.75rem}.modal-title{font-size:1.2rem}}.lost-section{min-height:100vh;padding:7rem 1.5rem 4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;text-align:center}.lost-compass{width:9rem;height:9rem;margin-bottom:.75rem}.lost-ring{fill:none;stroke:var(--color-accent);stroke-opacity:.6;stroke-width:1.5}.lost-ring-dashed{stroke-dasharray:3 5;stroke-opacity:.45}.lost-north{fill:var(--color-accent-bright);font:700 9px ui-monospace,Consolas,monospace;text-anchor:middle}.lost-needle-north{fill:var(--color-text)}.lost-needle-south{fill:var(--color-accent);opacity:.7}.lost-needle{transform-origin:60px 60px;animation:lost-drift 5s ease-in-out infinite alternate}@keyframes lost-drift{0%{transform:rotate(-35deg)}40%{transform:rotate(50deg)}70%{transform:rotate(10deg)}to{transform:rotate(120deg)}}.lost-code{font-family:ui-monospace,Consolas,monospace;font-size:.8rem;font-weight:600;letter-spacing:.16em;color:var(--color-accent-bright)}.lost-title{margin:0;font-family:var(--font-display);font-size:clamp(2.5rem,7vw,3.75rem);font-weight:800;letter-spacing:-.025em;line-height:1.05;color:var(--color-text)}.lost-text{margin:0 0 1rem;max-width:34ch;color:var(--color-text-muted);line-height:1.6}.lost-home{padding:.9rem 1.6rem;border-radius:.6rem;background-color:var(--color-accent);color:var(--color-accent-contrast);font-weight:600;text-decoration:none;box-shadow:0 6px 18px -8px #14b8a6cc;transition:transform .2s,box-shadow .2s}.lost-home:focus-visible{outline:2px solid var(--color-accent-glow);outline-offset:3px}@media(prefers-reduced-motion:reduce){.lost-needle{animation:none}}.command-overlay{position:fixed;inset:0;z-index:1100;display:flex;justify-content:center;align-items:flex-start;padding:14vh 1rem 1rem;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.command-box{width:100%;max-width:36rem;overflow:hidden;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:.9rem;box-shadow:0 30px 70px -20px #000000b3,0 0 0 1px #14b8a626;text-align:left;animation:command-in .18s ease-out}@keyframes command-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}}.command-input{display:flex;align-items:center;gap:.75rem;padding:.95rem 1.1rem;border-bottom:1px solid var(--color-border);color:var(--color-text-muted)}.command-input svg{width:1.15rem;height:1.15rem;flex-shrink:0}.command-input input{flex:1;min-width:0;border:none;outline:none;background:none;color:var(--color-text);font:inherit;font-size:1rem}.command-input input::-moz-placeholder{color:var(--color-text-muted)}.command-input input::placeholder{color:var(--color-text-muted)}.command-list{list-style:none;margin:0;padding:.4rem;max-height:22rem;overflow-y:auto}.command-list li{display:flex;align-items:center;gap:.8rem;padding:.65rem .75rem;border-radius:.55rem;color:var(--color-text);font-size:.95rem;cursor:pointer}.command-list li small{margin-left:auto;color:var(--color-text-muted);font-size:.75rem}.command-icon{width:2rem;height:2rem;flex-shrink:0;display:grid;place-items:center;border-radius:.45rem;background:var(--color-card-bg-hover);color:var(--color-accent-bright);font-size:.9rem}.command-icon svg{width:1rem;height:1rem}.command-list li.is-active{background:#14b8a626}.command-list li.is-active .command-icon{background:var(--color-accent);color:var(--color-accent-contrast)}.command-list .command-empty{justify-content:center;color:var(--color-text-muted);cursor:default}.command-foot{display:flex;flex-wrap:wrap;gap:1.1rem;padding:.6rem 1.1rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.75rem}.command-foot span{display:inline-flex;align-items:center;gap:.3rem}.command-box kbd,.command-search-btn kbd{font-family:ui-monospace,Consolas,monospace;font-size:.7rem;font-weight:600;padding:.15rem .35rem;border:1px solid var(--color-border);border-bottom-width:2px;border-radius:.25rem;background:var(--color-card-bg-hover);color:var(--color-text-muted)}@media(prefers-reduced-motion:reduce){.command-box{animation:none}}
