@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');

:root{color-scheme:light;--paper:#f5f3ec;--ink:#252821;--muted:#686b61;--line:#d8d9cf;--accent:#b74529;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font-size:calc(16px + 2pt)}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip-link{position:absolute;top:-100px;left:20px;padding:15px;background:var(--ink);color:white;z-index:5}.skip-link:focus{top:10px}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:'Manrope',Arial,sans-serif;font-size:calc(36px + 2pt);font-weight:800;letter-spacing:-2px}.wordmark span{color:var(--accent)}.header-link{font-size:calc(13px + 2pt);font-weight:500;display:flex;align-items:center;gap:28px}.header-link span{font-size:calc(23px + 2pt)}.header-link:hover{color:var(--accent)}
.intro{padding:65px 0 51px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:calc(10px + 2pt);font-weight:600;letter-spacing:1.8px;margin:0 0 26px}.status-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px #b7452910}h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(52px,6.6vw,92px);line-height:1.09;font-weight:500;letter-spacing:-5px;margin:0}.serif{font-family:Georgia,'Times New Roman',serif;font-style:italic;letter-spacing:-4px;font-weight:400;color:var(--accent)}.asterisk{display:inline-block;font-size:70px;line-height:0;vertical-align:baseline;color:var(--accent);margin-left:28px}.intro-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:28px}.intro-bottom p{font-size:calc(15px + 2pt);line-height:1.7;margin:0;color:var(--muted)}.intro-note{font-size:calc(11px + 2pt);line-height:1.7;text-align:right;color:var(--muted)}
.projects{padding-top:23px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.section-heading h2{font-size:12px;font-weight:550;margin:0}.project-count{font-size:calc(10px + 2pt);letter-spacing:1px;color:var(--muted);font-variant-numeric:tabular-nums}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.project{display:flex;flex-direction:column;min-width:0}.project-art{position:relative;overflow:hidden;height:242px;background:#eddfd2;color:#a6462b;border:1px solid #00000004;transition:background .25s}.georec .project-art{background:#e1e8da;color:#315f4d}.qr .project-art{background:#e4e3ed;color:#565174}.art-label,.art-index{position:absolute;left:20px;font-size:calc(8px + 2pt);font-weight:600;letter-spacing:1.3px;z-index:1}.art-label{top:19px}.art-index{bottom:18px;font-size:calc(8px + 2pt);letter-spacing:1px}.art-corner{position:absolute;right:20px;bottom:13px;font-size:calc(24px + 2pt)}.artwork{display:block;width:100%;height:100%;transition:transform .4s}.project:hover .artwork{transform:scale(1.045)}.project-body{padding-top:23px;display:flex;flex-direction:column;flex:1}.category{font-size:calc(8px + 2pt);letter-spacing:1.3px;color:var(--muted);font-weight:600;margin:0 0 10px}.project-body h2{font-family:'Manrope',Arial,sans-serif;letter-spacing:-.9px;font-size:26px;font-weight:650;display:flex;align-items:center;justify-content:space-between;margin:0}.project-arrow{font-size:23px;font-weight:400;transition:transform .25s}.project:hover .project-arrow{transform:translate(3px,-3px)}.description{font-size:calc(13px + 2pt);color:var(--muted);line-height:1.8;margin:13px 0 24px;max-width:340px}.project-link{display:flex;align-items:center;justify-content:space-between;font-size:calc(11px + 2pt);font-weight:500;border-top:1px solid var(--line);padding:15px 0;margin-top:auto}.project-link>span:last-child{font-size:calc(16px + 2pt)}.project:hover .project-link{color:var(--accent)}.closing{display:flex;align-items:center;gap:11px;padding:42px 0 31px}.closing>span{font-size:calc(24px + 2pt);color:var(--accent)}.closing p{font-size:calc(11px + 2pt);color:var(--muted)}.closing a{margin-left:auto;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background .2s}.closing a:hover{background:#e9e7df}.site-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding-block:23px 28px;font-size:calc(10px + 2pt);color:var(--muted)}.site-footer a span{margin-left:12px}
@media(min-width:1600px){.intro{padding-top:80px}.project-art{height:270px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}h1{letter-spacing:-3px}.project-grid{gap:18px}.project-art{height:210px}.project-body h2{font-size:22px}.art-label{font-size:calc(7px + 2pt);left:14px}.description{font-size:calc(12px + 2pt)}.intro-note{display:none}.asterisk{font-size:56px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{height:86px}.wordmark{font-size:calc(30px + 2pt)}.header-link{font-size:calc(10px + 2pt);gap:10px}.header-link span{font-size:calc(20px + 2pt)}.intro{padding:44px 0 34px}.eyebrow{font-size:calc(8px + 2pt);margin-bottom:24px}h1{font-size:clamp(42px,9vw,63px);letter-spacing:-2.7px}.serif{letter-spacing:-2px}.asterisk{font-size:42px;margin-left:12px}.intro-bottom{margin-top:24px}.intro-bottom p{font-size:calc(12px + 2pt)}.project-grid{grid-template-columns:1fr;gap:34px}.section-heading{margin-bottom:20px}.project-art{height:260px}.art-label{font-size:calc(8px + 2pt);left:20px}.project-body h2{font-size:27px}.description{font-size:calc(14px + 2pt);max-width:none;margin-bottom:22px}.category{font-size:calc(9px + 2pt)}.project-link{font-size:calc(12px + 2pt)}.closing{padding-top:30px}.site-footer{flex-wrap:wrap;font-size:calc(10px + 2pt)}.site-footer>span:nth-child(2){order:3;flex-basis:100%}.artwork{max-width:440px;margin:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
