:root{color:#1c211d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f5ef;font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif}body{background:#f7f5ef;min-width:320px;min-height:100vh;margin:0}:root{--bg:#f7f5ef;--surface:#fff;--text:#1c211d;--muted:#676d67;--green:#214b38;--lime:#cce97a;--blue:#dfeaff;--border:#c5cbc3;--line:2px;--radius:24px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,textarea{font:inherit}::selection{color:var(--text);background:var(--lime)}a,button{-webkit-tap-highlight-color:transparent}.container{width:min(100% - 40px,1120px);margin-inline:auto}.site-header{z-index:20;border-bottom:var(--line) solid #c5cbc3db;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f5efe6;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;min-height:74px;display:flex}.logo{color:var(--text);letter-spacing:-.04em;font-size:20px;font-weight:850;text-decoration:none}.logo span{color:#66863f}.nav{align-items:center;gap:28px;display:flex}.nav a{color:var(--muted);font-size:14px;font-weight:650;text-decoration:none}.nav a:hover{color:var(--text)}.menu-button{display:none}.hero{grid-template-columns:1.45fr .8fr;align-items:center;gap:80px;min-height:710px;padding-block:90px 80px;display:grid}.hello{color:var(--green);margin:0 0 22px;font-size:18px;font-weight:750}.hero h1{letter-spacing:-.065em;max-width:760px;margin:0;font-size:clamp(48px,6.5vw,78px);line-height:1}.hero-text{max-width:650px;color:var(--muted);margin:28px 0 0;font-size:19px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.button{border:var(--line) solid var(--green);min-height:50px;color:var(--text);border-radius:13px;justify-content:center;align-items:center;gap:9px;padding:0 20px;font-size:14px;font-weight:750;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #214b381f}.button--primary{color:#fff;background:var(--green)}.button--ghost{background:0 0}.portrait-wrap{justify-self:end;width:min(100%,330px);position:relative}.portrait{aspect-ratio:1;object-fit:cover;border:3px solid var(--text);background:var(--blue);border-radius:38% 62% 52% 48%/48% 40% 60% 52%;width:100%;display:block}.portrait-note{z-index:2;border:var(--line) solid var(--text);background:#fff;border-radius:12px 12px 12px 2px;padding:10px 14px;font-size:11px;position:absolute;top:-34px;right:-20px;transform:rotate(3deg)}.portrait-badge{border:var(--line) solid var(--text);background:var(--lime);letter-spacing:.06em;border-radius:999px;padding:12px 15px;font:750 10px/1 monospace;position:absolute;bottom:26px;left:-28px}.quick-facts{border:var(--line) solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.quick-facts div{border-right:var(--line) solid var(--border);flex-direction:column;justify-content:space-between;min-height:118px;padding:23px;display:flex}.quick-facts div:last-child{border-right:0}.quick-facts strong{letter-spacing:-.04em;font-size:27px}.quick-facts span{color:var(--muted);font-size:12px}.section{padding-block:120px}.section-title{align-items:center;gap:16px;margin-bottom:48px;display:flex}.section-title span{border:var(--line) solid var(--border);width:34px;height:34px;color:var(--muted);border-radius:50%;place-items:center;font:700 10px/1 monospace;display:grid}.section-title h2{letter-spacing:-.05em;margin:0;font-size:clamp(34px,4vw,50px)}.about{border-bottom:var(--line) solid var(--border)}.about-grid{grid-template-columns:1.55fr .8fr;gap:70px;display:grid}.about-main{max-width:700px}.about-main p{letter-spacing:-.025em;margin:0 0 24px;font-size:clamp(21px,2.3vw,29px);line-height:1.45}.currently{border:var(--line) solid #8aaa39;border-radius:var(--radius);background:#eef8cf;padding:27px}.mini-title{color:#4a6035;letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px;font:750 11px/1.2 monospace}.currently ul{margin:0;padding:0;list-style:none}.currently li{border-bottom:1px solid #4a60352e;padding:12px 0 12px 20px;font-size:14px;position:relative}.currently li:last-child{border-bottom:0}.currently li:before{content:"•";color:#72902c;position:absolute;left:0}.project-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.project-card{border:var(--line) solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;min-height:400px;padding:30px;display:flex}.project-card--featured{background:var(--green);color:#fff;grid-column:1/-1;min-height:440px;padding:40px}.project-card--min{background:#fff4d8;border-color:#242a25;grid-column:1/-1;min-height:360px;position:relative;overflow:hidden}.project-card--min h3{font-size:clamp(58px,8vw,96px)}.project-card--min .project-description{max-width:680px}.min-card-copy{transition:opacity .25s}.min-is-offline .min-card-copy,.min-is-offline .project-facts{opacity:.24}.min-checking{color:var(--muted);text-transform:uppercase;font:750 10px/1 monospace;position:absolute;top:28px;right:28px}.min-online-link a{border:var(--line) solid var(--text);background:var(--lime);border-radius:12px;padding:13px 18px;text-decoration:none}.min-offline-banner{z-index:3;border-block:3px solid var(--text);color:var(--text);background:#ff7967;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:21px 7%;display:grid;position:absolute;top:50%;left:-2%;right:-2%;transform:translateY(-50%)rotate(-1.4deg);box-shadow:0 10px #1c211d1c}.min-offline-banner strong{letter-spacing:-.035em;font-size:clamp(18px,2.2vw,28px)}.min-offline-banner span{font-size:14px}.min-offline-banner button{border:var(--line) solid var(--text);color:var(--text);cursor:pointer;white-space:nowrap;background:#fff4d8;border-radius:9px;padding:9px 12px;font-size:11px;font-weight:750}.min-offline-banner button:hover{background:#fff}.min-offline-note{z-index:4;color:var(--text);text-align:center;margin:0;font-size:13px;font-style:italic;font-weight:650;position:absolute;top:calc(50% + 70px);left:6%;right:6%}.project-kind{color:#768077;letter-spacing:.05em;text-transform:uppercase;margin:0 0 34px;font:700 11px/1.2 monospace}.project-card--featured .project-kind{color:var(--lime)}.project-card h3{letter-spacing:-.06em;margin:0;font-size:clamp(42px,5vw,64px)}.project-description{max-width:720px;color:var(--muted);margin:18px 0 0;font-size:17px;line-height:1.55}.project-card--featured .project-description{color:#dce6df;font-size:20px}.project-facts{flex-wrap:wrap;gap:7px;margin:auto 0 26px;padding:0;list-style:none;display:flex}.project-facts li{border:var(--line) solid var(--border);color:var(--muted);border-radius:999px;padding:7px 10px;font:700 10px/1 monospace}.project-card--featured .project-facts li{color:#dce6df;border-color:#638373}.project-links{flex-wrap:wrap;gap:12px 25px;display:flex}.project-links a{color:var(--text);text-underline-offset:5px;font-size:13px;font-weight:750}.project-card--featured .project-links a{color:#fff}.more-github{width:max-content;max-width:100%;color:var(--text);margin:28px 0 0 auto;font-size:14px;font-weight:700;text-decoration:none;display:block}.more-github:hover{text-underline-offset:5px;text-decoration:underline}.achievements{border-top:var(--line) solid var(--border)}.section-intro{max-width:690px;color:var(--muted);margin:-18px 0 48px 50px;font-size:17px;line-height:1.55}.achievement-list{border-top:var(--line) solid var(--border)}.achievement{border-bottom:var(--line) solid var(--border);grid-template-columns:90px 1fr auto;align-items:center;gap:25px;min-height:135px;padding:25px 0;display:grid}.achievement-year{color:var(--muted);font:700 12px/1 monospace}.achievement h3{letter-spacing:-.03em;margin:0 0 7px;font-size:clamp(20px,2.5vw,28px)}.achievement p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.achievement>a,.achievement-label{border:var(--line) solid var(--border);color:var(--text);white-space:nowrap;border-radius:999px;padding:9px 12px;font:750 10px/1 monospace;text-decoration:none}.achievement>a:hover{background:var(--lime);border-color:#9dbb4c}.education-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:48px;display:grid}.education-grid article{border:var(--line) solid var(--border);background:var(--surface);border-radius:20px;min-height:220px;padding:25px}.education-grid span{color:#66863f;letter-spacing:.06em;text-transform:uppercase;font:750 10px/1 monospace}.education-grid h3{letter-spacing:-.03em;margin:40px 0 10px;font-size:21px}.education-grid p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.contact{background:var(--blue);border-radius:30px;grid-template-columns:1.3fr .7fr;align-items:end;gap:60px;min-height:440px;margin-bottom:80px;padding:58px;display:grid}.contact h2{letter-spacing:-.055em;max-width:680px;margin:0;font-size:clamp(34px,4.5vw,54px);line-height:1.08}.contact-actions{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.button--light{color:#fff;background:var(--green);border:0;width:100%}.contact-actions button{border:0;border-bottom:var(--line) solid #788dad;color:var(--text);cursor:pointer;background:0 0;padding:5px 0;font-size:12px}.socials{gap:20px;margin-top:14px;display:flex}.socials a{color:var(--text);font-size:13px;font-weight:700;text-decoration:none}.footer{border-top:var(--line) solid var(--border);min-height:100px;color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;font-size:11px;display:grid}.footer p{margin:0}.footer a{color:var(--text);justify-self:end;font-weight:700;text-decoration:none}@media (width<=820px){.container{width:min(100% - 28px,1120px)}.menu-button{background:0 0;border:0;gap:5px;padding:10px 0 10px 12px;display:grid}.menu-button span{background:var(--text);width:24px;height:2px}.nav{border-bottom:var(--line) solid var(--border);background:var(--bg);flex-direction:column;align-items:flex-start;padding:25px 20px;display:none;position:absolute;top:74px;left:0;right:0}.nav.is-open{display:flex}.nav a{font-size:18px}.hero{grid-template-columns:1fr;gap:65px;min-height:auto;padding-block:65px 80px}.portrait-wrap{justify-self:center;width:min(78vw,340px)}.quick-facts{grid-template-columns:1fr 1fr}.quick-facts div:nth-child(2){border-right:0}.quick-facts div:nth-child(-n+2){border-bottom:var(--line) solid var(--border)}.section{padding-block:85px}.about-grid{grid-template-columns:1fr;gap:35px}.project-grid{grid-template-columns:1fr}.project-card--featured,.project-card--min{grid-column:auto}.min-offline-banner{grid-template-columns:1fr auto}.min-offline-banner span{grid-column:1}.min-offline-banner button{grid-area:1/2/3}.contact{grid-template-columns:1fr;align-items:start;padding:40px}.contact-actions{max-width:420px}.education-grid{grid-template-columns:1fr}.education-grid article{min-height:180px}}@media (width<=560px){.hero h1{font-size:45px}.hero-text{font-size:17px}.portrait-note{right:-3px}.portrait-badge{left:-6px}.quick-facts div{min-height:105px;padding:18px 15px}.quick-facts strong{font-size:22px}.quick-facts span{font-size:10px}.section-title{align-items:flex-start}.section-title h2{font-size:35px}.project-card,.project-card--featured{min-height:390px;padding:25px}.project-card--featured .project-description{font-size:17px}.project-card--min{min-height:460px}.min-offline-banner{grid-template-columns:1fr;gap:8px;padding:20px 10%;left:-5%;right:-5%;transform:translateY(-50%)rotate(-1.8deg)}.min-offline-banner span,.min-offline-banner button{grid-area:auto/1}.min-offline-banner button{width:max-content;margin-top:8px}.min-offline-note{font-size:12px;top:calc(50% + 118px)}.section-intro{margin-left:0}.achievement{grid-template-columns:62px 1fr;gap:15px}.achievement>a,.achievement-label{grid-column:2;width:max-content}.contact{min-height:480px;margin-bottom:50px;padding:30px 24px}.footer{grid-template-columns:1fr auto;align-content:center;gap:15px;min-height:130px}.footer p:nth-child(2){grid-area:2/1/auto/-1}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
