@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";*,:before,:after{--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: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-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,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.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)}:root{font-family:Manrope,sans-serif;color:#eef3f3;background:#091011;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#091011}body,button,input,textarea{font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer}.site-shell{min-height:100vh;overflow:hidden;position:relative;background:radial-gradient(circle at 74% 8%,rgba(22,94,88,.16),transparent 29%),radial-gradient(circle at 10% 46%,rgba(34,67,75,.11),transparent 31%),#091011}.site-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E");z-index:10}.ambient{position:absolute;width:480px;height:480px;border-radius:50%;filter:blur(110px);opacity:.15;pointer-events:none}.ambient-one{background:#1d8f81;top:460px;right:-280px}.ambient-two{background:#397484;top:1600px;left:-330px}.section-wrap{width:min(1160px,calc(100% - 64px));margin:0 auto}.topbar{width:min(1160px,calc(100% - 64px));height:82px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(194,216,214,.12);position:relative;z-index:20}.brand{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:-.02em}.brand-mark{width:29px;height:29px;display:grid;place-items:center;color:#08100f;background:#a8e6d8;font-size:10px;font-weight:800;letter-spacing:.04em;border-radius:8px}.brand-dot{color:#73d7c4}.main-nav{display:flex;align-items:center;gap:26px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#91a6a5}.main-nav a{transition:color .25s ease}.main-nav a:hover,.main-nav a.active{color:#d5f2eb}.main-nav a.active{position:relative}.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:1px;background:#8ed9c9}.main-nav .nav-resume{display:inline-flex;align-items:center;gap:5px;color:#a8e6d8;border:1px solid rgba(168,230,216,.35);padding:9px 12px;border-radius:3px}.menu-toggle{display:none;color:#d5f2eb;border:0;background:transparent}.hero{min-height:700px;display:grid;grid-template-columns:1fr .83fr;gap:70px;align-items:center;position:relative;padding:100px 0 90px}.eyebrow,.section-index,.project-type,.experience-meta,.code-status,.scroll-cue{font:500 10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.14em;color:#80b9ad}.eyebrow{display:flex;align-items:center;gap:11px}.eyebrow-line{display:inline-block;width:29px;height:1px;background:#64cbb9}.hero h1{max-width:730px;font-size:clamp(3.3rem,6vw,5.7rem);line-height:.99;letter-spacing:-.075em;margin:28px 0 26px;font-weight:700}.hero h1 span,h2 span,.display-text span{color:#91daca}.hero-lede{max-width:545px;color:#b7c8c5;font-size:18px;line-height:1.6;margin:0 0 16px}.hero-intro{max-width:535px;color:#738684;font-size:13px;line-height:1.8;margin-bottom:30px}.hero-actions,.social-row,.resume-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 17px;border-radius:3px;border:1px solid transparent;font-size:11px;font-weight:700;letter-spacing:.03em;transition:transform .25s ease,background .25s ease,border-color .25s ease}.button:hover{transform:translateY(-3px)}.button-primary{background:#a8e6d8;color:#0b1917}.button-primary:hover{background:#caf4e8}.button-secondary,.button-outline{background:#c5e0db0a;color:#d0e4df;border-color:#b0d5ce3d}.button-secondary:hover,.button-outline:hover{background:#b0d5ce1a;border-color:#b0d5ce80}.social-row{margin-top:29px;gap:23px;color:#778d8b;font-size:11px}.social-row a{display:inline-flex;align-items:center;gap:7px;transition:color .2s ease}.social-row a:hover{color:#a8e6d8}.hero-visual{min-height:410px;position:relative;display:grid;place-items:center}.code-window{width:min(100%,440px);position:relative;z-index:2;transform:rotate(2.2deg);box-shadow:0 28px 80px #0000005c}.glass-card{background:linear-gradient(140deg,#293f408a,#101d1e7a);border:1px solid rgba(159,209,202,.16);box-shadow:inset 0 1px #defff60a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.window-bar{height:43px;display:flex;align-items:center;gap:6px;padding:0 17px;border-bottom:1px solid rgba(168,230,216,.1)}.window-bar span{width:7px;height:7px;border-radius:50%;background:#385452}.window-bar span:first-child{background:#71b7a8}.window-bar small{margin-left:auto;color:#58706e;font:10px DM Mono,monospace}.code-body{padding:28px 23px 24px;font:12px/2.18 DM Mono,monospace;color:#b2cbc5}.code-body div{display:grid;grid-template-columns:29px 1fr}.code-body i{color:#486967;font-style:normal}.code-body b{color:#8ad9c7;font-weight:500}.code-body em{color:#d2e6e1;font-style:normal}.code-body strong{color:#c7a57a;font-weight:400}.code-body u{color:#8bc3eb;text-decoration:none}.code-status{border-top:1px solid rgba(168,230,216,.1);padding:14px 20px;display:flex;align-items:center;gap:7px;font-size:9px}.code-status b{color:#8cd9a9;font-weight:500;margin-left:auto}.status-pulse{width:6px;height:6px;background:#8cd9a9;border-radius:50%;box-shadow:0 0 10px #8cd9a9}.orbit{position:absolute;border:1px solid rgba(133,211,198,.11);border-radius:50%}.orbit-one{width:490px;height:490px;transform:rotate(-30deg) scaleY(.54)}.orbit-two{width:440px;height:440px;transform:rotate(35deg) scaleY(.5);border-color:#85d3c612}.floating-note{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#142929d6;color:#a3c9c1;border:1px solid rgba(153,219,206,.2);font:10px DM Mono,monospace;box-shadow:0 10px 25px #0003}.note-one{top:20px;right:-16px}.note-two{left:-25px;bottom:32px}.scroll-cue{position:absolute;bottom:28px;left:0;display:flex;align-items:center;gap:10px;color:#54706c;font-size:9px}.scroll-cue span{display:inline-block;height:35px;width:1px;background:#54706c}.section-block{padding:105px 0}.section-heading{display:flex;align-items:center;gap:15px;margin-bottom:47px}.section-heading h2{margin:0;font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:-.055em}.heading-rule{display:block;height:1px;width:75px;background:#8ed9c940;margin-left:4px}.section-index{color:#5b7f7a;font-size:10px}.about-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:center}.display-text{color:#e4efec;font-size:clamp(1.55rem,3vw,2.75rem);line-height:1.25;letter-spacing:-.06em;margin:0 0 25px}.muted-copy{max-width:560px;color:#7e9491;font-size:13px;line-height:1.85;margin:0}.about-card{padding:29px}.card-icon{color:#9adfd0;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(157,223,208,.22);margin-bottom:25px}.about-card p{color:#b3c8c3;line-height:1.7;font-size:14px;margin:0}.about-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:27px}.about-tags span,.badge-list span,.tech-row span{font:9px DM Mono,monospace;color:#7eaaa2;border:1px solid rgba(133,190,180,.18);padding:6px 8px}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.skill-card{padding:20px;min-height:164px;transition:transform .3s ease,border-color .3s ease}.skill-card:hover,.project-card:hover{transform:translateY(-7px);border-color:#96ddd066}.skill-card:last-child{grid-column:span 2}.skill-top{display:flex;justify-content:space-between;color:#8bd6c6}.skill-top span{font:10px DM Mono,monospace;color:#486764}.skill-card h3{font-size:12px;color:#c7dad6;font-weight:600;margin:23px 0 15px}.badge-list{display:flex;flex-wrap:wrap;gap:6px}.badge-list span{color:#8ea9a5;font-size:8px;padding:5px 6px}.section-lede{color:#809794;font-size:13px;line-height:1.75;max-width:520px;margin:-19px 0 53px 88px}.timeline{position:relative}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:23px;width:1px;background:#85c0b629}.experience-item{display:grid;grid-template-columns:47px 1fr;gap:30px;padding-bottom:56px}.timeline-marker{width:47px;height:47px;display:grid;place-items:center;background:#0c1c1d;border:1px solid #305653;z-index:1}.timeline-marker span{color:#8fd8c9;font:10px DM Mono,monospace}.experience-content{border-bottom:1px solid rgba(158,201,194,.12);padding:0 0 45px}.experience-item:last-child .experience-content{border-bottom:0}.experience-header{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px}.experience-role{margin:0 0 10px;color:#e1ece9;font-size:17px;font-weight:700;letter-spacing:-.035em}.experience-role span{color:#8daca7;font-weight:500}.experience-role b{background:#64c5aa24;color:#88d9c7;padding:4px 7px;margin-left:10px;font:8px DM Mono,monospace;text-transform:uppercase;letter-spacing:.1em;vertical-align:2px}.experience-meta{color:#66807c;font-size:9px}.experience-meta span{padding:0 8px;color:#45655f}.location-icon{color:#6e928b;margin-top:3px}.experience-content ul{margin:0 0 25px;padding-left:18px;max-width:860px}.experience-content li{color:#8da39f;font-size:12px;line-height:1.75;padding-left:6px;margin-bottom:9px}.experience-content li::marker{color:#78c9b9}.tech-row{display:flex;flex-wrap:wrap;gap:6px}.tech-row span{color:#719892;font-size:8px;padding:5px 7px}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.project-card{min-height:410px;display:flex;flex-direction:column;padding:25px;transition:transform .3s ease,border-color .3s ease}.project-top{display:flex;justify-content:space-between;align-items:center}.project-number{color:#68958e;font:12px DM Mono,monospace}.project-top a{color:#78b9ad;transition:color .2s ease,transform .2s ease}.project-top a:hover{color:#cbf7eb;transform:translate(2px,-2px)}.project-type{color:#76baac;font-size:9px;margin:39px 0 12px}.project-card h3{color:#dcebe7;font-size:20px;letter-spacing:-.04em;margin:0 0 15px}.project-description{color:#829894;font-size:12px;line-height:1.8;margin:0 0 24px}.feature-list{list-style:none;margin:0 0 26px;padding:0}.feature-list li{display:flex;align-items:center;gap:8px;color:#a4b9b5;font-size:11px;margin-bottom:10px}.feature-list svg{color:#78cdbb;flex-shrink:0}.project-card .tech-row{margin-top:auto}.project-link{display:inline-flex;align-items:center;gap:7px;color:#92d7c9;font:10px DM Mono,monospace;margin-top:23px}.resume-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:73px;padding-bottom:73px;margin-top:38px;border-top:1px solid rgba(158,201,194,.14);border-bottom:1px solid rgba(158,201,194,.14)}.resume-cta h2{margin:21px 0 0;font-size:clamp(1.8rem,4vw,3.1rem);line-height:1.1;letter-spacing:-.06em}.contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:90px;align-items:start}.contact-details{display:grid;gap:18px;margin-top:37px}.contact-details a,.contact-details div{display:flex;align-items:center;gap:15px;color:#91ada8;font-size:12px}.contact-details svg{color:#84d0c0}.contact-details span{display:flex;flex-direction:column;gap:5px}.contact-details small{color:#55736f;text-transform:uppercase;font:9px DM Mono,monospace;letter-spacing:.12em}.contact-form{padding:28px;display:grid;gap:19px}.contact-form label{display:grid;gap:8px;color:#a7bfba;font:10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.1em}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(163,206,198,.16);background:#030d0e66;color:#d5e6e2;padding:13px 14px;border-radius:2px;font:12px Manrope,sans-serif;outline:none;resize:vertical;transition:border-color .2s ease,background .2s ease}.contact-form input:focus,.contact-form textarea:focus{border-color:#73cbbb;background:#051515a6}.contact-form input::-moz-placeholder,.contact-form textarea::-moz-placeholder{color:#4e6965}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#4e6965}.contact-form .button{justify-self:start;margin-top:2px}.form-note{color:#8fd8aa;font-size:11px;margin:-2px 0 0;line-height:1.5}.footer{min-height:105px;border-top:1px solid rgba(158,201,194,.14);display:flex;align-items:center;justify-content:space-between;gap:25px;color:#58716e;font:10px DM Mono,monospace}.footer-social{display:flex;gap:15px}.footer-social a{color:#6d918b;transition:color .2s ease}.footer-social a:hover{color:#a8e6d8}.reveal{animation:rise-in .8s both;animation-timeline:view();animation-range:entry 0% cover 22%}.delay-one{animation-delay:.12s}.delay-two{animation-delay:.2s}.delay-three{animation-delay:.28s}@keyframes rise-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 860px){.section-wrap,.topbar{width:min(100% - 40px,680px)}.topbar{height:70px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;padding:20px;background:#0a1919f7;border:1px solid rgba(159,209,202,.17);flex-direction:column;align-items:flex-start;gap:18px}.main-nav.is-open{display:flex}.main-nav a.active:after{display:none}.hero{grid-template-columns:1fr;gap:30px;padding-top:75px}.hero-visual{min-height:360px}.scroll-cue{display:none}.about-grid,.contact-grid{grid-template-columns:1fr;gap:38px}.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-card:last-child{grid-column:span 2}.projects-grid{grid-template-columns:1fr}.project-card{min-height:auto}.resume-cta{align-items:flex-start;flex-direction:column}.section-lede{margin-left:0}.contact-grid{gap:45px}}@media (max-width: 520px){.section-wrap,.topbar{width:calc(100% - 32px)}.hero{min-height:710px;padding:70px 0 80px}.hero h1{font-size:3.4rem}.hero-lede{font-size:16px}.hero-visual{min-height:310px;transform:scale(.88);margin:-10px -30px}.code-window{width:390px}.note-one{right:-5px}.note-two{left:-10px}.section-block{padding:76px 0}.section-heading{margin-bottom:33px;gap:10px}.section-heading h2{font-size:1.8rem}.heading-rule{width:38px}.skills-grid{gap:10px}.skill-card{padding:15px;min-height:180px}.skill-card:last-child{grid-column:span 2;min-height:auto}.experience-item{grid-template-columns:34px 1fr;gap:17px}.timeline:before{left:17px}.timeline-marker{width:34px;height:34px}.experience-role{font-size:14px;line-height:1.5}.experience-role span{display:block}.experience-role b{margin-left:0}.experience-meta{line-height:1.6}.experience-meta span{padding:0 3px}.experience-header{gap:5px}.experience-content li{font-size:11px}.contact-form{padding:20px}.footer{padding:28px 0;flex-wrap:wrap}.footer p{order:3;width:100%}.social-row{gap:13px}.resume-actions{width:100%}.resume-actions .button{flex:1;font-size:10px;padding-inline:10px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{animation:none}.button,.skill-card,.project-card{transition:none}}
