@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(./manrope-400-BEIO-tX3.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(./manrope-500-C3q1kWH5.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(./manrope-600-DBphNC1-.ttf) format("truetype")}:root{--bg: #f5f5f7;--ink: #1d1d1f;--muted: #6e6e73;--blue: #166453;--line: rgba(29, 29, 31, .1);--glass: rgba(255, 255, 255, .66);font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;--teal: #7dffd4;--teal-light: #e5fff5;--accent: #7dffd4;--teal-ink: #124d40}*{box-sizing:border-box}html{scroll-padding-top:22px}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}h1,h2,p{margin:0}figure{margin:0}h1:focus{outline:none}h2:focus{outline:none}main:focus{outline:none}img{display:block;max-width:100%}[hidden]{display:none!important}.section{position:relative;isolation:isolate;scroll-margin-top:0;overflow:hidden}h1{font-size:clamp(4rem,6.7vw,6.5rem);letter-spacing:-.068em;line-height:1.02;font-weight:650;margin-top:27px;overflow-wrap:anywhere}h2{font-size:clamp(2.8rem,4.8vw,4.5rem);line-height:1.07}h3{font-size:23px;margin:9px 0 12px}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}*:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}[data-parallax]{translate:none!important}}@media(prefers-contrast:more){:root{--muted: #4d4d52}}h2,h3{font-weight:500;letter-spacing:-.035em}::selection{background:#7dffd4;color:#124d40}@keyframes text-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.slide-in{animation:text-enter .28s cubic-bezier(.2,.75,.25,1) both}@media(prefers-reduced-motion:reduce){.slide-in{animation:none!important;transform:none!important;opacity:1!important}}.skip-link{position:fixed;left:20px;top:-80px;z-index:20;padding:14px 24px;background:#fff;border-radius:14px}.skip-link:focus{top:20px}.hero-copy{position:relative;z-index:2}.name{color:var(--muted)}.hero-intro{line-height:1.52;color:var(--muted)}@media(max-width:700px){.hero-copy{padding:0;text-align:center}.hero-intro{margin:22px auto 0}}.hero h1{font-size:clamp(3.5rem,6vw,5.6rem);margin-top:0}.hero-intro{font-size:18px;margin-top:25px;max-width:none}@media(max-width:1000px)and (min-width:701px){.hero h1{font-size:clamp(3rem,6.4vw,4.5rem)}.hero-intro{font-size:16px}}@media(max-width:700px){.hero h1{max-width:480px;margin:auto}.hero-intro{font-size:16px;margin-top:20px}}.hero h1{font-weight:500;letter-spacing:-.045em;line-height:1.13}.hero-intro{letter-spacing:-.01em}.hero-copy{padding-bottom:20px}@media(max-width:700px){.hero h1{font-size:clamp(2.65rem,8.6vw,3.7rem)}.hero-copy{padding-bottom:0}}@media(max-width:370px){.hero h1{font-size:2.65rem}}.hero-intro.slide-in{animation-delay:45ms}.resume-link{display:flex;width:max-content;align-items:center;gap:8px;min-height:44px;margin:25px auto 0;font-size:14px;color:#166453;position:relative;z-index:2}.resume-link:hover{text-decoration:underline;text-underline-offset:4px}.resume-link.slide-in{animation-delay:.08s}@media(max-width:700px){.resume-link{margin-top:18px}}.portrait-scene{position:relative;max-width:425px;width:100%;justify-self:end;padding:20px 0 30px}.portrait-card{position:relative;height:470px;width:360px;max-width:100%;margin:auto;box-shadow:inset 0 1px 2px #fff,0 22px 55px #1f334212,0 1px 2px #fff;border:7px solid rgba(255,255,255,.6)}.portrait-placeholder{height:100%;position:relative;display:flex;align-items:center;justify-content:center;border-radius:inherit}.portrait-monogram{font-size:98px;opacity:.68}.portrait-label{position:absolute}.portrait-card img{height:100%;width:100%;object-fit:cover;border-radius:inherit}.portrait-orbit{position:absolute;border:1px solid #fff;border-radius:48%;transform:rotate(-17deg);z-index:-1}@media(min-width:1500px){.portrait-scene{max-width:450px}.portrait-card{width:380px;height:500px}}@media(max-width:1000px){.portrait-card{height:410px;width:315px}}@media(max-width:700px){.portrait-scene{justify-self:center}.portrait-card{border-width:6px}}.portrait-card{border-radius:190px 190px 44px 44px}.portrait-monogram{margin-top:0}.portrait-label{bottom:42px;font-size:12px;letter-spacing:0}.portrait-scene{padding-bottom:20px}.portrait-orbit{inset:-5px -20px 5px}@media(max-width:1000px)and (min-width:701px){.portrait-card{height:385px}.portrait-scene{min-width:0}}@media(max-width:700px){.portrait-scene{padding:0 15px;max-width:290px}.portrait-monogram{font-size:76px}.portrait-label{bottom:32px;font-size:12px}.portrait-orbit{inset:-12px 0}}.portrait-monogram{font-weight:500;letter-spacing:-.065em}@media(max-width:700px){.portrait-card{height:265px;width:215px}}.portrait-card{background:linear-gradient(140deg,#edf0f1,#d9e5e4 60%,#cbdedb)}.portrait-placeholder{background:radial-gradient(ellipse at 20% 10%,#ffffffad,transparent 65%),linear-gradient(155deg,#edf0f1,#d7e2e1)}.portrait-monogram{color:#849e9d}.portrait-label{color:#586c6b}.portrait-card img{object-position:50% 30%}.portrait-orbit{bottom:65px}@media(max-width:700px){.portrait-scene{padding-bottom:0}.portrait-orbit{bottom:53px}}.hero{max-height:1100px;padding:45px 64px 150px;display:flex;align-items:center}.hero-layout{width:100%;max-width:1120px;margin:0 auto;display:grid;align-items:center}.hero-glow{position:absolute;width:750px;height:750px;top:-150px;right:-120px;z-index:-1;pointer-events:none}@media(max-width:1000px){.hero{padding:45px 36px 145px}}@media(max-width:700px){.hero{max-height:none}}.hero-layout{grid-template-columns:1.2fr 1fr;gap:64px}@media(max-width:1000px)and (min-width:701px){.hero-layout{gap:34px;grid-template-columns:1.1fr 1fr}}@media(max-width:700px){.hero{padding:30px 25px 120px}.hero-layout{grid-template-columns:1fr}}@media(max-width:370px){.hero{padding-bottom:112px}.hero-layout{gap:34px}}.hero{padding-top:20px}@media(max-width:700px){.hero{padding-top:22px}}.hero{min-height:100svh;scroll-margin-top:-22px}.hero-glow{background:radial-gradient(ellipse,#7dffd421,transparent 66%)}@media(max-width:700px){.hero-layout{gap:26px}}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:45px}.section-heading>p{font-size:16px;line-height:1.5;color:var(--muted);max-width:225px;padding-bottom:5px}@media(max-width:700px){.section-heading{display:block}.section-heading>p{max-width:none;margin-top:18px;font-size:16px}.section-heading{margin-bottom:34px}}.work-tabs{display:flex;gap:4px;padding:5px;align-self:flex-start;margin:0 0 28px;border:1px solid #e5e8e7;border-radius:99px;background:#f5f7f6;max-width:100%}.work-tab{border:0;background:transparent;color:var(--muted);font-size:14px;line-height:1.2;padding:12px 22px;border-radius:99px;min-height:44px;cursor:pointer;transition:background .18s,color .18s}.work-tab[aria-selected=true]{background:#7dffd4;color:#124d40}.work-tab:hover{color:#124d40}.work-section [role=tabpanel]{width:100%;max-width:960px;margin:0 auto}@media(min-width:1240px){.work-tabs{margin-left:max(0px,calc((100% - 960px)/2))}}@media(max-width:700px){.work-tabs{margin-bottom:22px}.work-tab{padding:11px 19px;font-size:13px}}.work-section [role=tabpanel]:not([hidden]){animation:panel-enter .28s cubic-bezier(.2,.75,.25,1) both}@keyframes panel-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.project-visual{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.visual-two{background:radial-gradient(at 100% 0,#fafafa,transparent 65%),linear-gradient(140deg,#e6e7eb,#c3c6d1)}.project-numeral{line-height:1;letter-spacing:-.095em;color:#ffffffab;text-shadow:0 1px 0 #fff}.project-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-numeral{font-weight:500}.visual-one{background:radial-gradient(at 0 0,#f1fff9,transparent 65%),linear-gradient(145deg,#e4f3ed,#a2e5ce)}.visual-three{background:radial-gradient(at 100% 10%,#eef7f3,transparent 65%),linear-gradient(145deg,#e0ebe7,#b2d8cb)}.project-visual{height:120px;flex-shrink:0}.project-numeral{font-size:66px;transform:translate(-3px,-2px)}@media(max-width:700px){.project-visual{height:100%;min-height:100%}.project-numeral{font-size:31px;transform:none;letter-spacing:-.07em}}.project-card{min-width:0;overflow:hidden;background:var(--bg);transition:transform .3s,box-shadow .3s}.project-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #1d1d1f0c}.project-type,.project-copy p{color:var(--muted)}.project-link{display:inline-flex;align-items:center;gap:8px}.project-copy h3{margin-bottom:12px}.project-link{color:#166453}.project-link:hover{color:#0b4f3d}.project-card{border-radius:22px;display:flex;flex-direction:column}.project-copy{padding:20px;display:flex;flex-direction:column;flex:1}.project-copy h3{font-size:20px;margin:9px 0 10px;line-height:1.3}.project-copy p{font-size:14px;line-height:1.55;margin-bottom:12px}.project-type{font-size:12px;line-height:1.5}.project-link{font-size:14px;margin-top:auto;min-height:38px;align-self:flex-start}@media(max-width:1000px){.project-copy{padding:17px}.project-copy h3{font-size:19px}}@media(max-width:700px){.project-card{display:grid;grid-template-columns:66px minmax(0,1fr);border-radius:20px}.project-copy{padding:18px}.project-copy h3{font-size:18px}.project-copy p{font-size:14px;margin-bottom:7px}.project-type{font-size:12px}.project-link{min-height:36px}}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid{max-width:960px;gap:20px;margin:0 auto}@media(max-width:1000px){.project-grid{gap:14px}}@media(max-width:700px){.project-grid{gap:14px;grid-template-columns:1fr}}.experience-card{padding:25px;border-radius:22px;background:#f5f5f7;border:1px solid #eceeef}.experience-header{display:flex;flex-direction:column;gap:9px}.experience-header h3{font-size:21px;margin:0;line-height:1.3}.experience-date{font-size:12px;color:var(--muted)}.experience-role{font-size:14px;color:#166453;margin:21px 0 12px;font-weight:500}.experience-summary{font-size:14px;line-height:1.6;color:var(--muted)}@media(max-width:1000px){.experience-card{padding:22px}}@media(max-width:700px){.experience-card{padding:22px}.experience-header h3{font-size:20px}}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:1000px){.experience-grid{gap:16px}}@media(max-width:700px){.experience-grid{grid-template-columns:1fr}}.work-section{padding:105px max(64px,calc((100% - 1120px)/2)) 150px;background:#fff}@media(max-width:1000px){.work-section{padding:85px 36px 145px}}@media(max-width:700px){.work-section{padding:75px 25px 135px}}.work-section{display:flex;flex-direction:column}.work-section{min-height:100svh;padding-top:80px;padding-bottom:135px;justify-content:flex-start}.work-section .section-heading{width:100%;max-width:960px;margin:0 auto 24px}.work-section h2{font-size:clamp(2.3rem,4vw,3.4rem)}@media(max-width:700px){.work-section{padding-top:65px}.work-section h2{font-size:2.25rem;line-height:1.15}}.skills-list li{font-size:13px;padding:10px 15px;border:1px solid #c9dedb;border-radius:99px}@media(max-width:700px){.skills-list li{font-size:13px}}.skills-list li{background:#7dffd421;border-color:#afe8d5;color:#245d4d}@media(prefers-contrast:more){.skills-list li{border-color:#245d4d}}.skills-heading{font-size:14px;font-weight:600;letter-spacing:0;margin:0 0 15px}.skills-list{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:0}.about-section{padding:105px max(64px,calc((100% - 1120px)/2)) 150px;display:flex;flex-direction:column;justify-content:center}.about-layout{display:grid;align-items:center}.about-story{border-top:1px solid #cfcfd5;padding-top:27px}.about-story>p{letter-spacing:-.025em}@media(max-width:1000px){.about-section{padding:85px 36px 145px}}@media(max-width:700px){.about-section{padding:75px 25px 135px}}.about-story{border:0;padding:0}.about-story>p{font-size:22px;line-height:1.6;color:var(--muted);margin:0 0 32px}.about-layout{grid-template-columns:.85fr 1.15fr;gap:85px}.about-section{min-height:90svh}@media(max-width:1000px){.about-layout{gap:45px}.about-story>p{font-size:19px}}@media(max-width:700px){.about-layout{grid-template-columns:1fr;gap:32px}.about-story>p{font-size:18px;margin-bottom:25px}.about-section{min-height:90svh}}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border-radius:99px;padding:16px 23px;font-size:14px;font-weight:500;min-height:48px;transition:background .2s,transform .2s,box-shadow .2s}.button-primary:hover{transform:translateY(-2px)}.button span{font-size:18px}.text-link{font-size:14px;display:flex;align-items:center;gap:10px;min-height:44px}.text-link span{font-size:24px;color:var(--muted)}.button-primary{background:#7dffd4;color:#124d40;box-shadow:0 5px 18px #7dffd433}.button-primary:hover{background:#68ecc0;color:#124d40;box-shadow:0 8px 24px #7dffd450}.text-link:hover{color:#166453}.contact-actions{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;min-height:50px}.contact-pending{font-size:14px;color:var(--muted);border-radius:99px}.contact-actions{margin-top:28px}.contact-pending{border:0;background:transparent;padding:0}.page-footer{position:absolute;left:max(64px,calc((100% - 1120px)/2));right:max(64px,calc((100% - 1120px)/2));bottom:126px;display:flex;align-items:center;gap:20px;font-size:12px;color:var(--muted)}.page-footer a{min-height:44px;display:flex;align-items:center;gap:14px}@media(max-width:1000px){.page-footer{left:36px;right:36px}}@media(max-width:700px){.page-footer{left:25px;right:25px;bottom:112px;flex-direction:column;gap:8px}}.page-footer{justify-content:center}.contact-section{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:110px 32px 195px;background:#fff}.contact-section h2{font-size:clamp(3rem,6.5vw,6rem)}.contact-glow{position:absolute;left:calc(50% - 390px);top:10px;width:780px;height:650px;z-index:-1}@media(max-width:700px){.contact-section{padding:90px 25px 205px}.contact-section h2{font-size:clamp(2.8rem,10.5vw,4.5rem)}}.contact-section h2{margin:0}.contact-section{min-height:90svh}.contact-glow{background:radial-gradient(ellipse,#7dffd41c,transparent 68%)}.dock-icon{font-size:20px;line-height:1;width:19px;text-align:center}.dock-icon{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media(max-width:370px){.dock-icon{display:none}}.dock-icon.icon-projects,.dock-icon.icon-skills{display:inline-block;flex-shrink:0;width:19px;height:19px;background:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.icon-projects{-webkit-mask-image:url("data:image/svg+xml,%3c!--%20@license%20lucide-static%20v0.468.0%20-%20ISC%20--%3e%3csvg%20class='lucide%20lucide-notebook-pen'%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20%3e%3cpath%20d='M13.4%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2v-7.4'%20/%3e%3cpath%20d='M2%206h4'%20/%3e%3cpath%20d='M2%2010h4'%20/%3e%3cpath%20d='M2%2014h4'%20/%3e%3cpath%20d='M2%2018h4'%20/%3e%3cpath%20d='M21.378%205.626a1%201%200%201%200-3.004-3.004l-5.01%205.012a2%202%200%200%200-.506.854l-.837%202.87a.5.5%200%200%200%20.62.62l2.87-.837a2%202%200%200%200%20.854-.506z'%20/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3c!--%20@license%20lucide-static%20v0.468.0%20-%20ISC%20--%3e%3csvg%20class='lucide%20lucide-notebook-pen'%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20%3e%3cpath%20d='M13.4%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2v-7.4'%20/%3e%3cpath%20d='M2%206h4'%20/%3e%3cpath%20d='M2%2010h4'%20/%3e%3cpath%20d='M2%2014h4'%20/%3e%3cpath%20d='M2%2018h4'%20/%3e%3cpath%20d='M21.378%205.626a1%201%200%201%200-3.004-3.004l-5.01%205.012a2%202%200%200%200-.506.854l-.837%202.87a.5.5%200%200%200%20.62.62l2.87-.837a2%202%200%200%200%20.854-.506z'%20/%3e%3c/svg%3e")}.icon-skills{-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-target-arrow'%20%3e%3cpath%20stroke='none'%20d='M0%200h24v24H0z'%20fill='none'/%3e%3cpath%20d='M12%2012m-1%200a1%201%200%201%200%202%200a1%201%200%201%200%20-2%200'%20/%3e%3cpath%20d='M12%207a5%205%200%201%200%205%205'%20/%3e%3cpath%20d='M13%203.055a9%209%200%201%200%207.941%207.945'%20/%3e%3cpath%20d='M15%206v3h3l3%20-3h-3v-3z'%20/%3e%3cpath%20d='M15%209l-3%203'%20/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-target-arrow'%20%3e%3cpath%20stroke='none'%20d='M0%200h24v24H0z'%20fill='none'/%3e%3cpath%20d='M12%2012m-1%200a1%201%200%201%200%202%200a1%201%200%201%200%20-2%200'%20/%3e%3cpath%20d='M12%207a5%205%200%201%200%205%205'%20/%3e%3cpath%20d='M13%203.055a9%209%200%201%200%207.941%207.945'%20/%3e%3cpath%20d='M15%206v3h3l3%20-3h-3v-3z'%20/%3e%3cpath%20d='M15%209l-3%203'%20/%3e%3c/svg%3e")}@media(max-width:700px){.dock-icon,.dock-icon.icon-projects,.dock-icon.icon-skills{display:inline-block;width:18px;height:18px;font-size:18px;line-height:18px}}.dock-link{display:flex;position:relative;z-index:1;align-items:center;justify-content:center;gap:9px;padding:14px 19px;min-height:48px;border-radius:99px;font-weight:500;color:#66666c;white-space:nowrap;transition:color .2s,background .2s}.dock-link:hover{background:#ffffff52}@media(max-width:370px){.dock-link{padding:12px 10px;gap:5px}}@media(prefers-contrast:more){.dock-link.is-active{text-decoration:underline}}.dock-link{font-size:14px}.dock-link{padding-left:18px;padding-right:18px}@media(max-width:700px){.dock-link{padding-left:12px;padding-right:12px}}@media(max-width:370px){.dock-link{font-size:12px;padding-left:10px;padding-right:10px}}.dock-link.is-active,.dock-link.is-active:hover{color:#124d40;background:transparent}.dock-link:hover{color:#166453}@media(prefers-contrast:more){.dock-link.is-active{color:#124d40}}@media(max-width:700px){.dock-link{flex-direction:column;gap:4px;padding:9px 8px;font-size:12px;min-height:55px;border-radius:25px}}.dock{position:fixed;z-index:10;bottom:calc(23px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;gap:4px;border-radius:99px;padding:7px;border:1px solid #ffffffef;background:#f9f9fcbf;backdrop-filter:blur(28px) saturate(1.65);-webkit-backdrop-filter:blur(28px) saturate(1.65);box-shadow:0 10px 40px #202f461a,0 2px 7px #202f4608,inset 0 1px #fff;max-width:calc(100% - 24px)}.dock-indicator{position:absolute;top:7px;left:7px;height:calc(100% - 14px);width:100px;border-radius:99px;transition:transform .38s cubic-bezier(.22,.8,.22,1),width .38s cubic-bezier(.22,.8,.22,1)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.dock{background:#f2f3f6}}@media(max-width:700px){.dock{bottom:calc(16px + env(safe-area-inset-bottom));padding:6px}.dock-indicator{top:6px;left:6px;height:calc(100% - 12px)}}@media(prefers-contrast:more){.dock{background:#fff}}.dock-indicator{border:1px solid #ffffff25}.dock-indicator{background:#7dffd4;border-color:#b4ffe7;box-shadow:0 3px 14px #7dffd44d,inset 0 1px 1px #ffffffb0}@media(prefers-contrast:more){.dock-indicator{background:#7dffd4;border-color:#124d40}}@media(max-width:700px){.dock{gap:2px}.dock-indicator{border-radius:25px}}
