@media (max-width: 1099px) {
  .shell,
  .site-header-inner,
  .home-head {
    padding-inline: var(--gutter-md);
  }

  .hh-row {
    grid-template-columns: 1fr;
    gap: var(--s5);
  }

  .home-head .headline {
    max-width: none;
  }

  .capability-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .timeline-intro {
    grid-template-columns: minmax(0, 1.2fr) minmax(240px, .8fr);
  }

  .timeline-item {
    grid-template-columns: 72px minmax(180px, .7fr) minmax(0, 1fr) 72px;
    gap: var(--s4);
  }

  .timeline-list::before {
    left: 23px;
  }

}

@media (max-width: 760px) {
  #home.is-active {
    min-height: auto;
  }

  .home-head {
    padding: 22px var(--gutter-sm) 24px;
  }

  .hh-row {
    margin-top: 20px;
  }

  .home-head .headline {
    white-space: normal;
  }

  .board {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .board .irid {
    min-height: 320px;
    aspect-ratio: 4 / 3;
  }

  .home-footer {
    flex-basis: 40px;
    min-height: 40px;
    padding-inline: var(--gutter-sm);
  }

  .panel-right {
    border-top: 1px solid var(--bg);
    border-left: 0;
  }
}

@media (max-width: 480px) {
  .home-head .specs {
    grid-template-columns: 1fr;
    gap: var(--s3);
  }

  .home-head .specs .col {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: var(--s3);
  }

  .home-head .specs .col b {
    margin-bottom: 0;
  }

  .topline {
    gap: var(--s3);
    flex-wrap: wrap;
  }

  .board .panel-left {
    aspect-ratio: 1;
  }
}

@media (max-width: 900px) {
  .about-intro-grid {
    gap: var(--s7);
  }

  .writing-featured {
    grid-template-columns: minmax(150px, .68fr) minmax(0, 2.32fr);
  }

  .writing-action {
    grid-column: 2;
    justify-self: start;
    padding: 0 0 var(--s6);
  }

  .writing-library {
    grid-template-columns: 180px minmax(0, 1fr);
    gap: var(--s7);
  }

  .writing-item-row {
    grid-template-columns: 84px minmax(0, 1fr) 100px 24px;
    gap: var(--s4);
  }
}

@media (max-width: 960px) {
  .mobile-nav-inner {
    padding-inline: var(--gutter-sm);
  }

  .writing-reader-header,
  .writing-reader-topline,
  .writing-reader-layout {
    width: min(760px, 100%);
  }

  .writing-reader-layout {
    display: flex;
    flex-direction: column;
  }

  .writing-reader-main,
  .writing-toc {
    width: 100%;
  }

  .writing-toc {
    position: static;
    order: -1;
  }

  .writing-toc-body {
    max-height: 360px;
  }
}

@media (max-width: 760px) {
  :root {
    --fs-body: 1rem;
  }

  .shell,
  .site-header-inner {
    padding-inline: var(--gutter-sm);
  }

  .site-main {
    padding-top: 60px;
  }

  .mobile-nav-inner {
    padding-inline: var(--gutter-sm);
  }

  .page-shell {
    padding-top: var(--s9);
    padding-bottom: var(--s9);
  }

  .page-description {
    margin-top: var(--s5);
    font-size: var(--fs-body);
  }

  .section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .about-intro-grid {
    grid-template-columns: 1fr;
    gap: var(--s7);
    margin-top: var(--s7);
    padding-top: var(--s5);
  }

  .about-facts {
    border-top: 1px solid var(--line);
    border-left: 0;
    padding-top: var(--s3);
    padding-left: 0;
  }

  .capability-section {
    margin-top: var(--s9);
  }

  .capability-grid {
    grid-template-columns: 1fr;
  }

  .capability-card {
    min-height: 180px;
  }

  .timeline-shell {
    padding-top: var(--s8);
  }

  .timeline-intro {
    grid-template-columns: 1fr;
    gap: var(--s7);
    padding-bottom: var(--s7);
  }

  .timeline-summary {
    max-width: 420px;
  }

  .timeline-list {
    margin-top: var(--s7);
  }

  .timeline-item {
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: var(--s4);
    min-height: 0;
    padding: var(--s5) 0;
  }

  .timeline-list::before {
    top: 56px;
    bottom: 56px;
    left: 17px;
  }

  .timeline-badge {
    width: 36px;
    height: 36px;
  }

  .timeline-heading {
    grid-column: 2;
  }

  .timeline-title {
    font-size: clamp(1.5rem, 7vw, 1.875rem);
  }

  .timeline-detail {
    grid-column: 2 / -1;
    max-width: 44ch;
  }

  .timeline-body {
    font-size: var(--fs-body);
  }

  .timeline-state {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    font-size: 9px;
  }

  .writing-list {
    margin-top: var(--s7);
  }

  .research-shell {
    padding-top: var(--s8);
  }

  .research-intro {
    grid-template-columns: 1fr;
    gap: var(--s7);
    padding-bottom: var(--s7);
  }

  .research-stats {
    max-width: 420px;
  }

  .research-featured {
    margin-top: var(--s7);
  }

  .research-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--s2);
  }

  .research-featured-grid {
    grid-template-columns: 1fr;
    gap: var(--s3);
  }

  .research-featured-card {
    min-height: 350px;
    padding: var(--s5);
  }

  .research-featured-body {
    margin-top: var(--s7);
  }

  .research-featured-title {
    max-width: 22ch;
    font-size: clamp(25px, 7.4vw, 32px);
  }

  .research-archive {
    margin-top: var(--s8);
  }

  .research-year-group {
    grid-template-columns: 1fr;
  }

  .research-year {
    padding: var(--s5) 0 var(--s4);
    font-size: 32px;
  }

  .research-list {
    border-top: 1px solid var(--line);
  }

  .research-row {
    grid-template-columns: 32px minmax(0, 1fr) auto;
    gap: var(--s3);
    min-height: 0;
    padding-block: 20px;
  }

  .research-number {
    padding-top: 3px;
    font-size: var(--fs-micro);
  }

  .research-arrow {
    align-self: center;
    font-size: 9px;
    text-align: right;
  }

  .writing-featured {
    display: block;
    margin-top: var(--s7);
  }

  .writing-featured-head {
    min-height: 0;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s4);
    padding: var(--s5);
    border-right: 0;
    border-bottom: 1px solid var(--line-strong);
  }

  .writing-featured-index {
    margin-left: auto;
  }

  .writing-featured-body {
    padding: var(--s7) var(--s5) var(--s6);
  }

  .writing-title {
    font-size: clamp(2.125rem, 10.2vw, 3rem);
  }

  .writing-action {
    display: inline-flex;
    padding: 0 var(--s5) var(--s5);
  }

  .writing-item {
    display: block;
  }

  .writing-pick {
    display: block;
  }

  .writing-pick-label {
    min-height: 112px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.22);
  }

  .writing-pick-body {
    padding: var(--s6) var(--s5);
  }

  .writing-library {
    display: block;
    margin-top: var(--s7);
  }

  .writing-directory {
    position: static;
  }

  .writing-directory-heading {
    padding-bottom: var(--s3);
    border-bottom: 1px solid var(--line);
  }

  .writing-filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s2);
  }

  .writing-filter {
    min-height: 34px;
    gap: var(--s2);
    border: 1px solid var(--line);
    padding: 0 var(--s3);
  }

  .writing-catalogue {
    margin-top: var(--s7);
  }

  .writing-list {
    margin-top: 0;
  }

  .writing-item-row {
    grid-template-columns: 76px minmax(0, 1fr) 20px;
    gap: var(--s3);
    padding-block: var(--s5);
  }

  .writing-item-row:hover,
  .writing-item-row:focus-visible {
    padding-inline: var(--s2);
  }

  .writing-item-category {
    grid-column: 2;
    grid-row: 2;
  }

  .writing-item-arrow {
    grid-column: 3;
    grid-row: 1;
  }

  body.writing-article-route [data-view="writing"] .page-shell {
    padding-top: var(--s4);
  }

  .writing-reader-topline {
    padding-block: var(--s2);
  }

  .writing-reader-position {
    display: none;
  }

  .writing-reader-header {
    margin-top: var(--s3);
    padding: 34px var(--s5) 30px;
  }

  .writing-reader-kicker {
    flex-wrap: wrap;
    gap: var(--s2);
    letter-spacing: .07em;
  }

  .writing-reader-title {
    margin-top: var(--s4);
    font-size: clamp(2.375rem, 11.2vw, 3.375rem);
    line-height: 1.06;
  }

  .writing-reader-description {
    margin-top: var(--s4);
    font-size: var(--fs-body);
  }

  .writing-reader-byline {
    grid-template-columns: 44px minmax(0, 1fr);
    margin-top: var(--s6);
  }

  .writing-reader-facts {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s4);
    padding-top: var(--s4);
    border-top: 1px solid var(--line);
  }

  .writing-reader-facts div {
    min-width: 0;
  }

  .writing-reader-layout {
    margin-top: var(--s5);
  }

  .writing-toc-summary {
    min-height: 52px;
  }

  .writing-reader-body {
    padding: var(--s6) var(--s5);
    font-size: var(--fs-body);
    line-height: var(--lh-reading);
  }

  .writing-reader-body h2 {
    margin-top: 3.4rem;
    font-size: clamp(1.6875rem, 8vw, 2.125rem);
  }

  .writing-reader-body h3 {
    margin-top: 2.5rem;
    font-size: clamp(1.3125rem, 6vw, 1.5625rem);
  }

  .writing-reader-body .article-part-heading {
    margin: 4rem calc(0px - var(--s5)) 1.6rem;
    padding: var(--s4) var(--s5);
  }

  .writing-reader-body blockquote {
    padding: var(--s4) var(--s4) var(--s4) 20px;
  }

  .article-math-display {
    margin-inline: calc(0px - var(--s2));
    padding: var(--s4) var(--s3);
  }

  .article-table-wrap {
    margin-inline: calc(0px - var(--s2));
  }

  .article-figure {
    margin-inline: calc(0px - var(--s2));
    padding: var(--s3);
  }

  .article-figure-image {
    width: 640px;
    max-width: none;
  }

  .article-figure-caption {
    display: grid;
    gap: var(--s2);
    padding-inline: var(--s2);
    text-align: left;
  }

  .article-figure-hint {
    display: block;
    color: var(--muted);
  }

  .writing-reader-body pre {
    margin-inline: calc(0px - var(--s2));
    border-radius: 0;
    padding-right: var(--s4);
    padding-left: var(--s4);
  }

  .writing-reader-body pre::before {
    left: var(--s4);
  }

  .writing-reader-end {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: var(--s5);
  }

  .writing-reader-end-mark {
    width: 44px;
    height: 44px;
  }

  .writing-reader-end a {
    grid-column: 1 / -1;
    margin-top: var(--s2);
    padding-top: var(--s4);
    border-top: 1px solid var(--line);
  }

  .contact-grid {
    margin-top: var(--s7);
  }

  .contact-row {
    grid-template-columns: 1fr;
    gap: var(--s2);
    padding-block: var(--s4);
  }

  .contact-methods.is-single .contact-row {
    grid-template-columns: 1fr;
    padding-block: var(--s4);
  }

  .contact-arrow {
    text-align: left;
  }

  .site-footer-inner {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (min-width: 961px) {
  .mobile-nav {
    display: none !important;
  }
}
