@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{color:#202135;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fffdfa;font-family:DM Sans,sans-serif;font-size:15px;font-weight:400;line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{min-width:320px;margin:0}button,a{font:inherit}button{cursor:pointer}a{color:inherit}button,input{font:inherit}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}a{text-decoration:none}img{max-width:100%;display:block}button{border:0}::selection{color:#28213a;background:#ffdbd2}:focus-visible{outline-offset:5px;outline:3px solid #a1427a}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1715269c}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}:root{--ink:#202135;--muted:#666778;--coral:#e66151;--line:#ece8e3;--gradient:linear-gradient(110deg, #f58255, #ed5c75 65%, #d74c9b)}#root{overflow:clip}.navbar,main,.footer{max-width:1260px;margin:auto;padding-inline:48px}.navbar{justify-content:space-between;align-items:center;gap:30px;height:96px;display:flex}.logo{letter-spacing:-1px;align-items:center;gap:8px;font:800 25px Manrope,sans-serif;display:flex}.logo-dot{background:var(--gradient);border-radius:50%;width:17px;height:17px}.logo-slash{color:#f68b6d;margin-left:2px;font-weight:500}.nav-links{gap:32px;font-size:13px;font-weight:600;display:flex}.nav-links a{padding-block:10px;position:relative}.nav-links a:hover{color:var(--coral)}.github-button{background:var(--ink);color:#fff;border-radius:9px;padding:9px 18px;font-size:12px;font-weight:600}.github-button span{margin-left:15px}.menu-toggle{display:none}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:12px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.hero{grid-template-columns:1.12fr 1fr;align-items:center;gap:70px;padding:55px 0 85px;display:grid;position:relative}.hero-badge{color:#a94736;letter-spacing:.035em;background:#fff0e9;border:1px solid #fce2d5;border-radius:30px;align-items:center;gap:8px;padding:7px 12px;font-size:10px;font-weight:700;display:inline-flex}.status-dot{background:#ed8861;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #fce0d0}.hero h1{letter-spacing:-2.6px;margin-top:23px;font-size:clamp(40px,4.3vw,58px);font-weight:800;line-height:1.13}.gradient-text{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-role{margin-top:21px;font-size:14px;font-weight:650}.hero-role span{color:var(--muted);font-weight:400}.hero-description{max-width:480px;color:var(--muted);margin-top:13px;font-size:14px;line-height:1.85}.hero-buttons{gap:12px;margin-top:26px;display:flex}.btn-primary,.btn-secondary{border-radius:9px;justify-content:center;align-items:center;gap:25px;padding:12px 19px;font-size:12px;font-weight:650;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn-primary{background:var(--gradient);color:#fff;box-shadow:0 5px 14px #ed796521}.btn-secondary{background:#fff;border:1px solid #e5ded7}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-3px);box-shadow:0 8px 20px #ed79652b}.hero-footnote{color:#8b8790;letter-spacing:1.4px;align-items:center;gap:13px;margin-top:30px;font-size:9px;display:flex}.hero-footnote i{background:#efb6a7;border-radius:50%;width:3px;height:3px}.hero-visual{isolation:isolate;padding:15px 10px 20px;position:relative}.hero-visual:before{content:"";z-index:-1;background:linear-gradient(140deg,#fff4e9,#ffe5df 60%,#fce9f3);border-radius:46% 54% 40% 55%;position:absolute;inset:15px -55px -15px -45px;transform:rotate(-7deg)}.hero-visual:after{content:"";z-index:-1;border:1px solid #f8c6ae;border-radius:46% 40% 45% 50%;position:absolute;inset:5px -28px 10px -15px;transform:rotate(9deg)}.portrait-frame{border:6px solid #fff9f2;border-radius:130px 130px 22px 22px;max-width:345px;height:420px;margin:auto;overflow:hidden;transform:rotate(3deg);box-shadow:0 20px 45px #aa6a4620}.hero-photo{object-fit:cover;object-position:center 55%;width:100%;height:100%;transform:rotate(-3deg)scale(1.07)}.floating-note{z-index:2;border:1px solid #fff9;border-radius:12px;position:absolute;box-shadow:0 10px 30px #4a354d14}.code-note{color:#e7dce6;background:#24243b;padding:12px 17px;font-size:10px;line-height:1.9;top:40px;left:-28px;transform:rotate(-7deg)}.window-dots{color:#f59b82;letter-spacing:2px;margin-bottom:8px;font-size:7px;display:block}.code-note code em{color:#c7a3f2;font-style:normal}.code-note code b{color:#f5bb95;font-weight:400}.location-note{background:#fffdf9;align-items:center;gap:12px;padding:14px 20px;display:flex;bottom:0;right:-14px;transform:rotate(3deg)}.note-icon{color:#ef896a;font-size:30px}.location-note strong{font-size:10px;display:block}.location-note small{color:var(--muted);font-size:9px}.visual-spark{color:#ee9672;font-size:60px;position:absolute;top:5px;right:-28px;transform:rotate(15deg)}.section{margin-bottom:68px;scroll-margin-top:30px}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.eyebrow{letter-spacing:1.7px;color:#9a7364;margin-bottom:9px;font-size:9px;font-weight:650;display:block}.section-heading h2{letter-spacing:-1.15px;font-size:30px;line-height:1.3}.accent{color:#ed8265}.section-heading>p{color:var(--muted);font-size:11px;line-height:1.7}.project-filters{gap:7px;margin-bottom:22px;display:flex}.project-filters button{border:1px solid var(--line);background:0 0;border-radius:30px;align-items:center;gap:9px;padding:6px 12px;font-size:10px;display:flex}.project-filters button span{opacity:.6;font-size:9px}.project-filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:14px;display:grid}.project-card{border:1px solid var(--line);background:#fff;border-radius:13px;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.project-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #2421350c}.project-body{flex-direction:column;flex:1;padding:15px 12px 13px;display:flex}.project-label{color:#967c72;letter-spacing:.3px;font-size:8px}.project-card h3{letter-spacing:-.35px;margin:4px 0 8px;font-size:12px;font-weight:800}.project-card p{color:var(--muted);font-size:10px;line-height:1.75}.project-tags{flex-wrap:wrap;gap:4px;margin:14px 0;display:flex}.project-tags span{color:#636375;background:#f4f3f7;border-radius:4px;padding:3px 5px;font-size:8px}.project-actions{border-top:1px solid #f3efeb;justify-content:space-between;align-items:center;gap:5px;margin-top:auto;padding-top:12px;display:flex}.project-actions button{color:#be4e3d;background:0 0;padding:0;font-size:9px;font-weight:700}.project-actions a{color:#636375;font-size:8px}.project-visual{border-radius:8px;justify-content:center;align-items:center;height:145px;margin:7px 7px 0;display:flex;position:relative;overflow:hidden}.visual-media{background:radial-gradient(at top,#40305a,#171728 70%)}.waveform{align-items:center;gap:3px;width:72%;height:80px;display:flex}.waveform i{background:linear-gradient(#ffa9a9,#cb59d9);border-radius:3px;flex:1;width:2px}.search-orbit{background:#25243b;border:5px solid #a995f7;border-radius:50%;width:37px;height:37px;position:absolute;top:42px;right:18px}.search-orbit:after{content:"";background:#a995f7;border-radius:5px;width:5px;height:25px;position:absolute;bottom:-18px;right:-12px;transform:rotate(-40deg)}.visual-caption{letter-spacing:2px;color:#c6b7db;font:7px monospace;position:absolute;bottom:15px}.visual-melanoma{background:linear-gradient(130deg,#e6c8bd,#bd8d80)}.scan-grid{background-image:linear-gradient(#fff2 1px,#0000 1px),linear-gradient(90deg,#fff2 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.scan-target{width:69px;height:69px;padding:10px;position:relative}.scan-target div{filter:blur(1px);background:radial-gradient(at 40% 40%,#574333,#9e6251 50%,#b97661 64%,#0000 70%);border-radius:43% 58% 37% 60%;width:100%;height:100%;transform:rotate(15deg)}.scan-target i{border:solid #fff9;width:14px;height:14px;position:absolute}.scan-target i:nth-child(2){border-width:1px 0 0 1px;top:0;left:0}.scan-target i:nth-child(3){border-width:1px 1px 0 0;top:0;right:0}.scan-target i:nth-child(4){border-width:0 0 1px 1px;bottom:0;left:0}.scan-target i:nth-child(5){border-width:0 1px 1px 0;bottom:0;right:0}.scan-label{letter-spacing:1.5px;color:#563e39;font:6px monospace;position:absolute;bottom:14px}.scan-progress{gap:3px;display:flex;position:absolute;top:12px;left:12px}.scan-progress span{background:#fff9;width:11px;height:3px}.visual-cardiac{background:radial-gradient(#424b52,#161d22)}.lung{background:repeating-linear-gradient(170deg,#0000 0 9px,#a7b6bc66 10px 11px),radial-gradient(#1a242b,#78888a);border:1px solid #9dadae77;width:49px;height:90px;margin:0 3px}.left-lung{border-radius:70% 25% 35% 30%;transform:rotate(6deg)}.right-lung{border-radius:25% 70% 30% 35%;transform:rotate(-6deg)}.heart-region{background:#f7a18d55;border:1px dashed #f6bdab;border-radius:50% 40% 45% 55%;width:34px;height:40px;position:absolute;top:64px;left:48%;transform:rotate(-20deg);box-shadow:0 0 10px #eea58b44}.scan-line{border:1px solid #c4dbd522;position:absolute;inset:25px 15px}.visual-agents{background:linear-gradient(135deg,#d6e8ee,#afc9e7)}.mini-dashboard{background:#fff;border-radius:4px;width:83%;height:98px;transform:rotate(-5deg);box-shadow:0 10px 20px #465e7433}.mini-header{background:#435d81;align-items:center;gap:3px;height:12px;padding-left:6px;display:flex}.mini-header span{background:#cfdef2;border-radius:50%;width:3px;height:3px}.dashboard-body{gap:7px;height:85px;display:flex}.mini-sidebar{background:repeating-linear-gradient(#eff4fa 0 8px,#cbd7e7 9px 10px);width:20%}.mini-content{flex:1;padding:8px 10px 8px 0}.mini-metrics{gap:5px;height:17px;display:flex}.mini-metrics i{background:#e2ebf7;border-top:2px solid #94afd9;flex:1}.mini-chart{align-items:end;gap:5px;height:42px;margin-top:7px;display:flex}.mini-chart i{background:#7f9ed0;border-radius:2px 2px 0 0;flex:1}.mini-chart i:nth-child(2n){background:#f5ad87}.agent-bubble{color:#fff;background:#ffb77f;border-radius:10px;place-items:center;width:33px;height:33px;font-size:28px;display:grid;position:absolute;bottom:19px;right:12px;box-shadow:0 3px 10px #776c6c33}.visual-accessibility{background:linear-gradient(140deg,#d4eee9,#b5d9df)}.audit-sheet{background:#fff;border-radius:5px;width:100px;height:100px;padding:10px 12px;transform:rotate(-7deg);box-shadow:0 8px 20px #51787925}.audit-sheet>span{background:#b4d5d4;width:65%;height:4px;margin-bottom:4px;display:block}.audit-sheet>span:nth-child(2){background:#e5ecec;width:80%}.audit-sheet>span:nth-child(3){background:#e5ecec;width:45%;margin-bottom:8px}.audit-sheet>div{color:#4ba990;align-items:center;gap:6px;margin:3px;font-size:10px;display:flex}.audit-sheet i{background:#dcebe7;width:48px;height:4px}.access-person{color:#fff;background:#3a98b0;border:3px solid #e7fbfa;border-radius:50%;place-items:center;width:48px;height:48px;font-size:27px;display:grid;position:absolute;bottom:23px;right:17px}.about{background:#fbf2ec;border:1px solid #f7ede5;border-radius:18px;grid-template-columns:.8fr 1.55fr .8fr;align-items:center;gap:30px;padding:27px;display:grid}.about-photo{border-radius:12px;height:310px;position:relative;overflow:hidden}.about-photo img{object-fit:cover;object-position:50% 60%;width:100%;height:100%}.about-photo:after{content:"";background:linear-gradient(#0000,#2d2928a8);position:absolute;inset:50% 0 0}.about-photo>span{color:#fff;z-index:1;font-size:10px;position:absolute;bottom:16px;left:15px}.about-photo small{opacity:.8;font-size:8px}.about h2{letter-spacing:-.9px;margin-bottom:15px;font-size:24px;line-height:1.3}.about-copy>p{color:var(--muted);margin-bottom:12px;font-size:11px;line-height:1.85}.text-link{color:#b85443;font-size:11px;font-weight:650}.about-values{border-left:1px solid #e9dcd0;flex-direction:column;gap:23px;padding-left:23px;display:flex}.about-values>div{padding-left:0;position:relative}.about-values>div>span{color:#d48760;margin-bottom:2px;font-size:22px;display:block}.about-values h3{margin-bottom:4px;font-size:10px}.about-values p{color:var(--muted);font-size:10px;line-height:1.7}.skills-grid{grid-template-columns:repeat(10,minmax(0,1fr));align-items:start;gap:8px;display:grid}.skill-card{border:1px solid var(--line);background:#fff;border-radius:9px;position:relative}.skill-card summary{cursor:pointer;flex-direction:column;align-items:center;padding:16px 5px 12px;list-style:none;display:flex;position:relative}.skill-card summary::-webkit-details-marker{display:none}.skill-mark{letter-spacing:-1.5px;height:44px;font-family:Manrope,sans-serif;font-size:28px;font-weight:800;line-height:1.3}.skill-card strong{font-size:9px}.skill-card small{color:var(--muted);margin-top:3px;font-size:8px}.skill-expand{color:#b1a8a1;font-size:10px;position:absolute;top:3px;right:6px}.skill-card[open]{background:#fff5ed;border-color:#efc5b2}.skill-card[open] .skill-expand{transform:rotate(45deg)}.skill-card p{color:var(--muted);padding:0 10px 12px;font-size:10px;line-height:1.7}.contact{background:linear-gradient(110deg,#fff0e7,#fcecf1);border:1px solid #f8e3de;border-radius:18px;justify-content:space-between;align-items:center;gap:30px;margin-bottom:35px;padding:40px 45px;display:flex}.contact h2{letter-spacing:-1.2px;margin-bottom:14px;font-size:32px;line-height:1.2}.contact p{color:var(--muted);font-size:12px;line-height:1.9}.contact-links{min-width:340px}.contact-links>a{align-items:center;gap:14px;padding:19px 0;display:flex}.contact-links>a+a{border-top:1px solid #ecd6d5}.contact-icon{color:#b2605c;background:#fffcf9;border:1px solid #f5e1db;border-radius:11px;place-items:center;width:44px;height:44px;font-size:21px;display:grid}.contact-links small{letter-spacing:1.3px;color:#a17a74;margin-bottom:3px;font-size:8px;display:block}.contact-links strong{font-size:12px;font-weight:500}.contact-links>a>span:last-child{color:#ba6b66;margin-left:auto}.footer{color:#89838b;justify-content:space-between;align-items:center;gap:25px;padding-block:0 32px;font-size:9px;display:flex}.footer .logo{color:var(--ink);font-size:18px}.footer .logo-dot{width:12px;height:12px}.footer>a:last-child{color:#79707b}.project-dialog{width:calc(100% - 32px);max-width:650px;max-height:85vh;color:var(--ink);overscroll-behavior:contain;background:#fffdfa;border:1px solid #e6ded8;border-radius:18px;padding:0;box-shadow:0 30px 90px #17152640}.project-dialog .project-visual{border-radius:12px;height:180px;margin:10px}.dialog-close{z-index:3;background:#fff;border:1px solid #e6ded8;border-radius:50%;width:34px;height:34px;font-size:16px;position:absolute;top:22px;right:22px}.dialog-content{padding:16px 30px 32px}.dialog-content h2{letter-spacing:-1px;font-size:29px;line-height:1.2}.dialog-content h3{margin:22px 0 6px;font-size:14px}.dialog-content p{color:var(--muted);font-size:13px;line-height:1.85}.dialog-content .project-tags span{font-size:10px}.dialog-content .btn-primary{margin-top:25px}@media (width>=1440px){.hero h1{font-size:59px}}@media (width<=1100px){.navbar,main,.footer{padding-inline:30px}.hero{gap:35px}.hero h1{font-size:48px}.hero-badge{font-size:9px}.code-note{left:-10px}.portrait-frame{max-width:300px;height:390px}.location-note{right:-8px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-visual{height:165px}.project-card h3{font-size:15px}.project-card p{font-size:12px}.project-label,.project-tags span{font-size:9px}.project-actions button,.project-actions a{font-size:10px}.about{grid-template-columns:.8fr 1.5fr;gap:24px}.about-values{border-top:1px solid #e9dcd0;border-left:0;flex-direction:row;grid-column:1/-1;gap:30px;padding:20px 0 0}.about-values>div{flex:1}.about-copy>p{font-size:12px}.skills-grid{grid-template-columns:repeat(5,1fr)}.skill-card strong{font-size:11px}.skill-card small{font-size:9px}.footer{flex-wrap:wrap;gap:15px}.contact{padding:30px}.contact-links{min-width:300px}}@media (width<=760px){html{scroll-padding-top:20px}.navbar,main,.footer{padding-inline:22px}.navbar{height:80px;position:relative}.logo{font-size:22px}.nav-links{border:1px solid var(--line);z-index:10;background:#fffdfa;border-radius:12px;flex-direction:column;gap:0;padding:16px;display:none;position:absolute;top:70px;left:20px;right:20px;box-shadow:0 12px 30px #22212c11}.nav-links.is-open{display:flex}.menu-toggle{background:0 0;margin-left:auto;padding:8px;font-size:12px;display:block}.github-button{padding:8px 12px;font-size:10px}.github-button span{margin-left:6px}.hero{grid-template-columns:1fr;gap:40px;padding:30px 0 60px}.hero h1{letter-spacing:-2px;font-size:clamp(39px,8vw,58px)}.hero-description{max-width:540px;font-size:14px}.hero-badge{font-size:9px}.hero-visual{width:88%;max-width:440px;margin:0 auto}.portrait-frame{max-width:290px;height:370px}.hero-visual:before{inset:15px -10px -5px -15px}.hero-visual:after{inset:10px -5px 0}.code-note{font-size:9px;top:27px;left:-12px}.location-note{padding:12px 15px;right:-15px}.visual-spark{font-size:48px;top:-10px;right:0}.hero-footnote{margin-top:22px}.section{margin-bottom:48px}.section-heading h2{font-size:27px}.section-heading>p{font-size:10px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-body{padding:12px}.project-visual{height:150px}.project-card h3{font-size:13px}.project-card p{font-size:11px}.project-actions{flex-wrap:wrap;gap:10px}.project-actions button{font-size:10px}.about{grid-template-columns:1fr;gap:25px;padding:22px}.about-photo{width:100%;max-width:100%;height:290px}.about-photo img{object-position:50% 52%}.about h2{font-size:27px}.about-copy>p{font-size:13px}.about-values{flex-direction:column;grid-column:auto;gap:15px}.about-values>div{padding-left:40px;position:relative}.about-values>div>span{position:absolute;top:0;left:0}.about-values h3{font-size:12px}.about-values p{font-size:11px}.skills-grid{grid-template-columns:repeat(3,1fr);gap:10px}.skill-card summary{padding:15px 5px}.contact{flex-direction:column;align-items:stretch;gap:10px;padding:27px}.contact h2{font-size:31px}.contact p{font-size:12px}.contact-links{min-width:0}.contact-links strong{overflow-wrap:anywhere;font-size:11px}.contact-links>a{gap:10px}.contact-icon{flex-shrink:0;width:37px;height:37px}.desktop-break{display:none}.footer{justify-content:flex-start;gap:13px 20px;padding-bottom:25px}.footer>span:nth-of-type(2){order:4;width:100%}.footer>a:last-child{margin-left:auto}.dialog-content{padding:12px 21px 25px}.dialog-content h2{font-size:25px}}@media (width<=380px){.navbar,main,.footer{padding-inline:16px}.hero-badge{font-size:8px}.hero h1{font-size:37px}.btn-primary,.btn-secondary{gap:12px;padding:11px 13px;font-size:11px}.hero-visual{width:92%}.code-note{left:-5px}.section-heading{flex-direction:column;align-items:start;gap:8px}.section-heading>p br{display:none}.project-grid{grid-template-columns:1fr}.project-visual{height:175px}.skills-grid{grid-template-columns:repeat(2,1fr)}}.hero-title-role{letter-spacing:-1px;max-width:470px;margin-top:16px;font-size:clamp(24px,2.6vw,34px);line-height:1.25;display:block}.about-photo img{object-position:50% 49%}.traffic-thumbnail{object-fit:cover;width:100%;height:100%}.traffic-video-label{color:#fff;background:#202135df;border-radius:20px;padding:4px 10px;font-size:10px;position:absolute;bottom:10px;right:10px}.project-video{margin:12px 12px 0}.project-video video{background:#202135;border-radius:10px;width:100%;display:block}.project-video figcaption{color:var(--muted);margin:7px 3px 0;font-size:10px}.project-video figcaption a{text-decoration:underline}.dialog-content .project-run-note{margin-top:12px;font-size:11px}@media (width>=1101px){.project-visual{height:180px}.project-body{padding:17px}.project-card h3{font-size:15px}.project-card p{font-size:12px}.project-label,.project-tags span{font-size:9px}.project-actions button,.project-actions a{font-size:11px}}
