@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;450;500;600&display=swap');
:root{--linen:#EDE5D8;--beige:#D8C8B4;--taupe:#9B8D7A;--olive:#6E7C61;--forest:#2F4A3A;--paper:var(--linen);--ink:#2F4A3A;--green:#2F4A3A;--muted:#2F4A3A;--line:#D8C8B4;--sage:#6E7C61;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}button,a,input{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:6px}.skip{position:fixed;top:-80px;left:16px;background:var(--ink);color:white;padding:10px;z-index:10}.skip:focus{top:10px}.wrap{max-width:1180px;margin:auto;padding:0 48px}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:29px;font-weight:600}.brand svg{width:28px;height:34px}.nav{display:flex;gap:40px;align-items:center}.nav a{font-size:13px;position:relative;padding:12px 0}.nav a[aria-current=page]:after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:var(--green)}.nav .contact-nav{border:1px solid #9B8D7A;border-radius:3px;padding:9px 18px;margin-left:12px}.eyebrow{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;font-weight:500;display:flex;gap:12px;align-items:center}.eyebrow:before{content:'';width:24px;height:1px;background:currentColor}.hero{padding:78px 0 84px;display:grid;grid-template-columns:1.2fr 1fr;gap:82px;align-items:center}.hero h1{font-family:var(--serif);font-size:clamp(65px,6.7vw,92px);line-height:.99;font-weight:400;letter-spacing:-2px;margin:30px 0 24px}.hero h1 em{font-weight:400;color:var(--green)}.hero-copy>p{max-width:420px;color:#2F4A3A;font-size:14px;line-height:1.9}.buttons{display:flex;gap:26px;align-items:center;margin-top:31px}.button{background:var(--green);color:#EDE5D8;display:inline-flex;align-items:center;justify-content:center;gap:27px;padding:13px 23px;border:1px solid var(--green);border-radius:2px;font-size:12px}.button:hover{background:var(--ink)}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid #9B8D7A;padding-bottom:4px}.portrait{position:relative;padding:15px 15px 0;border:1px solid #9B8D7A;max-width:410px;margin-left:auto;width:100%;transform:rotate(2deg);background:#EDE5D8}.portrait-inner{aspect-ratio:4/4.45;position:relative;background:#D8C8B4;display:flex;align-items:center;justify-content:center;overflow:hidden}.portrait-inner:before{content:'';position:absolute;width:72%;height:84%;border:1px solid #9B8D7A;border-radius:48% 48% 0 0;bottom:-1px}.portrait-inner:after{content:'';position:absolute;width:59%;height:75%;border:1px solid #9B8D7A;border-radius:48% 48% 0 0;bottom:-1px}.portrait-monogram{font:italic 118px var(--serif);color:#6E7C61;z-index:1;margin-top:40px}.portrait img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-note{position:absolute;bottom:27px;z-index:2;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#2F4A3A}.portrait-caption{display:flex;justify-content:space-between;padding:15px 4px 17px;font:italic 18px var(--serif)}.portrait-caption span:last-child{font-size:21px}.stamp{position:absolute;right:-24px;top:-30px;width:88px;height:88px;border-radius:50%;background:#EDE5D8;border:1px solid #9B8D7A;display:grid;place-items:center;transform:rotate(12deg);font:italic 16px var(--serif);text-align:center;line-height:1.1;z-index:2}.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0;display:flex;justify-content:space-around;gap:15px;font:italic 20px var(--serif);color:#6E7C61}.ribbon .star{font:17px var(--serif);color:#9B8D7A}.section{padding:67px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1}h2{font-size:46px;margin:13px 0 0;letter-spacing:-.7px}h2 em{color:var(--green)}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;border-bottom:1px solid var(--line)}.about p{color:#2F4A3A;font-size:14px;margin:8px 0 19px}.note{font-size:10px;color:var(--muted);letter-spacing:.4px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.project-card{display:block;width:100%;background:none;border:0;padding:0;text-align:left}.project-art{height:260px;display:grid;place-items:center;position:relative;overflow:hidden;transition:transform .4s;background:#6E7C61}.project-card:hover .project-art{transform:translateY(-4px)}.rose{background:#D8C8B4}.sand{background:#9B8D7A}.project-art:before{content:'';position:absolute;inset:20px;border:1px solid #2F4A3A1F}.art-paper{width:56%;height:70%;background:#EDE5D8;box-shadow:9px 12px 20px #2F4A3A10;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(-7deg);border:1px solid #D8C8B4;gap:9px}.rose .art-paper{transform:rotate(7deg)}.sand .art-paper{transform:rotate(-3deg)}.art-number{font:italic 64px var(--serif);color:#6E7C61;line-height:1}.art-line{width:45%;height:1px;background:#9B8D7A}.art-label{font-size:8px;letter-spacing:3px;text-transform:uppercase}.sage .art-corner{color:var(--linen)}.sand .art-corner{color:var(--forest)}.art-corner{position:absolute;bottom:17px;left:24px;font-size:8px;letter-spacing:2px;text-transform:uppercase;color:#2F4A3A}.project-meta{display:flex;justify-content:space-between;margin-top:17px;font-size:9px;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted)}.project-card h3{font-size:28px;margin:10px 0}.project-card p{font-size:12px;color:var(--muted);max-width:400px;margin:0}.project-title-row{display:flex;align-items:center;justify-content:space-between}.project-title-row>span{font-size:23px}.contact{background:#D8C8B4;text-align:center;padding:57px 20px 62px;border:1px solid #9B8D7A;margin:18px 0 62px}.contact .eyebrow{justify-content:center}.contact h2{font-size:49px;margin:19px 0 15px}.contact p{font-size:13px;color:var(--muted);margin:0 auto 20px}.contact .text-link{font-size:13px}.site-footer{padding:25px 0 30px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}.footer-brand{font:22px var(--serif);color:var(--ink)}.footer-links{display:flex;gap:22px}.page-intro{padding:67px 0 40px;max-width:760px}.page-intro h1{font:400 76px/1 var(--serif);letter-spacing:-1.5px;margin:22px 0}.page-intro h1 em{color:var(--green)}.page-intro p{font-size:14px;color:var(--muted);max-width:530px}.resume-layout{display:grid;grid-template-columns:220px 1fr;gap:65px;padding:10px 0 75px}.resume-sidebar{padding-top:32px}.resume-sidebar a{display:block;font-size:12px;margin-bottom:16px}.resume-sidebar .button{margin-top:30px;display:inline-flex;font-size:11px;gap:15px}.resume-block{border-top:1px solid var(--line);padding:30px 0 20px;scroll-margin-top:25px}.resume-block h2{font-size:34px;margin:0 0 30px}.resume-entry{padding:0 0 22px 23px;border-left:1px solid #D8C8B4;position:relative}.resume-entry:before{content:'';width:7px;height:7px;background:#6E7C61;border-radius:50%;position:absolute;left:-4px;top:8px}.resume-entry h3{font-size:25px;margin:6px 0}.resume-entry .date{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.resume-entry .organization{font-size:12px}.resume-entry p{font-size:12px;color:var(--muted);max-width:530px}.tags{display:flex;flex-wrap:wrap;gap:10px}.tag{font-size:11px;border:1px solid #9B8D7A;padding:7px 13px;background:#D8C8B4}.placeholder-note{color:var(--muted);font-size:10px;margin:25px 0}.project-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:25px 0 30px;gap:20px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{border:1px solid transparent;background:none;padding:7px 18px;border-radius:2px;font-size:11px}.filter[aria-pressed=true]{background:var(--green);color:#EDE5D8}.filter:hover{border-color:#6E7C61}.project-count{font-size:10px;color:var(--muted)}.projects-page{padding-bottom:70px}.projects-page .project-grid{row-gap:45px}dialog{background:var(--paper);color:var(--ink);border:1px solid #6E7C61;padding:40px;width:min(620px,90vw);max-height:85vh;box-shadow:0 20px 80px #2F4A3A30}dialog::backdrop{background:#2F4A3A70;backdrop-filter:blur(4px)}dialog h2{font-size:39px}dialog h3{font-size:25px;margin:25px 0 12px}dialog p{font-size:14px;color:var(--muted)}.dialog-close{position:absolute;top:12px;right:16px;background:none;border:0;font-size:24px}.dialog-label{font-size:9px;letter-spacing:2px;text-transform:uppercase}.dialog-placeholder{font-size:10px;border-top:1px solid var(--line);padding-top:15px;margin-top:30px}.empty{padding:40px 0;color:var(--muted)}@media(min-width:1400px){.hero{padding-top:92px;padding-bottom:92px}}@media(max-width:800px){.wrap{padding:0 27px}.site-header{height:90px}.nav{gap:24px}.nav .contact-nav{display:none}.hero{gap:36px;padding:60px 0}.hero h1{font-size:65px}.stamp{width:66px;height:66px;right:-12px;top:-22px;font-size:13px}.hero-copy>p{font-size:12px}.buttons{gap:16px;flex-wrap:wrap}.button{padding:11px 17px}.about{gap:40px}.project-art{height:220px}.resume-layout{grid-template-columns:150px 1fr;gap:30px}}@media(max-width:570px){.wrap{padding:0 23px}.brand{font-size:25px}.brand svg{width:22px}.nav{gap:22px}.nav a{font-size:11px}.hero{grid-template-columns:1fr;gap:50px;padding:45px 0 50px}.hero h1{font-size:77px;max-width:360px}.hero-copy>p{font-size:14px;max-width:340px}.portrait{max-width:310px;margin:0 auto}.ribbon{font-size:15px;gap:7px}.ribbon .star{font-size:12px}.section{padding:45px 0}.about{grid-template-columns:1fr;gap:21px}h2{font-size:39px}.section-heading{align-items:center}.section-heading .text-link{font-size:10px;gap:7px}.project-grid{grid-template-columns:1fr;gap:32px}.project-art{height:265px}.contact h2{font-size:39px}.site-footer{flex-wrap:wrap}.site-footer>span{order:3;width:100%}.page-intro{padding-top:47px}.page-intro h1{font-size:60px}.resume-layout{grid-template-columns:1fr;gap:20px}.resume-sidebar{display:flex;flex-wrap:wrap;gap:18px;padding-top:0;align-items:center}.resume-sidebar a{margin:0}.resume-sidebar .button{margin:0}.project-toolbar{align-items:flex-start}.filters{gap:2px}.filter{padding:6px 11px}.project-count{white-space:nowrap;margin-top:8px}dialog{padding:32px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.site-header,.resume-sidebar,.contact,.site-footer,.placeholder-note,.skip{display:none}.wrap{max-width:none;padding:0}.page-intro{padding:10px 0 20px}.page-intro h1{font-size:45px}.resume-layout{display:block;padding:0}.resume-block{break-inside:avoid;padding:18px 0 0}body{background:white;font-size:12px}.resume-block h2{font-size:27px;margin-bottom:20px}.resume-entry{padding-bottom:10px}}

/* Resume details */
.resume-bullets{padding-left:18px;font-size:12px;line-height:1.85;max-width:590px;color:var(--ink);margin:12px 0 0}.resume-bullets li{padding-left:2px;margin:0 0 9px}.skill-group{margin-bottom:25px}.skill-group h3{font-size:23px;margin:0 0 13px}.hero .eyebrow{letter-spacing:1.5px;font-size:9px;line-height:1.8}.hero .eyebrow:before{flex-shrink:0}.project-toolbar{flex-wrap:wrap}.art-corner{max-width:85%}@media print{.resume-entry{break-inside:avoid}.resume-block{break-inside:auto}.skill-group{break-inside:avoid}.resume-bullets{font-size:10px}}
