:root{color-scheme:dark;--bg:#070d17;--surface:#0c1522;--surface-2:#101c2c;--line:#1f3048;--line-strong:#2c4566;--ink:#f2f6ff;--body:#c9d5e6;--muted:#8ea3bf;--accent:#85d8ff;--focus:#ffa9de;font-synthesis:none;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:5px}main:focus{outline:none}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:20;background:var(--surface);padding:16px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.container{width:min(1200px,100% - 96px);margin-inline:auto}p{color:var(--body);line-height:1.6}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em}h1{letter-spacing:-.04em;margin-bottom:24px;font-size:clamp(44px,6vw,72px);line-height:1.02}h2{margin-bottom:24px;font-size:clamp(28px,3vw,40px);line-height:1.15}h3{font-size:22px;line-height:1.3}.eyebrow,.date,.badge,.window-bar,.chips{font-family:IBM Plex Mono,ui-monospace,monospace}.eyebrow{letter-spacing:.08em;color:var(--muted);margin-bottom:18px;font-size:11px}.portfolio-nav{z-index:10;border-bottom:1px solid var(--line);backdrop-filter:blur(12px);background:#070d17ed;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:20px;min-height:76px;display:flex}.brand{letter-spacing:-1px;font-size:23px;font-weight:700}.brand span{letter-spacing:0;color:var(--muted);font-size:12px;font-weight:400}.portfolio-nav nav,.nav-actions{align-items:center;gap:20px;display:flex}.portfolio-nav nav a{color:var(--muted);padding:14px 0;font-size:13px}.portfolio-nav nav a:hover{color:var(--accent)}.nav-actions{gap:10px}.button{border-radius:10px;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:14px 20px;font-size:14px;font-weight:600;transition:background .18s,border-color .18s,box-shadow .18s;display:inline-flex}.primary{color:#071427;background:#d6f3ff;box-shadow:0 4px 24px #85d8ff18}.primary:hover{background:#eefaff;box-shadow:0 4px 32px #85d8ff33}.secondary,.compact{background:var(--surface);border:1px solid var(--line-strong)}.ghost{color:var(--muted);padding-inline:12px}.secondary:hover,.compact:hover{border-color:var(--accent)}.compact{min-height:44px;padding:10px 14px;font-size:12px}.hero{grid-template-columns:1.12fr 1fr;align-items:center;gap:56px;padding:92px 0 72px;display:grid}.availability{color:#a9c9df;background:#85d8ff0c;border:1px solid #85d8ff22;border-radius:100px;align-items:center;gap:8px;margin-bottom:30px;padding:9px 13px;font-size:11px;font-weight:500;display:inline-flex}.availability>span{background:#59d499;border-radius:100%;width:6px;height:6px;box-shadow:0 0 8px #59d49955}.name-dot{color:var(--accent)}.hero-role{letter-spacing:-.025em;color:var(--ink);margin-bottom:24px;font-size:clamp(25px,3vw,35px);font-weight:500;line-height:1.3}.hero-role>span{color:var(--muted)}.lead{max-width:60ch;font-size:18px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:12px;margin:30px 0 24px;display:flex}.hero-social{align-items:center;gap:18px;display:flex}.contact-apps{flex-wrap:wrap;gap:16px;display:flex}.contact-app-link{color:var(--muted);flex-direction:column;align-items:center;gap:8px;min-width:64px;padding:5px;font-size:12px;display:flex}.app-icon{background:#15243a;border-radius:12px;place-items:center;width:44px;height:44px;transition:transform .16s,box-shadow .16s;display:grid;box-shadow:inset 0 1px #fff2}.app-icon svg{width:25px;height:25px}.app-icon[data-app=linkedin]{color:#fff;background:#0a66c2}.app-icon[data-app=whatsapp]{color:#fff;background:#167e49}.app-icon[data-app=email]{color:#c9352a;background:#f2f6ff}.contact-app-link:hover .app-icon,.contact-app-link:focus-visible .app-icon{transform:translateY(-2px);box-shadow:0 0 16px #85d8ff33}.github-link{color:var(--muted);align-items:center;gap:8px;min-height:44px;font-size:12px;display:flex}.github-link svg{width:24px;height:24px}.workshop-window{border:1px solid var(--line-strong);background:var(--surface);border-radius:18px;min-width:0;padding:6px;transition:border-color .2s,box-shadow .2s;display:block;position:relative;box-shadow:0 0 100px #318ec41a}.workshop-window:hover{border-color:var(--accent);box-shadow:0 0 90px #318ec433}.window-bar{color:var(--muted);justify-content:space-between;padding:12px 8px;font-size:10px;display:flex}.window-bar>span:first-child{color:#476480;letter-spacing:3px;font-size:8px}.workshop-window img{border-radius:12px;width:100%;height:auto;display:block}.window-caption{color:var(--muted);justify-content:space-between;gap:12px;padding:18px 14px;font-size:12px;display:flex}.window-caption strong{color:var(--accent);font-weight:500}.impact{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:110px;display:grid}.impact article{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px 22px}.impact strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--accent);font-size:44px}.impact strong span{font-size:22px}.impact p{color:var(--muted);margin:14px 0 0;font-size:13px}.section-grid{grid-template-columns:1fr 2fr;gap:70px;margin-bottom:110px;display:grid}.section-intro{align-self:start;position:sticky;top:116px}.section-intro>p:last-child{max-width:30ch;color:var(--muted);font-size:15px}.timeline{border-left:1px solid var(--line-strong);gap:24px;padding-left:24px;display:grid}.role-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;position:relative}.role-card:before{content:"";background:var(--bg);border:1px solid var(--line-strong);border-radius:50%;width:9px;height:9px;position:absolute;top:36px;left:-30px}.role-card.current:before{background:var(--accent);box-shadow:0 0 12px #85d8ff66}.role-top{justify-content:space-between;align-items:start;gap:10px;display:flex}.role-top h3{margin-bottom:8px}.badge{white-space:nowrap;color:var(--accent);background:#85d8ff10;border:1px solid #85d8ff22;border-radius:6px;padding:5px 8px;font-size:10px;display:inline-block}.role-context{color:var(--muted);margin-bottom:10px;font-size:14px}.date{color:var(--muted);margin-bottom:24px;font-size:11px}.role-card ul{color:var(--body);margin:0 0 24px;padding-left:18px;font-size:15px;line-height:1.7}.role-card li{margin-bottom:14px;padding-left:3px}.role-card li::marker{color:var(--accent)}.chips{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.chips span{background:var(--surface-2);border:1px solid var(--line);color:#aebfd3;overflow-wrap:anywhere;border-radius:6px;max-width:100%;padding:7px 10px;font-size:11px;line-height:1.6}section[id]{scroll-margin-top:24px}#projects,#education{margin-bottom:110px}.section-heading{justify-content:space-between;align-items:end;gap:50px;margin-bottom:32px;display:flex}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:34ch;color:var(--muted);margin-bottom:0;font-size:15px}.project-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.project-card:hover,.project-card:focus-within{border-color:var(--line-strong);box-shadow:0 12px 30px #318ec41a}.project-link{height:100%;display:block}.project-art{border-bottom:1px solid var(--line);aspect-ratio:1.8;background:linear-gradient(135deg,#15243a,#0b1523);place-items:center;padding:24px;display:grid;position:relative}.project-art img{object-fit:contain;width:80%;height:100%;max-height:230px}.project-art>span{color:var(--muted);letter-spacing:1px;font:9px IBM Plex Mono,monospace;position:absolute;bottom:12px;right:16px}.project-copy{padding:26px}.project-copy h3{justify-content:space-between;display:flex}.project-copy h3 span{color:var(--accent)}.project-copy>p:not(.eyebrow){min-height:72px;font-size:15px}.project-copy .eyebrow{overflow-wrap:anywhere;font-size:10px}.read-link{color:var(--accent);font-size:13px}.project-card.retired{align-self:start}.retired .project-art{filter:saturate(.45);aspect-ratio:2.8;max-height:170px}.skills-list{gap:22px;display:grid}.skill-row{border-bottom:1px solid var(--line);grid-template-columns:160px minmax(0,1fr);align-items:start;gap:18px;padding-bottom:22px;display:grid}.skill-row h3{margin:7px 0 0;font:400 12px/1.6 IBM Plex Mono,ui-monospace,monospace}.education-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.education-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:30px}.education-card h3{margin:24px 0 18px}.education-card h3>span{color:var(--muted);font-size:16px;font-weight:400}.education-card p{color:var(--muted);font-size:14px}.education-card p strong{color:var(--body);font-weight:500}.contact-section{border-top:1px solid var(--line);text-align:center;padding:80px 0 75px}.contact-section h2{letter-spacing:-.035em;font-size:clamp(36px,5vw,56px)}.contact-section .lead{margin-inline:auto}.contact-section>p:not(.eyebrow){color:var(--muted)}.contact-section .contact-apps{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:center;gap:24px;max-width:800px;margin:32px auto 20px;display:grid}.contact-section .contact-app-link{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-height:128px;padding:20px;font-size:13px}.app-detail{color:var(--muted);overflow-wrap:anywhere;max-width:100%;font-size:11px;line-height:1.4;display:block}.contact-section .app-icon{border-radius:14px;width:56px;height:56px}.text-link{min-height:44px;color:var(--accent);align-items:center;padding:10px;font-size:14px;display:inline-flex}.portfolio-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding:24px 0 36px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;display:flex}.portfolio-footer div{gap:18px;display:flex}.portfolio-footer a{min-height:44px;padding-block:12px;display:inline-block}@media (width<=1150px){.hero{gap:32px}.container{width:calc(100% - 64px)}.section-grid{gap:40px}}@media (width<=1023px){.portfolio-nav nav{display:none}.hero{grid-template-columns:1fr;gap:36px;padding-top:60px}.hero-copy{max-width:650px}.workshop-window{max-width:700px}.impact{grid-template-columns:1fr 1fr}.section-grid{grid-template-columns:1fr;gap:28px}.section-intro{position:static}.section-intro>p:last-child{max-width:60ch}.impact,.section-grid,#projects,#education{margin-bottom:72px}}@media (width<=600px){.container{width:calc(100% - 40px)}.nav-inner{gap:8px;min-height:70px}.brand{font-size:21px}.brand span{display:none}.nav-actions{gap:4px}.ghost{padding:10px 8px;font-size:11px}.hero{padding:42px 0}.availability{margin-bottom:24px;padding:8px 10px;font-size:10px}.hero-role{margin-bottom:18px;font-size:27px}.lead{font-size:16px}.hero-actions{gap:8px;margin:24px 0 18px}.button{gap:10px;padding:12px 15px;font-size:12px}.hero-social{gap:12px}.contact-apps{gap:10px}.contact-app-link{min-width:56px;font-size:10px}.window-caption{padding:15px 8px;font-size:11px}.impact{gap:10px}.impact article{padding:20px 16px}.impact strong{font-size:34px}.impact p{font-size:12px}.timeline{padding-left:18px}.role-card{padding:22px 18px}.role-card:before{left:-24px}.role-top h3{font-size:20px}.role-card ul{font-size:14px}.role-context{font-size:12px}.chips span{font-size:10px}.project-grid,.education-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p{margin-top:16px}.project-copy>p:not(.eyebrow){min-height:0}.education-card{padding:24px}.skill-row{display:block}.skill-row h3{margin:0 0 14px}.contact-section{text-align:left;padding:64px 0}.contact-section .contact-apps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portfolio-footer{display:block}.portfolio-footer div{margin-top:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.contact-app-link:hover .app-icon{transform:none}}
