@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap";:root{color:#18201b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f2ea;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}:root{--ink:#18201b;--muted:#66716a;--paper:#f5f2ea;--green:#214c3b;--line:#d8d9cf;--serif:"Playfair Display", Georgia, serif}.wrap{width:min(1160px,100% - 80px);margin:0 auto}.nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:88px;display:flex}.brand{font:700 27px var(--serif)}.brand span{color:#59a686}.nav-links{color:var(--muted);gap:38px;font-size:13px;display:flex}.nav-links a:hover,.text-link:hover{color:var(--green)}.nav-contact{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.hero{grid-template-columns:1fr .92fr;align-items:center;gap:44px;min-height:690px;display:grid}.hero-copy{padding:70px 0 92px}.eyebrow{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:9px;font-size:11px;font-weight:600;display:flex}.status-dot{background:#58b98c;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #ddf1e8}.hero h1{font:700 clamp(48px, 6vw, 78px)/1.04 var(--serif);margin:30px 0 24px}.hero h1 em,.contact-section em{color:#418b6c;font-style:italic}.hero-lede{max-width:450px;color:var(--muted);font-size:16px;line-height:1.65}.hero-actions{align-items:center;gap:25px;margin-top:38px;display:flex}.button{align-items:center;gap:11px;padding:15px 20px;font-size:12px;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--green);color:#fff}.button-light{color:var(--green);background:#d5f0e2}.text-link{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.hero-meta{color:var(--muted);align-items:center;gap:15px;margin-top:74px;font-size:12px;display:flex}.hero-meta span:last-child{align-items:center;gap:5px;display:flex}.meta-line{background:#adb9b1;width:34px;height:1px}.scene-wrap{background:radial-gradient(circle at 50% 48%,#d8f1e3 0 23%,#0000 24%),linear-gradient(145deg,#e6eee5,#c1dccc);height:590px;position:relative;overflow:hidden}.scene-wrap canvas{width:100%!important;height:100%!important}.scene-caption{letter-spacing:.04em;color:#4a6c5c;align-items:center;gap:8px;font-size:11px;display:flex;position:absolute;bottom:26px;left:28px;right:28px}.scene-caption span{color:#91b7a3;margin-left:auto}.marquee{color:#427a61;letter-spacing:.24em;white-space:nowrap;background:#d6efdf;padding:21px 0;font-size:11px;font-weight:700;overflow:hidden}.marquee-track{width:max-content;animation:25s linear infinite drift}@keyframes drift{to{transform:translate(-35%)}}.section-grid{border-bottom:1px solid var(--line);grid-template-columns:190px 1fr;gap:35px;padding:112px 0;display:grid}.section-label{color:#819087;text-transform:uppercase;letter-spacing:.12em;flex-direction:column;gap:12px;font-size:11px;display:flex}.section-label span:first-child{color:#60a184;font-weight:700}.about-content,.skills-content{max-width:780px}.about-content h2,.skills-content h2{font:600 clamp(33px, 4vw, 49px)/1.16 var(--serif);margin:0 0 30px}.about-content h2 span,.skills-content h2 span{color:#9a9b91}.about-content>p{max-width:650px;color:var(--muted);margin-bottom:17px;font-size:15px;line-height:1.75}.quote{color:var(--green);border-left:2px solid #69b08e;align-items:center;gap:12px;margin-top:34px;padding:11px 0 11px 18px;display:flex}.quote p{font:italic 16px var(--serif)}.project-list{flex-direction:column;display:flex}.project{border-top:1px solid var(--line);grid-template-columns:64px 1fr 30px;align-items:start;gap:20px;padding:29px 0;transition:padding-left .2s;display:grid}.project:hover{padding-left:10px}.project-number{font:600 14px var(--serif);color:#6fa88c}.project-type{letter-spacing:.13em;text-transform:uppercase;color:#829087;margin:0 0 9px;font-size:10px}.project h3{font:600 27px var(--serif);margin:0 0 10px}.project-body>p:not(.project-type){color:var(--muted);max-width:600px;margin:0;font-size:14px;line-height:1.6}.project-arrow{color:#71a98c}.tags{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.tags span,.skill{color:#567062;letter-spacing:.04em;border:1px solid #cbd6ce;padding:7px 10px;font-size:10px}.skills-cloud{flex-wrap:wrap;gap:10px;max-width:680px;display:flex}.skill{padding:11px 14px;font-size:13px}.skill.featured{background:var(--green);color:#fff;border-color:var(--green)}.experience-note{border-top:1px solid var(--line);align-items:center;gap:22px;margin-top:66px;padding-top:23px;display:flex}.big-number{font:700 32px var(--serif);color:#60a184}.experience-note p{color:var(--green);font-size:13px;line-height:1.5}.experience-note small{color:var(--muted);font-size:11px}.contact-section{background:var(--green);color:#edf7ef;padding:108px 0 75px}.contact-inner{text-align:center}.contact-section .eyebrow{color:#a5c7b4;justify-content:center}.contact-section h2{font:600 clamp(44px, 6vw, 70px)/1.08 var(--serif);margin:24px 0 36px}.contact-section h2 em{color:#a2e1c4}.contact-links{color:#a5c7b4;justify-content:center;gap:30px;margin-top:73px;font-size:12px;display:flex}.contact-links a{align-items:center;gap:8px;display:flex}.footer{color:#7b897f;justify-content:space-between;padding:23px 0;font-size:11px;display:flex}@media (width<=760px){.wrap{width:min(100% - 38px,560px)}.nav{height:72px}.nav-links{gap:16px}.nav-contact{font-size:0}.nav-contact svg{width:18px;height:18px}.hero{flex-direction:column;gap:0;min-height:auto;display:flex}.hero-copy{padding:75px 0 45px}.hero h1{font-size:52px}.hero-meta{margin-top:48px}.scene-wrap{width:100%;height:390px;margin-bottom:22px}.section-grid{padding:77px 0;display:block}.section-label{flex-direction:row;margin-bottom:35px}.about-content h2,.skills-content h2{font-size:38px}.project{grid-template-columns:35px 1fr 20px;gap:9px}.project h3{font-size:23px}.contact-section{padding:80px 0 48px}.contact-links{flex-direction:column;align-items:center;gap:17px;margin-top:50px}.footer{padding:20px 0}}
