@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f7f6f1;--ink:#252c25;--muted:#5e665c;--line:#d7dbd0;--green:#526942;--orange:#a55236;--sea:#e9ece3;--sand:#e7d7b9;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}a{color:inherit;text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}.container{max-width:1360px;margin:0 auto;padding-left:64px;padding-right:64px}.skip-link{position:absolute;top:-100px;left:12px;z-index:100;background:var(--ink);color:white;padding:10px 16px}.skip-link:focus{top:12px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:72px;display:flex;justify-content:space-between;align-items:center;gap:24px}.wordmark{font-size:18px;letter-spacing:-.06em;font-weight:700;text-decoration:none;white-space:nowrap}.site-header nav{display:flex;gap:31px;align-items:center}.site-header nav a{text-decoration:none;color:var(--muted);font-size:12px;font-weight:600}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--orange)}
.hero{padding-top:47px;padding-bottom:28px}.hero-eyebrow,.kicker{text-transform:uppercase;letter-spacing:.12em;font:500 10px var(--sans)}.hero-eyebrow{display:flex;align-items:center;gap:10px;color:var(--green)}.eyebrow-dot{height:7px;width:7px;border-radius:50%;background:var(--orange)}.hero-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,.65fr);gap:55px;align-items:end;margin-top:19px}h1{font:400 clamp(54px,7.4vw,98px)/.96 var(--serif);letter-spacing:-.025em;max-width:900px}.hero-side{padding-bottom:4px;border-left:1px solid var(--line);padding-left:25px}.hero-side>p:first-child{font-size:15px;line-height:1.65;max-width:280px}.hero-context{color:var(--muted);font:10px/1.7 var(--sans);margin:14px 0}.arrow-link{font-size:11px;display:inline-flex;justify-content:space-between;gap:22px;min-width:155px;text-decoration:none;border-bottom:1px solid var(--ink);padding:0 0 7px;font-weight:700}.arrow-link:hover{color:var(--orange)}.hero-footer{border-top:1px solid var(--line);display:flex;gap:40px;color:var(--muted);font:10px var(--sans);margin-top:37px;padding:12px 0 0}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:26px}.section-heading .kicker{color:var(--orange);margin-bottom:7px}.section-heading h2,.contact-section h2{font:400 clamp(40px,4.2vw,58px)/.95 var(--serif);letter-spacing:-.02em}.section-heading>p{max-width:330px;font-size:12px;color:var(--muted);line-height:1.65}
.work-section{background:var(--sea);padding:36px 0 48px}.work-section .section-heading{margin-bottom:20px}.work-list{border-top:1px solid #9eaea6}.work-item{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(260px,1.2fr);gap:45px;border-bottom:1px solid #9eaea6;padding:14px 0 15px;align-items:baseline}.work-name{display:block}.work-name h3{font:400 25px/1.05 var(--serif)}.work-name p,.work-item>div:nth-child(2)>p{font-size:11px;color:var(--muted);line-height:1.55}.work-item>div:nth-child(2){padding-left:20px;border-left:1px solid #9eaea6}.work-item a,.work-note{font:10px var(--sans);display:inline-block;margin-top:5px}.work-note{color:var(--muted)}.work-item:hover h3{color:var(--orange)}
.projects-section{padding-top:76px;padding-bottom:82px}.projects-section .section-heading{margin-bottom:23px}.filter-bar{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 27px}.filter-button{padding:8px 14px;border:1px solid var(--line);border-radius:0;color:var(--muted);background:transparent;font:10px var(--sans);cursor:pointer;min-height:38px}.filter-button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-button:hover{border-color:var(--orange)}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:42px 24px;align-items:start}.project-card{min-width:0;grid-column:span 6}.project-card.featured{grid-column:span 12}.project-card:nth-child(2),.project-card:nth-child(5){grid-column:span 5}.project-card:nth-child(3),.project-card:nth-child(6){grid-column:span 7}.project-card[hidden],.more-maps[hidden]{display:none}.card-link{display:block;text-decoration:none;height:100%}.card-art{position:relative;height:260px;overflow:hidden;background:#e2e4da;display:flex;justify-content:center;align-items:center}.project-card.featured .card-link{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(280px,.72fr);align-items:stretch;min-height:330px}.project-card.featured .card-art{height:100%;min-height:330px}.card-art img{width:100%;height:100%;object-fit:cover}.art-fire{background:#dddcd2;padding:14px}.art-fire img{height:100%;object-fit:contain}.image-label{position:absolute;bottom:10px;left:12px;background:var(--paper);color:var(--green);padding:4px 7px;font:9px var(--sans)}.art-courses{background:#e6d8c0;justify-content:flex-start;padding:25px 30px}.number-figure{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;color:var(--green)}.number-figure strong{font:400 clamp(72px,9vw,115px)/.8 var(--serif);letter-spacing:-.05em}.number-figure span{font:10px var(--sans);max-width:80px}.number-figure i{height:1px;background:#b9a98e;width:100%;margin:14px 0 2px}.number-figure small{width:100%;font:10px var(--sans);color:var(--muted)}.art-multiscale{background:linear-gradient(135deg,#d5e1dc 0 48%,#afc4b9 48% 49%,#c6d4ca 49%);justify-content:flex-start;padding:22px}.map-annotation{max-width:280px;color:var(--green)}.map-annotation span{display:block;font:400 clamp(26px,3.6vw,42px)/.98 var(--serif)}.map-annotation i{display:block;margin-top:16px;font:10px var(--sans);font-style:normal;color:var(--muted)}.art-programs{background:#d5dfce;justify-content:flex-start;padding:24px}.art-programs:after{content:"";position:absolute;right:9%;top:12%;width:35%;height:78%;border-radius:48% 52% 47% 53%;background:radial-gradient(circle at 34% 25%,var(--orange) 0 4px,transparent 5px),radial-gradient(circle at 70% 41%,var(--orange) 0 4px,transparent 5px),radial-gradient(circle at 48% 72%,var(--orange) 0 4px,transparent 5px),repeating-linear-gradient(25deg,transparent 0 21px,#6e96805c 22px 23px,transparent 24px 37px);transform:rotate(-14deg)}.art-litlog{background:#33483f;color:#f4f1e9;justify-content:flex-start;padding:27px}.litlog-visual{width:72%}.litlog-visual>span{font:400 70px/.9 var(--serif);display:block}.litlog-visual i{display:block;border-top:1px solid #82948a;margin-top:18px;padding-top:9px;color:#cadbd5;font:10px var(--sans);font-style:normal}.art-coast{background:linear-gradient(112deg,#d6c9a9 0 49%,#9dbfc1 50% 100%);justify-content:flex-start;padding:23px}.art-coast:after{content:"";position:absolute;width:27%;height:135%;left:46%;top:-17%;border-radius:50%;background:#e6e1cf;transform:rotate(16deg);box-shadow:12px 0 0 #c6d9c9}.art-coast .map-annotation{position:relative;z-index:1;max-width:240px}.art-coast .map-annotation span{font-size:32px}.art-dashboard{background:#e8e4d8;padding:15px}.art-dashboard img{object-fit:contain}.art-bittersweet{background:#e2d4c1;padding:10px}.art-bittersweet img{object-fit:cover;object-position:center center}.card-content{padding-top:15px}.project-card.featured .card-content{padding:29px 0 25px 28px;display:flex;flex-direction:column;justify-content:center}.card-type{display:flex;justify-content:space-between;gap:15px;color:var(--orange);text-transform:uppercase;font:10px var(--sans);margin-bottom:9px}.card-type span{white-space:nowrap;color:var(--muted)}.card-content h3{font:400 30px/1.05 var(--serif);letter-spacing:-.01em;margin-bottom:8px}.project-card.featured .card-content h3{font-size:43px}.card-content>p:nth-of-type(2){font-size:12px;line-height:1.65;color:var(--muted);max-width:480px}.card-cta,.card-note{display:inline-block;margin-top:12px;font:10px var(--sans)}.card-cta{border-bottom:1px solid var(--ink);padding-bottom:3px;width:max-content}.card-cta span{margin-left:12px}.card-link:hover .card-cta{color:var(--orange);border-color:var(--orange)}.card-link:hover .card-art img{transform:scale(1.018)}.card-art img{transition:transform .35s ease}.card-note{color:var(--muted)}.more-maps{border-top:1px solid var(--line);margin-top:45px;padding-top:17px}.more-maps .kicker{color:var(--orange)}.more-maps>div{display:flex;gap:12px 26px;flex-wrap:wrap;margin-top:11px}.more-maps a{font-size:11px}
.contact-section{padding-top:72px;padding-bottom:72px}.contact-section .kicker{color:var(--orange);margin-bottom:15px}.contact-section>p:nth-of-type(2){font-size:13px;color:var(--muted);margin-top:14px}.contact-links{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:22px}.contact-links a{font-size:11px}.contact-links .email-link{font:400 25px var(--serif);color:var(--green);text-decoration:none;margin-right:auto}.site-footer{border-top:1px solid var(--line);padding-top:18px;padding-bottom:24px;display:flex;justify-content:space-between;font:10px var(--sans);color:var(--muted)}.site-footer a{text-decoration:none}
@media(max-width:900px){.container{padding-left:30px;padding-right:30px}.hero{padding-top:36px}.hero-layout{grid-template-columns:minmax(0,1.3fr) minmax(190px,.7fr);gap:30px}h1{font-size:clamp(56px,8vw,78px)}.project-card.featured .card-link{grid-template-columns:minmax(0,1.1fr) minmax(250px,.9fr)}.project-card.featured .card-content{padding-left:22px}.project-card.featured .card-content h3{font-size:36px}.card-art{height:230px}.work-item{gap:25px}}
@media(max-width:620px){html{scroll-padding-top:112px}.container{padding-left:21px;padding-right:21px}.header-inner{min-height:0;padding-top:13px;padding-bottom:10px;display:block}.wordmark{display:block;font-size:18px}.site-header nav{justify-content:space-between;gap:12px;margin-top:8px}.site-header nav a{font-size:11px;padding:4px 0}.hero{padding-top:37px;padding-bottom:24px}.hero-eyebrow,.kicker{font-size:9px}.hero-layout{display:block;margin-top:18px}h1{font-size:clamp(51px,13vw,72px);max-width:500px}.hero-side{padding:17px 0 0;border-left:0}.hero-side>p:first-child{font-size:14px;max-width:330px}.hero-context{margin:10px 0}.hero-footer{margin-top:23px;gap:10px;justify-content:space-between;font-size:8px;flex-wrap:wrap}.section-heading{display:block;margin-bottom:18px}.section-heading h2,.contact-section h2{font-size:48px}.section-heading>p{margin-top:11px;font-size:12px}.work-section{padding:29px 0 34px}.work-section .section-heading{margin-bottom:15px}.work-item{display:block;padding:13px 0 14px}.work-name h3{font-size:24px}.work-item>div:nth-child(2){padding:7px 0 0 35px;border:0}.projects-section{padding-top:52px;padding-bottom:58px}.filter-bar{gap:5px;margin-bottom:20px}.filter-button{padding:7px 10px;font-size:9px;min-height:34px}.project-grid{display:grid;grid-template-columns:1fr;gap:30px}.project-card,.project-card.featured,.project-card:nth-child(2),.project-card:nth-child(3),.project-card:nth-child(5),.project-card:nth-child(6){grid-column:1}.project-card.featured .card-link{display:block;min-height:0}.project-card.featured .card-art{height:230px;min-height:0}.project-card.featured .card-content{padding:16px 0 0}.project-card.featured .card-content h3{font-size:34px}.card-art{height:210px}.card-content{padding-top:13px}.card-content h3{font-size:26px}.number-figure strong{font-size:85px}.more-maps{margin-top:32px}.more-maps>div{display:grid;gap:10px}.contact-section{padding-top:54px;padding-bottom:52px}.contact-links{align-items:flex-start;gap:16px}.contact-links .email-link{width:100%;font-size:22px}.site-footer{padding-top:17px;padding-bottom:20px}}
@media(max-width:360px){h1{font-size:47px}.site-header nav{gap:8px}.site-header nav a{font-size:10px}.contact-links .email-link{font-size:20px}}
.motion-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,.61,.36,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-art img{transition:none}.motion-ready .reveal{opacity:1;transform:none;transition:none}}

/* Material 3-inspired type scale, adapted to the existing portfolio fonts. */
:root{
  --type-display:clamp(36px,4.6vw,57px);
  --type-display-line:1.12;
  --type-headline:36px;
  --type-headline-line:44px;
  --type-headline-small:24px;
  --type-headline-small-line:32px;
  --type-title:22px;
  --type-title-line:28px;
  --type-body-large:16px;
  --type-body-large-line:24px;
  --type-body:14px;
  --type-body-line:20px;
  --type-label:12px;
  --type-label-line:16px;
}
body{font-size:var(--type-body);line-height:1.5}
h1{font-size:var(--type-display);line-height:var(--type-display-line);letter-spacing:-.025em}
.section-heading h2,.contact-section h2{font-size:var(--type-headline);line-height:var(--type-headline-line)}
.project-card.featured .card-content h3{font-size:32px;line-height:40px}
.card-content h3{font-size:var(--type-headline-small);line-height:var(--type-headline-small-line)}
.work-name h3{font-size:var(--type-title);line-height:var(--type-title-line)}
.hero-side>p:first-child{font-size:var(--type-body-large);line-height:var(--type-body-large-line)}
.hero-context,.work-name p,.work-item>div:nth-child(2)>p,.card-content>p:nth-of-type(2),.section-heading>p,.contact-section>p:nth-of-type(2){font-size:var(--type-body);line-height:var(--type-body-line)}
.hero-eyebrow,.kicker,.site-header nav a,.card-type,.filter-button,.card-cta,.card-note,.work-item a,.work-note,.more-maps a,.contact-links a,.image-label,.site-footer{font-size:var(--type-label);line-height:var(--type-label-line)}
.contact-links .email-link{font-size:22px;line-height:28px}
.number-figure strong{font-size:clamp(57px,7vw,76px);line-height:1}
.litlog-visual>span{font-size:56px;line-height:1}
.map-annotation span,.art-coast .map-annotation span{font-size:32px;line-height:40px}

@media(max-width:620px){
  :root{--type-display:36px;--type-display-line:44px;--type-headline:32px;--type-headline-line:40px;--type-headline-small:22px;--type-headline-small-line:28px;--type-title:20px;--type-title-line:26px;--type-body-large:16px;--type-body-large-line:24px;--type-body:14px;--type-body-line:20px;--type-label:12px;--type-label-line:16px}
  .project-card.featured .card-content h3{font-size:28px;line-height:36px}
  .number-figure strong{font-size:57px;line-height:1}
  .litlog-visual>span{font-size:48px}
  .map-annotation span,.art-coast .map-annotation span{font-size:28px;line-height:36px}
  .filter-button{padding:7px 11px}
}
