@media (min-width: 1440px) {
  .shell { width: min(calc(100% - 64px), 1320px); }
}

@media (max-width: 1120px) {
  .header-note { display: none; }
  .nav-wrap { grid-template-columns: 1fr auto; }
  .hero-copy { width: 57%; padding-left: 52px; }
  .recent-card { grid-template-columns: minmax(0, 1fr) 160px; column-gap: 18px; }
  .recent-list li { gap: 11px; padding-inline: 17px; }
  .recent-list li:first-child { padding-left: 0; }
  .recent-doodle { padding-left: 16px; font-size: 0.67rem; }
}

@media (max-width: 920px) {
  .brand-copy small { display: none; }
  .hero { min-height: 390px; }
  .hero-copy { width: 65%; padding-top: 50px; }
  .hero-shade { background: linear-gradient(90deg, rgba(255,252,247,.94), rgba(255,252,247,.68) 48%, rgba(255,252,247,.08) 78%); }
  .project-grid { grid-template-columns: 1fr; }
  .project-card { grid-template-columns: 180px 1fr; min-height: 140px; }
  .project-art img { width: 105%; }
  .project-copy { padding-left: 12px; }
  .recent-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "recent-title"
      "recent-list"
      "recent-doodle";
    grid-template-rows: auto auto auto;
    gap: 12px;
    padding: 18px 21px;
  }
  .recent-title { align-self: auto; }
  .recent-doodle {
    justify-self: start;
    padding: 5px 4px 0 0;
    border-left: 0;
    text-align: left;
    transform: rotate(-2deg);
  }
  .fragment-grid { grid-template-columns: 1fr 1fr; }
  .fragment-card:last-child { grid-column: span 2; }
}

@media (max-width: 680px) {
  .shell { width: min(calc(100% - 24px), 1320px); }
  .nav-wrap { min-height: 66px; }
  .brand-leaf { width: 24px; height: 31px; }
  .brand-copy strong { font-size: 1.08rem; }
  .nav-links { gap: 8px; }
  .nav-links a { min-width: 40px; font-size: 0.82rem; }
  .nav-links a:first-child { display: none; }
  .hero { min-height: 570px; border-radius: 13px; }
  .hero-image { height: 48%; top: auto; object-position: 66% center; }
  .hero-shade { background: linear-gradient(180deg, rgba(255,252,247,1) 0%, rgba(255,252,247,.96) 48%, rgba(255,252,247,.12) 77%, transparent 100%); }
  .hero-copy { width: 100%; padding: 34px 25px; }
  .hero h1 { font-size: clamp(2.25rem, 11vw, 3.2rem); }
  .hero-lede { max-width: 32rem; font-size: 0.9rem; line-height: 1.7; }
  .hero-doodle { display: none; }
  .hero-actions { flex-wrap: wrap; }
  .hero-actions .button { min-width: 0; flex: 1; }
  .hero-quote { max-width: 92%; font-size: 0.67rem; }
  .section-heading { align-items: flex-start; }
  .heading-main { flex-wrap: wrap; gap: 7px 9px; }
  .heading-main h2, .recent-title h2 { font-size: 1.3rem; }
  .heading-main p { flex-basis: calc(100% - 28px); margin-left: 28px; }
  .heading-divider { display: none; }
  .section-more { display: none; }
  .project-card { grid-template-columns: 41% 59%; min-height: 132px; }
  .project-copy { padding: 14px 12px 12px 2px; }
  .project-copy h3 { font-size: 1.15rem; }
  .project-copy p { font-size: 0.7rem; }
  .project-note { display: none; }
  .recent-title { flex-wrap: wrap; }
  .recent-title p { flex-basis: calc(100% - 28px); margin-left: 28px; }
  .recent-list { grid-template-columns: 1fr; }
  .recent-list li { padding: 13px 4px; border-top: 1px solid rgba(124,97,77,.11); border-left: 0; }
  .recent-list li:first-child { padding-left: 4px; border-top: 0; }
  .status-copy strong, .status-copy span { white-space: normal; }
  .recent-doodle { margin-top: 2px; padding-left: 4px; }
  .fragment-grid { grid-template-columns: 1fr; }
  .fragment-card:last-child { grid-column: auto; }
  .fragment-side-note { display: none; }
  .footer-inner { gap: 12px; align-items: flex-start; flex-direction: column; padding-block: 14px; }
  .footer-links span:not(:first-child) { display: none; }
}

@media (max-width: 374px) {
  .nav-links { gap: 2px; }
  .nav-links a { font-size: 0.78rem; }
  .hero { min-height: 590px; }
  .hero-copy { padding-inline: 20px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .project-card { grid-template-columns: 38% 62%; }
  .fragment-card { padding-inline: 20px; }
  .fragment-card:has(.fragment-image) { padding-right: 98px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .reveal { opacity: 1; transform: none; }
}
