@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#edf2ec;background:#0b1014;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-weight:400;--paper: #0b1014;--surface: #111a20;--ink: #edf2ec;--muted: #b2bec2;--line: #26343a;--accent: #c8f36b;--accent-dark: #9dc94e;--mono: "DM Mono", monospace;--display: "Manrope", sans-serif;--page-width: 1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{min-width:320px;margin:0;background:radial-gradient(ellipse at 78% 6%,rgba(75,135,101,.14),transparent 34rem),radial-gradient(ellipse at 8% 42%,rgba(52,116,128,.08),transparent 35rem),var(--paper);color:var(--ink)}body,button,a{-webkit-tap-highlight-color:transparent}button,a{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--accent-dark);outline-offset:4px}img{display:block;max-width:100%}.container,.projects,.experience,.connect{width:min(var(--page-width),calc(100% - 64px));margin-inline:auto}section[id]{scroll-margin-top:100px}.section-kicker{display:flex;align-items:center;gap:12px;margin:0 0 24px;color:var(--muted);font:500 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}.section-kicker:before{width:26px;height:1px;background:var(--accent);content:""}.section-kicker span{color:#a0adb3}::selection{color:#0b1014;background:var(--accent)}@media(max-width:640px){.container,.projects,.experience,.connect{width:min(100% - 36px,var(--page-width))}html{scroll-padding-top:82px}section[id]{scroll-margin-top:82px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.navbar{position:sticky;z-index:20;top:0;display:flex;width:100%;max-width:none;min-height:82px;align-items:center;justify-content:space-between;padding:12px max(32px,calc((100vw - var(--page-width)) / 2));border-bottom:1px solid rgba(152,177,174,.12);background:#0b1014db;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.navbar-left{display:flex;align-items:center;gap:12px}.navbar-hero-name{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none}.navbar-logo{width:38px;height:38px;border-radius:50%;object-fit:cover}.name{margin:0;font:800 15px/1 var(--display);letter-spacing:-.035em}.navbar-caption{padding-left:12px;border-left:1px solid var(--line);color:var(--muted);font:10px/1.2 var(--mono);letter-spacing:.06em}.navbar-right{display:flex;align-items:center;gap:clamp(18px,2.8vw,36px);margin:0;padding:0;list-style:none}.navbar-right a{color:#a0adb3;font-size:13px;text-decoration:none;transition:color .18s ease}.navbar-right a:hover{color:var(--ink)}.navbar-right .nav-contact{padding:10px 15px;border:1px solid #405249;border-radius:999px;color:var(--accent);transition:background .18s ease,border-color .18s ease}.navbar-right .nav-contact:hover{border-color:var(--accent);background:#c8f36b14}.nav-contact span{margin-left:6px}.mobile-menu{display:none}@media(max-width:760px){.navbar{min-height:72px;padding-inline:20px}.navbar-caption{display:none}.mobile-menu{display:grid;width:42px;height:42px;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);cursor:pointer}.mobile-menu img{width:20px;height:20px}.navbar-right{position:absolute;top:calc(100% + 1px);right:0;left:0;display:none;align-items:stretch;gap:0;padding:10px 20px 20px;border-bottom:1px solid var(--line);background:#0b1014}.navbar-right.open{display:flex;flex-direction:column}.navbar-right li{border-bottom:1px solid var(--line)}.navbar-right a{display:block;padding:14px 4px}.navbar-right .nav-contact{padding:14px 4px;border:0}}.footer{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(152,177,174,.14);color:var(--muted);font-size:11px}.footer-left,.footer-right{margin:0}.footer-left{color:var(--ink);font-weight:600}.footer-center{display:flex;justify-content:center;gap:22px}.footer a{color:var(--muted);text-decoration:none;transition:color .18s ease}.footer a:hover{color:var(--ink)}@media(max-width:600px){.footer{flex-wrap:wrap;justify-content:center;padding-block:20px;text-align:center}.footer-left{width:100%}.footer-center{flex:0 0 100%;order:2}}.hero{position:relative;display:grid;min-height:min(770px,calc(100svh - 82px));grid-template-columns:1.06fr .94fr;align-items:center;gap:24px;padding-block:76px 88px}.hero-left{position:relative;z-index:1;max-width:610px}.hero-eyebrow,.hero-scroll,.visual-label,.visual-coordinate{font:10px/1.5 var(--mono);letter-spacing:.09em}.hero-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 26px;color:#a2b0b3}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #c8f36b1f,0 0 18px #c8f36b6b}.hero-left h1{margin:0;font:800 clamp(56px,7vw,92px)/.99 var(--display);letter-spacing:-.085em}.hero-left h1 span{color:var(--accent)}.hero-role{margin:24px 0 0;color:#d3ded8;font:600 15px/1.6 var(--display)}.hero-role span{padding-inline:5px;color:#a0adb3}.hero-intro{max-width:470px;margin:14px 0 28px;color:#a0adb3;font-size:15px;line-height:1.85}.hero-buttons{display:flex;flex-wrap:wrap;gap:11px}.hero-buttons a{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:22px;padding:0 20px;border:1px solid var(--ink);border-radius:6px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .18s ease,background .18s ease,color .18s ease}.hero-buttons a:hover{transform:translateY(-2px)}.email-btn{background:var(--ink);color:var(--surface)}.email-btn:hover{background:#26352b}.resume-btn{border-color:#35444a!important;background:#111a2094;color:#d8e2dd}.resume-btn:hover{background:#172229}.hero-scroll{display:inline-flex;align-items:center;gap:12px;margin-top:70px;color:#b2bec2;text-decoration:none}.scroll-rule{width:34px;height:1px;background:#405158}.hero-visual{position:relative;display:grid;min-height:520px;place-items:center;isolation:isolate}.code-scene{position:absolute;z-index:-1;inset:0}.hero-portrait{position:relative;z-index:1;display:flex;width:min(76%,350px);flex-direction:column;padding:9px 9px 0;border:1px solid rgba(208,229,209,.3);border-radius:14px;background:#f5f3e9;box-shadow:0 32px 90px #0000006b,0 0 50px #6b9d7d1a;transform:rotate(1.5deg) translateZ(0);animation:portrait-float 7s ease-in-out infinite}.hero-terminal{position:absolute;z-index:3;top:-34px;left:0;width:176px;overflow:hidden;border:1px solid rgba(169,201,185,.24);border-radius:9px;background:#0f171ce0;box-shadow:0 18px 50px #00000052;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:rotate(-5deg)}.terminal-top{display:flex;height:31px;align-items:center;gap:5px;padding-inline:10px;border-bottom:1px solid rgba(169,201,185,.14)}.terminal-top>span{width:6px;height:6px;border-radius:50%;background:#e87972}.terminal-top>span:nth-child(2){background:#e6bd67}.terminal-top>span:nth-child(3){background:#8bc878}.terminal-top small{margin-left:auto;color:#8b9b9f;font:8px var(--mono)}.hero-terminal pre{margin:0;padding:9px 10px 10px;color:#c9d6d1;font:8px/1.6 var(--mono)}.hero-terminal code span{color:#c8f36b}.hero-terminal code i{color:#80c4ca;font-style:normal}.hero-profile-pic{width:100%;height:395px;border-radius:6px;background:#eeede6;object-fit:cover;object-position:center 42%}.portrait-caption{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:8px;padding-inline:8px;color:#58605a;font:8px/1.3 var(--mono);letter-spacing:.08em}.portrait-caption span:first-child{color:var(--ink);font-weight:500}.visual-orbit{position:absolute;z-index:-2;width:min(100%,450px);aspect-ratio:1;border:1px solid rgba(133,186,148,.16);border-radius:50%;background:radial-gradient(circle,rgba(122,200,154,.14),transparent 68%);box-shadow:0 0 90px #40947e14}.visual-code-card{position:absolute;z-index:3;display:flex;align-items:center;gap:11px;right:-2px;bottom:67px;padding:12px 15px 12px 12px;border:1px solid rgba(181,207,194,.2);border-radius:9px;background:#111a20f0;box-shadow:0 18px 48px #0000005c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate(8%)}.code-card-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:5px;background:var(--accent);color:#112017;font:500 11px var(--mono)}.visual-code-card strong,.visual-code-card small{display:block}.visual-code-card strong{color:#edf2ec;font:600 10px/1.5 var(--display)}.visual-code-card small{color:#a0adb3;font-size:9px;line-height:1.5}.visual-index{position:absolute;z-index:4;top:8px;right:0;padding:7px 9px;border:1px solid rgba(181,207,194,.2);border-radius:999px;background:#0f171ce6;color:#d3ded8;font:8px/1.5 var(--mono);letter-spacing:.08em;white-space:nowrap}@keyframes portrait-float{0%,to{transform:rotate(1.5deg) translateY(0)}50%{transform:rotate(.5deg) translateY(-8px)}}@media(max-width:900px){.hero{grid-template-columns:1fr .8fr;gap:6px}.hero-left h1{font-size:clamp(54px,8vw,74px)}.hero-visual{min-height:450px}}@media(max-width:680px){.hero{min-height:auto;grid-template-columns:1fr;gap:0;padding-block:44px 38px}.hero-left{grid-row:2;padding-top:4px}.hero-eyebrow{margin-bottom:19px;font-size:9px}.hero-left h1{font-size:clamp(54px,14vw,78px)}.hero-role{margin-top:18px;font-size:13px}.hero-intro{max-width:440px;font-size:14px}.hero-scroll{margin-top:36px}.hero-visual{grid-row:1;min-height:360px;margin-bottom:8px}.hero-portrait{width:min(76%,290px)}.hero-terminal{top:-34px;left:0;width:164px}.hero-profile-pic{height:295px}.visual-code-card{right:0;bottom:43px;transform:translate(0)}.visual-index{top:2px;right:0}}@media(max-width:380px){.hero-portrait{width:78%}.hero-profile-pic{height:270px}.visual-code-card{right:-2px;bottom:35px}.hero-terminal{width:154px}.portrait-caption{font-size:7px}}.about-section{display:grid;grid-template-columns:1.05fr .8fr;align-items:center;gap:clamp(48px,9vw,130px);padding-block:75px 120px}.about-text{max-width:590px}.about-header{margin:0;font:700 clamp(38px,5vw,58px)/1.08 var(--display);letter-spacing:-.07em}.highlight-text{color:var(--accent)}.description{max-width:520px;margin:22px 0 25px;color:var(--muted);font-size:15px;line-height:1.9}.skills{display:flex;flex-wrap:wrap;gap:8px}.skill{padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:#c1ccca;font:10px/1.2 var(--mono)}.about-card{position:relative;justify-self:end;width:min(100%,340px);padding:12px 12px 18px;border:1px solid rgba(208,229,209,.3);border-radius:9px;background:#f5f3e9;box-shadow:0 24px 70px #0000004d,0 0 44px #6b9d7d14;transform:perspective(900px) rotateY(-4deg) rotate(2deg);transform-style:preserve-3d;animation:about-card-float 7s ease-in-out infinite;transition:box-shadow .25s ease,transform .25s ease}.about-card:hover{transform:perspective(900px) rotateY(0) rotate(0) translateY(-5px);box-shadow:0 30px 80px #00000061,0 0 54px #6b9d7d24}.about-profile-pic{width:100%;height:300px;border-radius:5px;background:#f5f3e9;object-fit:cover;object-position:center 52%;animation:about-image-in .7s ease-out both,about-image-float 6s ease-in-out .7s infinite;transition:filter .25s ease,transform .25s ease}.about-card:hover .about-profile-pic{filter:contrast(1.04);transform:scale(1.025)}.about-card-caption{display:flex;align-items:center;justify-content:space-between;margin:14px 5px 5px;color:#68746d;font:9px/1.4 var(--mono);letter-spacing:.06em}.about-spark{color:var(--accent);font-size:20px}.about-card .role{margin:0 5px;color:#29332d;font:600 13px/1.6 var(--display)}@keyframes about-image-float{0%,to{translate:0 0}50%{translate:0 -7px}}@keyframes about-card-float{0%,to{translate:0 0}50%{translate:0 -6px}}@keyframes about-image-in{0%{opacity:0;scale:.96}to{opacity:1;scale:1}}@media(max-width:720px){.about-section{grid-template-columns:1fr;gap:38px;padding-block:70px 80px}.about-card{justify-self:center;width:min(100%,360px)}.about-profile-pic{height:310px}}.proficiency{position:relative;width:100%;padding:78px max(32px,calc((100vw - var(--page-width)) / 2)) 86px;border-block:1px solid rgba(152,177,174,.1);background:radial-gradient(ellipse at 92% 10%,rgba(86,145,105,.12),transparent 34rem),#10171b}.proficiency>div{width:min(var(--page-width),100%);margin-inline:auto}.proficiency-title{max-width:700px;margin:0;font:700 clamp(32px,4vw,46px)/1.15 var(--display);letter-spacing:-.06em}.proficiency-intro{margin:12px 0 30px;color:var(--muted);font-size:14px}.proficiency-tags{display:flex;max-width:850px;flex-wrap:wrap;gap:9px}.tag{padding:10px 14px;border:1px solid rgba(162,190,177,.17);border-radius:5px;background:#172229c7;color:#c4cfca;font:11px/1.2 var(--mono);transition:transform .18s ease,background .18s ease}.tag:hover{transform:translateY(-2px);border-color:#c8f36b80;background:#1b292e}@media(max-width:640px){.proficiency{padding:64px 18px 70px}.proficiency-title{font-size:34px}.proficiency-tags{gap:7px}.tag{padding:9px 11px;font-size:10px}}.experience{padding-block:104px 112px}.experience-title,.projects-title,.section-title{margin:0;font:700 clamp(34px,4vw,48px)/1.12 var(--display);letter-spacing:-.065em}.experience-grid{margin-top:34px}.experience-card{position:relative;display:grid;grid-template-columns:minmax(150px,.4fr) minmax(0,1fr);gap:42px;padding:34px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.experience-meta{display:flex;align-items:flex-start;gap:13px}.experience-mark{display:grid;width:43px;height:43px;flex:0 0 auto;place-items:center;border-radius:6px;background:var(--ink);color:var(--accent);font:600 12px var(--mono)}.experience-date{max-width:130px;margin-top:3px;color:#b2bec2;font:9px/1.7 var(--mono)}.experience .card-content{display:flex;flex-direction:column;margin:0}.badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}.badge{position:static;display:inline-flex;align-items:center;padding:6px 9px;border:1px solid #e1e2d9;border-radius:3px;background:#1a2529;color:#bdc9c4;font:9px/1.2 var(--mono);letter-spacing:.04em}.badge-in-progress{border-color:#625936;background:#282619;color:#e0c973}.badge-completed{border-color:#3b5431;background:#19251a;color:#c8f36b}.experience-card h3{margin:0 0 13px;font:700 22px/1.3 var(--display);letter-spacing:-.04em}.experience-card h3 span{color:var(--muted);font-weight:500}.experience-card p{max-width:750px;margin:0;color:var(--muted);font-size:13px;line-height:1.85}.experience .tech{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 0}.experience .tech span{padding:7px 9px;border:1px solid var(--line);border-radius:3px;background:transparent;color:#bac6c2;font:9px/1.2 var(--mono)}.experience-index{position:absolute;right:24px;bottom:20px;color:#9aa8aa;font:10px var(--mono)}@media(max-width:720px){.experience{padding-block:76px 80px}.experience-card{grid-template-columns:1fr;gap:22px;padding:23px 20px 28px}.experience-meta{align-items:center}.experience-date{max-width:none}.experience-card h3{font-size:19px}}.projects{padding-block:0 110px}.projects-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px}.projects-heading p{margin:0 0 5px;color:var(--muted);font-size:13px}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{position:relative;display:flex;min-width:0;flex-direction:column-reverse;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface);transition:transform .22s ease,box-shadow .22s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px #00000057;border-color:#40524c}.project-card .card-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:25px 24px 24px}.project-card .badge{margin-bottom:16px}.project-card h3{margin:0 0 10px;font:700 20px/1.3 var(--display);letter-spacing:-.045em}.project-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.8}.project-art{position:relative;display:grid;min-height:230px;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(147,203,108,.18),transparent 54%),linear-gradient(145deg,#1a2a2b,#121b20)}.project-card:nth-child(3) .project-art{background:radial-gradient(circle at 50% 50%,rgba(98,167,174,.2),transparent 54%),linear-gradient(145deg,#1a252b,#131b21)}.project-art:before,.project-art:after{position:absolute;width:185px;height:185px;border:1px solid rgba(184,211,190,.16);border-radius:50%;content:""}.project-art:after{width:240px;height:240px;border-style:dashed;opacity:.55}.project-art img{position:relative;z-index:1;width:126px;height:126px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.38));transition:transform .3s ease}.project-card:hover .project-art img{transform:scale(1.06) rotate(-3deg)}.project-number{position:absolute;z-index:2;top:16px;left:18px;color:#a4b2b0;font:9px var(--mono);letter-spacing:.07em}.project-card .tech{display:flex;flex-wrap:wrap;gap:6px;margin:17px 0 18px}.project-card .tech span{padding:6px 8px;border:1px solid var(--line);border-radius:3px;background:transparent;color:#bac6c2;font:9px/1.2 var(--mono)}.actions{display:flex;gap:9px;margin-top:auto}.actions a,.actions button{display:inline-flex;min-width:90px;min-height:38px;align-items:center;justify-content:center;gap:10px;padding:0 13px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font-size:11px;text-decoration:none;transition:border-color .18s ease,background .18s ease}.actions a:hover{border-color:var(--ink);background:#1a2529}.actions button.disable-button{background:#172126;color:#a0adb3;cursor:not-allowed}@media(max-width:760px){.projects{padding-bottom:82px}.projects-grid{grid-template-columns:1fr}.project-art{min-height:210px}}@media(max-width:520px){.projects-heading{display:block}.projects-heading p{margin-top:10px}.project-card .card-content{padding:22px 19px}}.connect{padding-block:0 96px}.connect-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}.connect-heading p{max-width:290px;margin:0 0 4px;color:var(--muted);font-size:13px;line-height:1.7}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.connect .card{display:flex;min-width:0;align-items:center;gap:13px;padding:17px;border:1px solid var(--line);border-radius:6px;background:#111a20c7;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.connect .card:hover{transform:translateY(-2px);border-color:#53685b;background:var(--surface)}.connect .icon{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:5px;background:var(--surface)}.connect .icon img{width:20px;height:20px;object-fit:contain}.connect .card h3{margin:0;font:600 12px/1.5 var(--display)}.connect .card p{overflow:hidden;margin:2px 0 4px;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.connect .link{color:#91a09f;font:9px/1.4 var(--mono)}.connect .arrow{margin-left:auto;color:#b2bec2;font-size:15px;transition:transform .18s ease}.connect .card:hover .arrow{transform:translate(2px,-2px)}.quick{display:flex;min-height:140px;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:26px 30px;border:1px solid rgba(162,190,177,.18);border-radius:7px;background:linear-gradient(110deg,#182628,#172126)}.icon-center.bubble{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;margin:0;padding:10px;border-radius:50%;background:var(--accent)}.icon-center.bubble img{width:100%;height:100%;object-fit:contain}.quick h3{margin:0 auto 0 0;font:700 18px var(--display);letter-spacing:-.035em}.quick p{margin:0;color:var(--muted);font-size:12px}.quick .gmail{display:inline-flex;min-height:43px;flex:0 0 auto;align-items:center;gap:9px;padding:0 15px;border:0;border-radius:4px;background:var(--ink);color:#10180e;cursor:pointer;font-size:11px;font-weight:600}.quick .gmail img{width:17px;height:17px;object-fit:contain}@media(max-width:840px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.quick{flex-wrap:wrap}}@media(max-width:580px){.connect{padding-bottom:70px}.connect-heading{display:block}.connect-heading p{margin-top:12px}.cards{grid-template-columns:1fr}.quick{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:22px}.quick h3{margin:0}.quick p{grid-column:2}.quick .gmail{grid-column:1 / -1;justify-content:center;text-decoration:none;transition:transform .18s ease,background .18s ease}.quick .gmail:hover{transform:translateY(-2px);background:#26352b}}
