@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap";:root{color:#f4f1ea;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#151417;font-family:DM Sans,sans-serif}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button{font:inherit}#root{min-height:100vh}:root{--yellow:#fffdf7;--yellow-soft:#fff4b8;--ink:#33282d;--muted:#786b6f;--line:#e8d66f;--gold-text:#9a7f18;--lavender:#b19b42;--sans:"DM Sans", sans-serif;--display:"Fraunces", Georgia, serif;--mono:var(--sans)}*{box-sizing:border-box}body{background:var(--yellow);color:var(--ink)}main{background:var(--yellow);min-height:100vh}a{color:inherit}.page-width{width:min(1120px,100% - 64px);margin:0 auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:86px;display:flex}.logo{font:600 27px/1 var(--display);letter-spacing:-1px;text-decoration:none}.logo span{color:#d8b928}nav{gap:28px;display:flex}nav a,.eyebrow,.project-number,h4,.footer{font:11px var(--mono);text-transform:uppercase;letter-spacing:.8px}nav a{color:var(--muted);text-decoration:none}nav a:hover,a:hover{color:#c5a400}.intro{grid-template-columns:minmax(0,1fr) minmax(420px,520px);align-items:center;gap:70px;min-height:650px;padding:150px 0 120px;display:grid}.intro-content{min-width:0}.eyebrow{color:var(--muted);margin:0}.intro h1{max-width:800px;font:600 clamp(58px, 10vw, 128px)/.92 var(--display);letter-spacing:-5px;margin:28px 0}.intro h1 span,.contact h2 span{color:#c5a400}.intro-copy{max-width:420px;color:var(--muted);font:18px/1.6 var(--sans)}.button-link,.email-link{border:1px solid var(--ink);background:var(--ink);color:var(--yellow-soft);font:11px var(--mono);text-transform:uppercase;margin-top:32px;padding:13px 17px;text-decoration:none;display:inline-block}.button-link span,.email-link span,.project-links span{color:#d8b928;margin-left:8px}.profile-photo{color:#9a7f18;text-align:center;background:#fff4b8;border:0;border-radius:24px;place-items:center;width:100%;height:350px;display:grid;position:relative;overflow:hidden}.profile-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.profile-photo span{font:11px/1.7 var(--mono);text-transform:uppercase;letter-spacing:.7px}.profile-photo strong{color:var(--gold-text);font-weight:500}.section{border-top:1px solid var(--line);padding:90px 0 120px}.about{padding-bottom:45px}h2{font:500 clamp(37px, 5vw, 68px)/1 var(--display);letter-spacing:-2px;margin:0 0 35px}.about-content{grid-template-columns:minmax(260px,.85fr) minmax(300px,1fr);align-items:center;gap:0 70px;max-width:920px;margin:0 auto;display:grid}.about-content>h2{text-align:center;grid-column:1/-1;margin:0 auto 58px}.about-content>h2:after{content:"";background:#e7cf50;width:66px;height:4px;margin:22px auto 0;display:block}.about-body{grid-column:1/-1;grid-template-columns:minmax(260px,.85fr) minmax(300px,1fr);align-items:center;gap:70px;display:grid}.about-photo{color:#9a7f18;text-align:center;background:#fff4b8;border:0;border-radius:24px;place-items:center;width:min(100%,300px);height:360px;display:grid;position:relative;overflow:hidden}.about-photo img{object-fit:cover;object-position:center top;width:100%;height:100%;position:absolute;inset:0}.about-photo span{font:11px/1.7 var(--mono);text-transform:uppercase;letter-spacing:.7px}.about-photo strong{color:var(--gold-text);font-weight:500}.about-content p,.contact-content>p{max-width:390px;color:var(--muted);font:15px/1.75 var(--sans);margin:0 0 20px}.skills-content{border-top:1px solid var(--line);max-width:920px;margin:70px auto 0;padding-top:28px}.skills-content h3{font:500 34px/1 var(--display);text-align:center;margin:0 auto 42px}.skills-content h3:after{content:"";background:#e7cf50;width:66px;height:4px;margin:22px auto 0;display:block}.skill-groups{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.skill-group h4{color:var(--gold-text);align-items:center;gap:10px;margin-bottom:14px;display:flex}.projects-content>h2{text-align:center;margin:0 auto 58px}.projects-content>h2:after{content:"";background:#e7cf50;width:66px;height:4px;margin:22px auto 0;display:block}.experience-content>h2{text-align:center;margin:0 auto 58px}.experience-content>h2:after{content:"";background:#e7cf50;width:66px;height:4px;margin:22px auto 0;display:block}.experience-list{gap:16px;display:grid}.experience-item{border-top:1px solid var(--line);padding:24px 0 28px}.experience-organization{color:var(--gold-text);font:12px var(--mono);text-transform:uppercase;letter-spacing:.8px}.experience-role{border-left:2px solid var(--yellow-soft);padding:22px 0 8px 24px}.experience-role+.experience-role{border-top:1px solid var(--line);margin-top:12px}.experience-meta{color:var(--lavender);font:10px var(--mono);text-transform:uppercase;letter-spacing:.7px;justify-content:space-between;gap:20px;display:flex}.experience-role h3{font:600 28px/1.1 var(--display);margin:12px 0}.experience-role p{max-width:620px;color:var(--muted);font:14px/1.65 var(--sans);margin:0 0 14px}.experience-role ul{gap:8px;padding:0;list-style:none;display:grid}.experience-role li{color:var(--muted);font:12px/1.5 var(--sans)}.experience-role li:before{content:"•";color:#d8b928;margin-right:8px}.project-list{grid-template-columns:1fr;gap:20px;width:min(760px,100%);margin:0 auto;display:grid}.project-card{background:var(--yellow-soft);border:1px solid var(--line);border-radius:24px;flex-direction:column;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden}.project-card:hover{transform:translateY(-6px);box-shadow:8px 8px #e7cf50}.project-card-body{grid-template-columns:minmax(260px,1fr) 1fr;min-height:360px;display:grid}.project-card-details{flex-direction:column;min-width:0;padding:32px 34px 28px;display:flex}.project-card:nth-child(2n) .project-photo{grid-area:1/2}.project-card:nth-child(2n) .project-card-details{grid-area:1/1}.project-meta{color:var(--lavender);font:10px var(--mono);text-transform:uppercase;letter-spacing:.7px;justify-content:space-between;gap:12px;display:flex}.project-heading{justify-content:flex-start;align-items:start;gap:15px;margin-top:30px;display:flex}.project-heading h3{font:600 34px/1.05 var(--display);letter-spacing:-1px;text-align:left;margin:0}.project-photo{color:#9a7f18;background:#f0dc83;border:0;border-radius:0;place-items:center;min-height:360px;padding:28px;display:grid;overflow:hidden}.project-photo span{font:11px var(--mono);text-transform:uppercase;letter-spacing:.8px}.project-photo img{object-fit:contain;border-radius:12px;width:100%;height:100%}.project-description{color:var(--muted);font:15px/1.65 var(--sans);margin:24px 0 30px}.project-section{border-top:1px solid var(--line);margin-top:18px;padding-top:15px}.project-details-button{color:var(--ink);cursor:pointer;font:11px var(--mono);text-transform:uppercase;background:#fffdf7;border:1px solid #d8b928;border-radius:8px;align-self:flex-start;align-items:center;margin-top:24px;padding:11px 14px;transition:background .2s,color .2s;display:inline-flex}.project-details-button:hover{color:var(--ink);background:#d8b928}.project-details-button span{color:#9a7f18;margin-left:10px}h4{color:var(--muted);margin:0 0 13px}.skills{flex-wrap:wrap;gap:6px;display:flex}.skills span{border:1px solid var(--line);font:10px var(--mono);padding:6px 8px}ul{color:var(--muted);font:12px/1.65 var(--sans);margin:0;padding:0 0 0 17px}.project-links{gap:18px;margin-top:24px;padding-top:0;display:flex}.project-links a{color:var(--ink);font:11px var(--mono);text-transform:uppercase;border:1px solid #d8b928;border-radius:7px;align-items:center;padding:9px 11px;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.project-links a:hover{color:var(--ink);background:#d8b928}.project-modal-backdrop{z-index:20;background:#33282d6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.project-modal{border:1px solid var(--line);background:var(--yellow-soft);border-radius:24px;grid-template-columns:1fr 1fr;width:min(920px,100%);max-height:min(760px,100vh - 48px);display:grid;position:relative;overflow:auto;box-shadow:0 24px 70px #33282d38}.modal-close{z-index:1;background:var(--yellow);width:34px;height:34px;color:var(--ink);cursor:pointer;font:24px/1 var(--sans);border:0;border-radius:50%;position:absolute;top:16px;right:18px}.modal-image-wrap{background:#f0dc83;place-items:center;min-height:520px;padding:34px;display:grid}.modal-image-wrap img{object-fit:contain;border-radius:14px;width:100%;height:100%}.modal-content{padding:58px 48px 42px}.modal-content h2{margin:24px 0 0;font-size:clamp(36px,5vw,58px)}.modal-section{border-top:1px solid var(--line);margin-top:28px;padding-top:16px}.modal-section h4{color:var(--gold-text);margin-bottom:12px}.modal-description{color:var(--muted);font:15px/1.7 var(--sans);margin:0}.modal-section ul{margin:0}.modal-content .project-links{margin-top:30px}.contact{padding-bottom:100px}.contact-content{text-align:center;max-width:760px;margin:0 auto}.contact-content h2{text-align:center;margin:0 auto 35px}.contact-content h2:after{content:"";background:#e7cf50;width:66px;height:4px;margin:22px auto 0;display:block}.contact-content>p{max-width:480px;margin:0 auto}.email-link{margin-top:12px;font-size:13px}.social-links{font:11px var(--mono);text-transform:uppercase;gap:22px;margin-top:34px;display:flex}.social-links a{color:var(--ink);border:1px solid #d8b928;border-radius:7px;align-items:center;padding:10px 12px;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.social-links a:hover{color:var(--ink);background:#d8b928}.contact-links{flex-wrap:wrap;justify-content:center;gap:14px}.contact-links a{padding-bottom:10px}.footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:24px 0 30px;display:flex}@media (width<=800px){.page-width{width:min(100% - 36px,560px)}.site-header{height:70px}nav{gap:14px}.intro{flex-direction:column;align-items:stretch;gap:55px;min-height:0;padding:130px 0 100px;display:flex}.intro h1{letter-spacing:-4px}.profile-photo{align-self:center;width:min(100%,420px);height:280px}.section{padding:70px 0 85px}.about{padding-bottom:45px}.about-content{display:block}.about-content>h2{margin-bottom:32px}.about-body{display:block}.about-photo{width:min(100%,300px);height:330px;margin-bottom:36px}.skills-content{margin-top:55px}.skill-groups{grid-template-columns:1fr;gap:22px}.experience-role h3{font-size:24px}.project-list,.project-card-body{grid-template-columns:1fr}.project-card:nth-child(2n) .project-photo,.project-card:nth-child(2n) .project-card-details{grid-area:auto}.project-card-details{padding:32px 24px 30px}.project-photo{min-height:280px;padding:20px}.project-modal-backdrop{padding:12px}.project-modal{grid-template-columns:1fr;max-height:calc(100vh - 24px)}.modal-image-wrap{min-height:260px;padding:24px}.modal-content{padding:34px 24px 28px}.footer{line-height:2;display:block}.footer span{display:block}}
