/* Project index, case studies and the homepage's latest work. */
.project-main{max-width:1440px;margin:auto;padding:32px var(--page-gutter) 80px}
.project-heading{max-width:1020px;margin:0 0 42px}
.project-heading .eyebrow{margin-bottom:22px;color:var(--muted)}
.project-heading h1{font-size:clamp(2.4rem,4.6vw,4.5rem);line-height:1.12;letter-spacing:-.05em;margin:0 0 26px;text-wrap:balance;overflow-wrap:anywhere;hyphens:auto}
.project-byline{display:flex;flex-wrap:wrap;gap:5px 10px;font-size:.875rem;color:var(--muted);margin-bottom:28px}
.project-heading .lead{max-width:820px;margin:0;color:var(--muted);line-height:1.65}
.project-facts{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:0 0 38px}
.project-facts dt{font-size:.75rem;letter-spacing:.08em;color:var(--muted);margin-bottom:7px}
.project-facts dd{margin:0;font-size:1rem;font-weight:500}
.project-hero,.project-detail{margin:0}
.project-hero{margin-bottom:65px}
.project-hero img,.project-detail img{width:100%;height:auto;background:#eeede8}
.project-hero figcaption,.project-detail figcaption{font-size:.875rem;color:var(--muted);line-height:1.6;margin-top:12px}
.project-reading{display:grid;grid-template-columns:minmax(0,760px) minmax(230px,1fr);gap:7%;align-items:start}
.project-copy{min-width:0;font-size:1.0625rem;line-height:1.8}
.project-copy p,.project-copy ul{color:var(--muted)}
.project-copy strong{color:var(--ink)}
.project-copy section{margin-top:46px}
.project-copy h2{font-size:clamp(1.8rem,2.8vw,2.5rem);letter-spacing:-.04em;line-height:1.2;margin:0 0 23px}
.project-copy ul{padding-left:23px;margin:0 0 24px}
.project-copy li{padding-left:4px;margin-bottom:7px}
.project-detail{margin:30px 0 22px}
.project-detail a{display:block;cursor:zoom-in}
.project-copy .text-link{font-size:.9375rem;gap:15px}
.project-aside{position:sticky;top:30px;background:#edf1e9;padding:28px;min-width:0}
.project-aside .eyebrow{font-size:.75rem;margin-bottom:18px;color:var(--muted)}
.project-aside h2{font-size:1.5rem;line-height:1.3;letter-spacing:-.035em;overflow-wrap:anywhere;margin:0 0 16px}
.project-aside p{font-size:.9375rem;color:var(--muted);line-height:1.7}
.project-aside .text-link{font-size:.9375rem;gap:12px;flex-wrap:wrap}
.project-contact{margin-top:65px;background:var(--ink);color:var(--paper);padding:48px}
.project-contact .eyebrow{color:var(--lime);margin-bottom:20px}
.project-contact h2{font-size:clamp(2rem,3.6vw,3.4rem);max-width:820px;line-height:1.17;letter-spacing:-.045em;margin:0 0 25px}
.project-contact>p:not(.eyebrow){max-width:780px;color:#bfcdc1;line-height:1.75}
.project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px 30px;margin-top:30px}
.project-actions .button.primary{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.project-actions .button.primary:hover{background:var(--paper);border-color:var(--paper)}
.project-actions .text-link{font-size:.9375rem;gap:15px;border-color:#bfcdc1}
.project-back{margin:28px 0 0;font-size:.9375rem}
.project-back a{text-decoration:underline;text-underline-offset:4px}
.projects-index .project-heading{margin-bottom:48px}
.project-list{display:grid;gap:32px}
.project-card{border:1px solid var(--line);min-width:0;background:#edf1e9}
.project-card-link{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);height:100%}
.project-card-image{display:flex;align-items:center;background:#eeede8;min-width:0}
.project-card-image img{display:block;width:100%;height:auto}
.project-card-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:38px;min-width:0}
.project-card-copy .eyebrow{font-size:.75rem;color:var(--muted);margin:0 0 20px}
.project-card-copy h2,.project-card-copy h3{font-size:clamp(1.75rem,2.6vw,2.6rem);line-height:1.2;letter-spacing:-.04em;margin:0 0 20px}
.project-card-copy>p:not(.eyebrow){color:var(--muted);line-height:1.75}
.project-card-copy .text-link{font-size:.9375rem;gap:18px}
.project-card-link:hover .text-link{border-bottom-color:var(--ink)}
.project-card-link:hover h2,.project-card-link:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.latest-projects{border-bottom:1px solid var(--line)}
.latest-projects .section-intro{align-items:flex-end}
.latest-projects .section-intro h2{margin:15px 0 0}
.latest-projects .section-intro>.text-link{font-size:.9375rem;gap:18px;flex-shrink:0}
@media(min-width:701px) and (max-width:1100px){
  .site-header:not(.service-header) .header-contact{display:none}
  .site-header:not(.service-header) .nav-mobile-contact{display:block}
  .site-header:not(.service-header) nav{gap:20px}
}
@media(max-width:960px){
  .project-reading{grid-template-columns:minmax(0,1fr) 230px;gap:32px}
  .project-aside{padding:23px}
  .project-card-copy{padding:28px}
}
@media(max-width:700px){
  .project-main{padding-top:25px;padding-bottom:55px}
  .project-main .breadcrumbs{margin-bottom:32px;gap:8px 12px}
  .project-heading{margin-bottom:30px}
  .project-heading h1{font-size:clamp(2.05rem,8.5vw,3rem);line-height:1.16;letter-spacing:-.045em;text-wrap:initial}
  .project-heading .eyebrow{font-size:.7rem;letter-spacing:.07em;margin-bottom:18px}
  .project-heading .lead{font-size:1.125rem}
  .project-facts{grid-template-columns:1fr;gap:18px;padding:22px 0;margin-bottom:28px}
  .project-facts dt{margin-bottom:3px}
  .project-hero{margin-bottom:38px}
  .project-reading{grid-template-columns:1fr;gap:32px}
  .project-copy{font-size:1rem;line-height:1.8}
  .project-copy section{margin-top:36px}
  .project-aside{position:static;padding:25px}
  .project-aside h2{overflow-wrap:normal;font-size:1.55rem}
  .project-contact{margin-top:38px;padding:28px 24px}
  .project-contact h2{font-size:2rem}
  .project-actions{align-items:stretch;gap:24px}
  .project-actions .button{width:100%;font-size:.9375rem;gap:12px;justify-content:space-between;white-space:normal}
  .project-actions .button span{flex-shrink:0}
  .project-actions .text-link{line-height:1.6}
  .project-card-link{grid-template-columns:1fr}
  .project-card-copy{padding:26px 24px 30px}
  .project-card-copy h2,.project-card-copy h3{font-size:1.9rem}
  .latest-projects .section-intro>.text-link{margin-top:22px}
}
@media print{
  .project-aside,.project-contact,.project-back,.site-connect{display:none}
  .project-main{padding:20px}
  .project-heading h1{font-size:32px}
  .project-reading{display:block}
  .project-hero,.project-detail{break-inside:avoid}
}

/* Approved case study without identifying imagery. */
.project-card--text .project-card-link{grid-template-columns:minmax(0,1fr)}
.project-card--text .project-card-copy{max-width:960px}
.project-reading--single{display:block;max-width:860px}
.project-contact .button.primary{white-space:normal}
