html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.bg-grid,.bg-contours{transform:none !important;}}

body{background:#f9f8f5;}

.bg-contours,
.bg-grid{
  position:fixed;
  top:-200px;
  left:-200px;
  right:-200px;
  bottom:auto;
  min-height:calc(100vh + 400px);
  z-index:0;
  pointer-events:none;
}

.bg-contours{overflow:hidden;}
.bg-contours svg{display:block;width:100%;height:100%;}

.bg-grid{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cline x1='0' y1='0' x2='160' y2='0' stroke='rgba(100,92,76,0.11)' stroke-width='0.5'/%3E%3Cline x1='0' y1='0' x2='0' y2='160' stroke='rgba(100,92,76,0.11)' stroke-width='0.5'/%3E%3Cpath d='M0 40H160M0 80H160M0 120H160M40 0V160M80 0V160M120 0V160' stroke='rgba(100,92,76,0.048)' stroke-width='0.3'/%3E%3Cpath d='M0 0H7M153 0H160M0 0V7M0 153V160' stroke='rgba(100,92,76,0.30)' stroke-width='1.2'/%3E%3C/svg%3E");
  background-size:160px 160px;
  will-change:transform;
}

.page-shell{position:relative;z-index:1;}
.site-header,.site-footer{background:transparent;}

.home-intro{max-width:52ch;margin:0 0 88px;}
.home-intro p{font-size:15px;line-height:1.65;color:#111;margin:0;}

.home-all-projects{padding:80px 0 32px;text-align:center;}
.all-projects-link,.all-projects-link:visited{display:inline-flex;flex-direction:column;align-items:center;gap:12px;color:#111;text-decoration:none;}
.all-projects-link:hover{opacity:.45;}
.all-projects-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px;}
.all-projects-arrow{display:block;position:relative;width:1px;height:36px;background:currentColor;}
.all-projects-arrow::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid currentColor;}

.archive h1,.outgoing-links h1{font-size:clamp(32px,5vw,56px);font-weight:400;margin:0 0 34px;}
.archive-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;}
.archive-heading h1{margin-bottom:34px;}
.archive-clear{appearance:none;border:0;background:transparent;color:#645c4c;font:500 10px/1 "Jost",sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:0;white-space:nowrap;position:relative;}
.archive-clear::after,.archive-filter::after{content:"";position:absolute;inset:-8px -6px;}
.archive-clear:hover{text-decoration:underline;text-underline-offset:4px;color:#111;}
.archive-clear span{font-size:18px;vertical-align:-2px;line-height:0;}
.archive-filters{display:flex;flex-wrap:wrap;gap:14px 22px;margin:0 0 48px;}
.archive-filter{appearance:none;border:0;border-bottom:1px solid transparent;background:transparent;padding:0 0 3px;color:#111;font:500 11px/1 "Jost",sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;position:relative;}
.archive-filter.is-active,.archive-filter:hover{border-color:currentColor;}
.archive-list,.outgoing-links ul,.related-coverage ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(100,92,76,.32);}
.archive-item,.outgoing-links li,.related-coverage li{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:15px 0;border-bottom:1px solid rgba(100,92,76,.20);}
.archive-item a,.outgoing-links a,.related-coverage a{color:#111;text-decoration:none;font-size:18px;line-height:1.25;}
.archive-item a:hover,.outgoing-links a:hover,.related-coverage a:hover{text-decoration:underline;text-underline-offset:4px;}
.archive-kind,.archive-project,.related-coverage span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#645c4c;}
.related-coverage{margin-top:48px;}
.related-coverage h2{font-size:14px;font-weight:500;margin:0 0 14px;}
.related-coverage li{grid-template-columns:minmax(0,1fr) auto;}
.related-coverage a{font-size:15px;}

.outgoing-links li{grid-template-columns:132px minmax(0,1fr) minmax(104px,.3fr) 92px;gap:18px;min-height:84px;align-items:center;}
.outgoing-links .outgoing-kind,.outgoing-links .outgoing-domain{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#645c4c;}
.outgoing-links a{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:clamp(17px,1.6vw,22px);line-height:1.22;}
.outgoing-links img,.outgoing-placeholder{display:block;width:92px;height:62px;object-fit:cover;border:1px solid rgba(100,92,76,.22);background:rgba(100,92,76,.06);}

@media (max-width:700px){.archive-item{grid-template-columns:1fr;gap:5px;}.archive-project{grid-row:2;}.archive-kind{grid-row:1;}.archive-item a{grid-row:2;}.archive-project{grid-row:3;}.outgoing-links li{grid-template-columns:1fr 72px;gap:6px 14px;padding:14px 0;min-height:0;}.outgoing-links .outgoing-kind{grid-column:1;}.outgoing-links a{grid-column:1;font-size:17px;}.outgoing-links .outgoing-domain{grid-column:1;}.outgoing-links img,.outgoing-placeholder{grid-column:2;grid-row:1 / span 3;width:72px;height:58px;}}

@media (max-width:700px){
  .bg-contours svg{transform:scale(1.16);transform-origin:50% 18%;}
}
