:root{--paper:#f8f6f1;--ink:#1d2421;--muted:#6a716d;--line:#d9ddd5;--coral:#f17768;--yellow:#f3c85b;--mint:#b9d8ca;--violet:#c6b9de;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px}a{color:inherit;text-decoration:none}.container{width:min(1120px,100% - 64px);margin:auto}.nav-wrap{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f6f1e6;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;height:78px;display:flex}.logo{letter-spacing:-.06em;align-items:center;gap:7px;font-size:21px;font-weight:700;display:flex}.logo-mark{background:var(--ink);color:var(--paper);width:26px;height:26px;font-family:var(--serif);border-radius:50%;place-items:center;font-size:19px;font-style:italic;display:grid}.dot{color:var(--coral)}.nav-links{align-items:center;gap:32px;font-size:14px;display:flex}.nav-links>a:not(.nav-cta){color:var(--muted);transition:all .2s}.nav-links>a:not(.nav-cta):hover{color:var(--ink)}.nav-cta{background:var(--ink);color:#fff;border-radius:3px;align-items:center;gap:8px;padding:12px 16px;display:flex}.menu{color:var(--ink);background:0 0;border:0;display:none}.hero{grid-template-columns:1.02fr .98fr;align-items:center;min-height:610px;padding-top:63px;padding-bottom:65px;display:grid}.eyebrow,.label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px}.eyebrow{align-items:center;gap:10px;margin-bottom:25px;display:flex}.eyebrow span{background:var(--coral);width:25px;height:1px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.075em;margin-bottom:28px;font-size:clamp(52px,7.1vw,94px);font-weight:600;line-height:.96}h1 em,h2 em{font-family:var(--serif);letter-spacing:-.05em;font-weight:600}h1>span{color:var(--coral)}.asterisk{color:var(--yellow);vertical-align:top;margin-left:8px;font-size:.6em;animation:8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.hero-intro{color:var(--muted);max-width:370px;font-size:15px;line-height:1.7}.hero-actions{align-items:center;gap:26px;margin-top:30px;display:flex}.button{border-radius:3px;align-items:center;gap:17px;padding:15px 19px;font-size:13px;font-weight:600;display:inline-flex}.dark{background:var(--ink);color:#fff}.light{background:var(--paper);color:var(--ink)}.text-link{border-bottom:1px solid var(--ink);align-items:center;gap:9px;padding-bottom:4px;font-size:13px;display:flex}.hero-art{place-items:center;min-height:425px;display:grid;position:relative}.code-card{color:#e7e8e0;z-index:2;background:#28302c;border-radius:8px;width:min(390px,90%);position:relative;overflow:hidden;box-shadow:25px 28px #1d242114}.tilt{transform:rotate(3deg)}.code-bar{height:40px;font:11px var(--mono);color:#9da7a0;border-bottom:1px solid #45504a;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.dots{gap:5px;display:flex}.dots i{background:#6e7b71;border-radius:50%;width:7px;height:7px;display:block}.dots i:first-child{background:var(--coral)}.code-card pre{font:13px/1.8 var(--mono);color:#dbe0d8;margin:0;padding:24px 27px 20px}.purple{color:#d09bea}.coral{color:#f39584}.green{color:#9ed4aa}.code-foot{font:10px var(--mono);color:#9da7a0;border-top:1px solid #45504a;padding:12px 16px}.code-foot i{background:#a9d58b;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.art-note{font:11px var(--mono);z-index:3;color:var(--muted);position:absolute}.top-note{top:35px;left:6%;transform:rotate(-9deg)}.bottom-note{align-items:center;gap:6px;display:flex;bottom:38px;right:8%;transform:rotate(5deg)}.yellow-blob{background:var(--yellow);border-radius:44% 56% 63% 37%/43% 42% 58% 57%;width:210px;height:210px;position:absolute;top:100px;right:7%;transform:rotate(30deg)}.ticker{border-block:1px solid var(--line);background:#f2f0e9;padding:18px 0;overflow:hidden}.ticker>div{color:#747b74;min-width:900px;font:11px var(--mono);text-transform:uppercase;letter-spacing:.1em;justify-content:space-around;align-items:center;display:flex}.ticker b{color:var(--coral);font-size:16px}.intro{padding-top:120px;padding-bottom:130px}.label{margin-bottom:38px}.intro-grid,.skills-grid,.journal-grid{grid-template-columns:1fr 1fr;gap:80px;display:grid}.intro h2,.section-head h2,.skills h2,.journal h2{letter-spacing:-.07em;margin:0;font-size:clamp(40px,5vw,62px);font-weight:600;line-height:1.03}.intro h2 em,.section-head h2 em,.skills h2 em,.journal h2 em,.contact h2 em{color:var(--coral)}.intro-copy{max-width:415px;padding-top:4px}.intro-copy p{color:var(--muted);font-size:15px;line-height:1.8}.intro-copy strong{color:var(--ink)}.circle-link{border:1px solid var(--ink);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:82px;height:82px;margin-top:34px;font-size:11px;transition:all .25s;display:flex}.circle-link:hover{background:var(--ink);color:#fff;transform:rotate(-8deg)}.work{background:#e8eee8;padding:115px 0 105px}.section-head{justify-content:space-between;align-items:end;margin-bottom:50px;display:flex}.section-head p{font:11px/1.7 var(--mono);color:var(--muted);text-align:right}.project-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.project{display:block}.project-visual{border-radius:4px;height:265px;margin-bottom:20px;transition:transform .3s;position:relative;overflow:hidden}.project:hover .project-visual{transform:translateY(-7px)}.project-visual.coral{background:var(--coral)}.project-visual.mint{background:var(--mint)}.project-visual.violet{background:var(--violet)}.project-no{font:11px var(--mono);color:#1d2421a6;position:absolute;top:18px;left:19px}.mini-list{background:var(--paper);font:11px var(--mono);flex-direction:column;gap:11px;padding:17px 21px;display:flex;position:absolute;top:64px;left:43px;transform:rotate(-4deg);box-shadow:9px 10px #1d24211f}.mini-list .fade{color:#9fa29c}.mini-star{color:#f5db68;font-size:40px;position:absolute;bottom:27px;right:30px}.leaf{color:#537c68;font-size:125px;position:absolute;top:68px;left:80px;transform:rotate(-30deg)}.orbit{border:1px solid #37664e73;border-radius:50%;width:215px;height:80px;position:absolute;top:95px;left:30px;transform:rotate(38deg)}.orbit.two{transform:rotate(-38deg)}.eco{font:11px var(--mono);color:#436451;position:absolute;bottom:29px;right:23px}.pixel-sun,.pixel-flower,.pixel-spark{font-size:60px;position:absolute}.pixel-sun{color:#f1e284;top:48px;left:78px}.pixel-flower{color:#8a65ae;font-size:73px;bottom:43px;right:63px}.pixel-spark{color:#fff;font-size:33px;bottom:30px;left:45px}.project-meta{font:10px var(--mono);text-transform:uppercase;color:var(--muted);letter-spacing:.08em;justify-content:space-between;display:flex}.project h3{letter-spacing:-.04em;margin:10px 0 7px;font-size:25px}.project>p{color:var(--muted);max-width:290px;font-size:13px;line-height:1.6}.tags{gap:7px;margin-top:18px;display:flex}.tags span{font:10px var(--mono);color:#667168;border:1px solid #c8d0c9;border-radius:20px;padding:5px 8px}.all-work{color:var(--muted);border-top:1px solid #c7d1c8;justify-content:space-between;margin-top:65px;padding-top:18px;font-size:12px;display:flex}.all-work span{color:var(--ink);align-items:center;gap:10px;display:flex}.skills{padding-top:115px;padding-bottom:125px}.skills-grid{margin-top:10px}.skill-list{border-top:1px solid var(--line)}.skill-list>div{border-bottom:1px solid var(--line);grid-template-columns:45px 1fr;padding:18px 0;display:grid;position:relative}.skill-list span{font:11px var(--mono);color:var(--coral)}.skill-list strong{font-size:16px;font-weight:600}.skill-list p{color:var(--muted);font:11px var(--mono);grid-column:2;margin:7px 0 0}.journal{border-top:1px solid var(--line);background:#f2f0e9;padding:110px 0 125px}.journal-grid{margin-top:8px}.journal-list{border-top:1px solid var(--line)}.journal-list a{border-bottom:1px solid var(--line);padding:21px 0;display:block}.journal-list span{font:10px var(--mono);color:var(--muted);margin-bottom:10px;display:block}.journal-list strong{justify-content:space-between;gap:15px;font-size:16px;font-weight:500;display:flex}.contact{background:var(--ink);color:var(--paper);padding:112px 0 28px}.contact .label{color:#929d94}.contact-main{text-align:center}.contact h2{letter-spacing:-.075em;margin:0 0 26px;font-size:clamp(46px,7vw,82px);line-height:.98}.contact-main p{color:#a6afa8;max-width:390px;margin:0 auto 29px;font-size:14px;line-height:1.7}.footer-bottom{color:#909a92;font:10px var(--mono);border-top:1px solid #434b46;justify-content:space-between;align-items:center;margin-top:120px;padding-top:22px;display:flex}.footer-bottom .logo{color:var(--paper);font-family:var(--sans);font-size:18px}.socials{gap:17px;display:flex}.socials a{transition:all .2s}.socials a:hover{color:var(--coral)}@media (width<=750px){.container{width:min(100% - 36px,520px)}.nav{height:67px}.menu{display:block}.nav-links{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:22px;padding:25px 18px 30px;display:none;position:absolute;top:67px;left:0;right:0}.nav-links.nav-open{display:flex}.hero{grid-template-columns:1fr;min-height:auto;padding-top:62px;padding-bottom:75px}.hero-copy{z-index:2;position:relative}.hero-art{min-height:370px;margin-top:5px}.yellow-blob{top:75px;right:4%}.code-card{width:340px}.top-note{left:4%}.bottom-note{bottom:22px;right:2%}.intro,.skills,.journal{padding-top:80px;padding-bottom:85px}.intro-grid,.skills-grid,.journal-grid{grid-template-columns:1fr;gap:40px}.work{padding:80px 0}.section-head{display:block}.section-head p{text-align:left;margin-top:22px}.project-grid{grid-template-columns:1fr;gap:45px}.project-visual{height:290px}.all-work{margin-top:50px;line-height:2;display:block}.all-work span{float:right}.footer-bottom{grid-template-columns:1fr 1fr;gap:20px;margin-top:80px;display:grid}.footer-bottom>span{grid-column:1/-1}.footer-bottom .logo{grid-column:1}.socials{justify-content:flex-end}.hero-actions{gap:18px}.button{padding:14px}.text-link{font-size:12px}h1{font-size:55px}}
