@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;1,500&display=swap";#root{width:100%}body{overflow-x:hidden}nav{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:22px 28px 16px;display:flex}.logo{letter-spacing:-.08em;font-size:20px;font-weight:800}.nav-links{gap:28px;display:flex}.nav-links a{text-transform:uppercase;letter-spacing:.08em;font-family:DM Mono,monospace;font-size:10px;transition:opacity .2s}.nav-links a:hover{opacity:.45}.hero{grid-template-columns:1fr .9fr;align-items:center;gap:60px;max-width:1180px;min-height:calc(100vh - 75px);margin:0 auto;padding:70px 28px;display:grid}.hero-content{z-index:2;position:relative}.hero-label{letter-spacing:.12em;text-transform:uppercase;margin:0 0 35px;font-family:DM Mono,monospace;font-size:10px}.hero-title{letter-spacing:-.09em;text-transform:uppercase;flex-direction:column;margin:0;font-size:clamp(75px,10vw,135px);font-weight:800;line-height:.78;display:flex}.hero-title span{text-transform:none;letter-spacing:-.07em;font-family:Playfair Display,serif;font-style:italic;font-weight:500}.hero-description{max-width:410px;color:var(--muted);margin:45px 0 30px;font-size:13px;line-height:1.7}.hero-link{border-bottom:1px solid var(--text);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;padding-bottom:7px;font-family:DM Mono,monospace;font-size:10px;transition:gap .25s,opacity .25s;display:inline-flex}.hero-link:hover{opacity:.6;gap:15px}.hero-visual{justify-content:center;align-items:center;min-height:570px;display:flex;position:relative}.organic-shape{background:#172235;border-radius:48% 52% 43% 57%/36% 44% 56% 64%;width:380px;height:500px;transition:transform .6s,border-radius .6s;position:absolute;transform:rotate(5deg)}.hero-image{z-index:2;object-fit:cover;object-position:center;filter:saturate(.85);border-radius:47% 53% 49% 51%/40% 45% 55% 60%;width:330px;height:470px;transition:transform .6s,border-radius .6s;position:relative;box-shadow:0 25px 60px #0000001f}.hero-visual:hover .organic-shape{border-radius:55% 45%/45% 55%;transform:rotate(-2deg)scale(1.02)}.hero-visual:hover .hero-image{border-radius:50% 50% 45% 55%/45% 50% 50% 55%;transform:translateY(-6px)}.hero-image-label{letter-spacing:.1em;text-transform:uppercase;flex-direction:column;gap:5px;font-family:DM Mono,monospace;font-size:8px;display:flex;position:absolute;bottom:35px;right:0}.hero-image-label span:first-child{color:var(--muted)}main{width:100%}@media (width<=800px){nav{padding:18px}.nav-links{gap:14px}.nav-links a{font-size:8px}.hero{grid-template-columns:1fr;gap:50px;min-height:auto;padding:70px 18px 90px}.hero-title{font-size:clamp(65px,19vw,100px)}.hero-description{margin-top:35px}.hero-visual{min-height:500px}.organic-shape{width:310px;height:420px}.hero-image{width:270px;height:400px}.hero-image-label{bottom:15px;right:15px}}.about-page{max-width:1180px;margin:0 auto}.about-hero{flex-direction:column;justify-content:center;min-height:620px;padding:90px 28px 80px;display:flex}.page-label{letter-spacing:.12em;text-transform:uppercase;margin:0 0 45px;font-family:DM Mono,monospace;font-size:10px}.page-title{letter-spacing:-.09em;text-transform:uppercase;margin:0;font-size:clamp(75px,11vw,135px);font-weight:800;line-height:.78}.page-title em{text-transform:none;font-family:Playfair Display,serif;font-style:italic;font-weight:500}.about-intro{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:100px;margin-top:75px;padding-top:25px;display:grid}.about-statement{letter-spacing:-.04em;max-width:470px;margin:0;font-size:27px;line-height:1.08}.about-copy{max-width:460px;color:var(--muted);font-size:12px;line-height:1.8}.about-copy p{margin:0 0 22px}.about-details{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.detail-block{border-right:1px solid var(--border);min-height:250px;padding:22px 25px 30px 0}.detail-block:not(:first-child){padding-left:25px}.detail-block:last-child{border-right:none}.detail-block>span{letter-spacing:.12em;color:var(--muted);margin-bottom:40px;font-family:DM Mono,monospace;font-size:9px;display:block}.detail-block h2{letter-spacing:-.04em;text-transform:uppercase;margin:0 0 15px;font-size:21px;line-height:1}.detail-block p{max-width:270px;color:var(--muted);margin:0 0 15px;font-size:11px;line-height:1.6}.detail-block small{color:var(--muted);font-family:DM Mono,monospace;font-size:9px}@media (width<=800px){.about-hero{min-height:auto;padding:70px 18px}.page-title{font-size:clamp(65px,18vw,105px)}.about-intro{grid-template-columns:1fr;gap:35px;margin-top:55px}.about-statement{font-size:24px}.about-details{grid-template-columns:1fr}.detail-block,.detail-block:not(:first-child){border-right:none;border-bottom:1px solid var(--border);min-height:auto;padding:25px 18px}.detail-block:last-child{border-bottom:none}}.experience-page{max-width:1180px;margin:0 auto}.experience-hero{border-bottom:1px solid var(--border);grid-template-columns:1fr .55fr;align-items:end;gap:80px;min-height:520px;padding:90px 28px 70px;display:grid}.experience-heading .page-label{margin-bottom:45px}.experience-intro{max-width:340px;color:var(--muted);padding-bottom:8px;font-size:13px;line-height:1.7}.experience-case{border-bottom:1px solid var(--border);grid-template-columns:180px 1fr;padding:65px 28px 80px;display:grid}.experience-meta{color:var(--muted);flex-direction:column;gap:30px;font-family:DM Mono,monospace;font-size:9px;line-height:1.6;display:flex}.experience-meta>span{color:var(--text);font-size:11px}.experience-meta p{margin:0}.experience-company{letter-spacing:.1em;text-transform:uppercase;margin:0 0 15px;font-family:DM Mono,monospace;font-size:10px}.experience-main h2{letter-spacing:-.08em;text-transform:uppercase;margin:0;font-size:clamp(50px,7vw,85px);line-height:.8}.experience-main h2 em{text-transform:none;font-family:Playfair Display,serif;font-style:italic;font-weight:500;display:block}.experience-description{max-width:550px;color:var(--muted);margin:40px 0 65px;font-size:13px;line-height:1.7}.experience-grid{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.experience-block{border-bottom:1px solid var(--border);border-right:1px solid var(--border);min-height:260px;padding:22px 25px 30px 0}.experience-block:nth-child(2n){border-right:none;padding-left:25px}.experience-block>span{letter-spacing:.1em;color:var(--muted);margin-bottom:55px;font-family:DM Mono,monospace;font-size:9px;display:block}.experience-block h3{text-transform:uppercase;letter-spacing:-.04em;margin:0 0 20px;font-size:22px}.experience-block ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.experience-block li{color:var(--muted);padding-left:15px;font-family:DM Mono,monospace;font-size:9px;position:relative}.experience-block li:before{content:"+";color:var(--text);position:absolute;left:0}.experience-tools{padding:40px 28px 80px}.experience-tools .page-label{margin-bottom:30px}.tool-list{flex-wrap:wrap;gap:8px;display:flex}.tool-list span{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;padding:10px 13px;font-family:DM Mono,monospace;font-size:9px;transition:background .2s,color .2s}.tool-list span:hover{background:var(--dark);color:var(--background)}@media (width<=800px){.experience-hero{grid-template-columns:1fr;gap:45px;min-height:auto;padding:70px 18px}.experience-case{grid-template-columns:1fr;padding:50px 18px 60px}.experience-meta{flex-direction:row;justify-content:space-between;margin-bottom:50px}.experience-main h2{font-size:60px}.experience-description{margin:35px 0 50px}.experience-grid{grid-template-columns:1fr}.experience-block,.experience-block:nth-child(2n){border-right:none;padding:22px 0 30px}.experience-tools{padding:35px 18px 60px}}.work-page{max-width:1180px;margin:0 auto}.work-hero{border-bottom:1px solid var(--border);min-height:500px;padding:90px 28px 70px}.work-heading{grid-template-columns:1fr .45fr;align-items:end;gap:80px;margin-top:70px;display:grid}.work-heading>p{max-width:320px;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.project-list{padding:0 28px}.project-row{border-bottom:1px solid var(--border);grid-template-columns:80px 1fr 60px;gap:30px;min-height:440px;padding:55px 0;transition:padding .35s,background .35s;display:grid}.project-row:hover{background:#e9e8e3;padding-left:15px;padding-right:15px}.project-number{color:var(--muted);padding-top:5px;font-family:DM Mono,monospace;font-size:10px}.project-content{flex-direction:column;justify-content:center;display:flex}.project-category{letter-spacing:.12em;color:var(--muted);margin-bottom:30px;font-family:DM Mono,monospace;font-size:9px}.project-content h2{letter-spacing:-.09em;text-transform:uppercase;margin:0;font-size:clamp(55px,8vw,100px);line-height:.78}.project-content h2 em{letter-spacing:-.04em;text-transform:none;margin-top:12px;font-family:Playfair Display,serif;font-size:.36em;font-style:italic;font-weight:500;display:block}.project-description{max-width:520px;color:var(--muted);margin:45px 0 30px;font-size:12px;line-height:1.7}.project-tech{flex-wrap:wrap;gap:6px;display:flex}.project-tech span{border:1px solid var(--border);text-transform:uppercase;padding:7px 9px;font-family:DM Mono,monospace;font-size:8px}.project-action{border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin-top:5px;transition:transform .3s,background .3s;display:flex}.project-row:hover .project-action{background:var(--dark);color:var(--background);transform:rotate(45deg)}.work-note{grid-template-columns:1fr 1fr;gap:80px;padding:55px 28px 90px;display:grid}.work-note span{letter-spacing:.1em;color:var(--muted);font-family:DM Mono,monospace;font-size:9px}.work-note p{letter-spacing:-.03em;max-width:450px;margin:0;font-size:20px;line-height:1.2}@media (width<=800px){.work-hero{min-height:auto;padding:70px 18px}.work-heading{grid-template-columns:1fr;gap:35px;margin-top:55px}.project-list{padding:0 18px}.project-row{grid-template-columns:35px 1fr;gap:10px;min-height:auto;padding:45px 0}.project-action{display:none}.project-category{margin-bottom:25px}.project-content h2{font-size:62px}.project-description{margin:35px 0 25px}.work-note{grid-template-columns:1fr;gap:25px;padding:45px 18px 65px}}.skills-page{max-width:1180px;margin:0 auto}.skills-hero{border-bottom:1px solid var(--border);min-height:500px;padding:90px 28px 70px}.skills-heading{grid-template-columns:1fr .45fr;align-items:end;gap:80px;margin-top:70px;display:grid}.skills-heading>p{max-width:330px;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.skills-grid{grid-template-columns:1fr 1fr;display:grid}.skill-card{border-bottom:1px solid var(--border);border-right:1px solid var(--border);min-height:300px;padding:25px 28px 35px}.skill-card:nth-child(2n){border-right:none}.skill-card-top{letter-spacing:.1em;color:var(--muted);justify-content:space-between;margin-bottom:65px;font-family:DM Mono,monospace;font-size:9px;display:flex}.skill-card h2{letter-spacing:-.05em;text-transform:uppercase;margin:0 0 25px;font-size:28px;line-height:1}.skill-list{flex-wrap:wrap;gap:6px;display:flex}.skill-list span{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;font-family:DM Mono,monospace;font-size:8px;transition:background .2s,color .2s}.skill-list span:hover{background:var(--dark);color:var(--background)}.skills-direction{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:80px;padding:70px 28px 100px;display:grid}.skills-direction>span{letter-spacing:.1em;color:var(--muted);font-family:DM Mono,monospace;font-size:9px}.skills-direction h2{letter-spacing:-.08em;text-transform:uppercase;margin:0;font-size:clamp(55px,7vw,85px);line-height:.8}.skills-direction h2 em{text-transform:none;font-family:Playfair Display,serif;font-style:italic;font-weight:500;display:block}.skills-direction p{max-width:450px;color:var(--muted);margin:35px 0 0;font-size:12px;line-height:1.7}@media (width<=800px){.skills-hero{min-height:auto;padding:70px 18px}.skills-heading{grid-template-columns:1fr;gap:35px;margin-top:55px}.skills-grid{grid-template-columns:1fr}.skill-card,.skill-card:nth-child(2n){border-right:none;min-height:auto;padding:25px 18px 35px}.skill-card-top{margin-bottom:45px}.skills-direction{grid-template-columns:1fr;gap:35px;padding:55px 18px 70px}.skills-direction h2{font-size:65px}}.contact-page{max-width:1180px;margin:0 auto}.contact-hero{border-bottom:1px solid var(--border);flex-direction:column;justify-content:center;min-height:600px;padding:90px 28px 80px;display:flex}.contact-title{letter-spacing:-.1em;text-transform:uppercase;margin:60px 0 0;font-size:clamp(80px,12vw,150px);font-weight:800;line-height:.72}.contact-title em{text-transform:none;letter-spacing:-.07em;font-family:Playfair Display,serif;font-style:italic;font-weight:500;display:block}.contact-intro{max-width:390px;color:var(--muted);margin:65px 0 0;font-size:13px;line-height:1.7}.contact-content{border-bottom:1px solid var(--border);grid-template-columns:1fr .45fr;gap:100px;padding:70px 28px;display:grid}.contact-label{letter-spacing:.12em;color:var(--muted);margin-bottom:35px;font-family:DM Mono,monospace;font-size:9px;display:block}.email-link{border-bottom:1px solid var(--text);letter-spacing:-.05em;justify-content:space-between;align-items:center;gap:30px;padding-bottom:15px;font-size:clamp(25px,3vw,42px);transition:padding .3s,opacity .3s;display:flex}.email-link:hover{opacity:.55;padding-left:10px}.contact-social{border-top:1px solid var(--border)}.contact-social a{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;padding:16px 0;font-family:DM Mono,monospace;font-size:10px;transition:padding .25s,opacity .25s;display:flex}.contact-social a:hover{opacity:.55;padding-left:8px}.contact-footer{justify-content:space-between;align-items:center;padding:25px 28px 80px;display:flex}.contact-mark{letter-spacing:.1em;align-items:center;gap:10px;font-family:DM Mono,monospace;font-size:9px;display:flex}.contact-footer p{color:var(--muted);margin:0;font-family:Playfair Display,serif;font-size:13px;font-style:italic}@media (width<=800px){.contact-hero{min-height:auto;padding:70px 18px 65px}.contact-title{margin-top:50px;font-size:75px}.contact-intro{margin-top:50px}.contact-content{grid-template-columns:1fr;gap:60px;padding:55px 18px}.email-link{font-size:25px}.contact-footer{flex-direction:column;align-items:flex-start;gap:25px;padding:25px 18px 60px}}.site-header{z-index:100;position:relative}.navbar{border-bottom:1px solid var(--border);background:var(--background);justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:20px 28px 16px;display:flex}.logo{color:var(--text);letter-spacing:-.09em;align-items:baseline;font-size:20px;font-weight:800;display:inline-flex}.logo span{font-family:Playfair Display,serif;font-style:italic;font-weight:500}.desktop-nav{align-items:center;gap:28px;display:flex}.nav-item{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;padding:5px 0;font-family:DM Mono,monospace;font-size:9px;transition:color .25s;position:relative}.nav-item:hover,.nav-item.active{color:var(--text)}.nav-item.active:after{content:"";background:var(--text);transform-origin:0;height:1px;animation:.3s navLine;position:absolute;bottom:-6px;left:0;right:0}@keyframes navLine{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.menu-button{border:1px solid var(--border);width:40px;height:40px;color:var(--text);background:0 0;justify-content:center;align-items:center;display:none}.mobile-menu{display:none}@media (width<=800px){.navbar{padding:17px 18px}.desktop-nav{display:none}.menu-button{display:flex}.mobile-menu{background:var(--background);border-bottom:1px solid var(--border);opacity:0;visibility:hidden;flex-direction:column;padding:10px 18px 25px;transition:opacity .25s,transform .25s,visibility .25s;display:flex;position:absolute;top:100%;left:0;right:0;transform:translateY(-15px)}.mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-menu a{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.1em;padding:15px 0;font-family:DM Mono,monospace;font-size:10px}.mobile-menu a:last-child{border-bottom:none}}.home-nav-item{color:var(--muted)!important;visibility:visible!important;opacity:1!important;display:inline-block!important}.resume-nav{border:1px solid var(--text);text-transform:uppercase;letter-spacing:.08em;color:var(--text);align-items:center;gap:6px;padding:8px 11px;font-family:DM Mono,monospace;font-size:8px;transition:background .25s,color .25s;display:inline-flex}.resume-nav:hover{background:var(--dark);color:var(--background)}.mobile-resume{text-transform:uppercase;letter-spacing:.1em;border-top:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:15px 0;font-family:DM Mono,monospace;font-size:10px;display:flex}:root{--background:#f3f2ee;--text:#111;--muted:#73736f;--border:#b9b8b2;--dark:#111;color:var(--text);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);min-width:320px;color:var(--text);margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}
