/* V15: evidence-first archive refinements. */

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

.directory-links a,
.directory-links a:nth-child(odd),
.directory-links a:nth-child(even) {
  display:grid !important;
  grid-template-columns:2.25rem minmax(0, 1fr);
  column-gap:.75rem;
  align-items:start;
  min-height:8rem;
  padding:1.15rem !important;
}

.directory-links a:nth-child(odd) { border-right:1px solid var(--rule); }
.directory-links a:nth-child(even) { border-left:0; }
.directory-links a:nth-child(3),
.directory-links a:nth-child(4) { border-bottom:1px solid var(--rule); }

.directory-links a > span:first-child {
  display:block;
  width:auto;
  color:var(--oxide);
  font:11px var(--mono);
  line-height:1.4;
}

.directory-links a > span:last-child {
  display:block;
  width:auto;
  color:inherit;
  font:20px/1.12 var(--serif);
  letter-spacing:-.02em;
}

.directory-links a small {
  display:block;
  margin-top:.55rem;
  color:var(--muted);
  font:11px/1.5 var(--mono);
  letter-spacing:0;
}

.practice-note > p:last-child {
  max-width:30ch;
  font-family:var(--mono);
  font-size:12px;
  line-height:1.6;
}

.state-rail {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.25rem;
  margin-top:2.4rem;
  padding-top:1.35rem;
}

.state-group { min-width:0; }
.state-group__label {
  margin:0 0 .55rem;
  color:#e8ab87;
  font:10px/1.4 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.state-group__buttons {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(2.5rem, 1fr));
  gap:.35rem;
}

.state-rail button,
.state-rail button:nth-child(12),
.state-rail button:nth-child(18),
.state-rail button:nth-child(19) {
  width:100%;
  height:2.8rem;
  margin:0;
}

.workflow-route i { color:var(--muted); }
.workflow-stats dd { font-variant-numeric:tabular-nums; }

/* The large sign-off belongs to the homepage. Project records end more quietly. */
body.record-page .site-footer {
  padding:2rem var(--gutter) 1.35rem !important;
}

.record-page .footer-top {
  align-items:center;
}

body.record-page .site-footer h2 {
  font-size:clamp(2.1rem, 3.5vw, 3.8rem) !important;
  letter-spacing:-.05em;
}

body.record-page .site-footer .text-link {
  font-size:1rem !important;
}

.record-page .footer-bottom {
  margin-top:1.35rem;
  padding-top:.9rem;
}

@media (max-width:780px) {
  .directory-links { grid-template-columns:1fr; }
  .directory-links a,
  .directory-links a:nth-child(odd),
  .directory-links a:nth-child(even) { border-right:0; }
  .state-rail { grid-template-columns:1fr; gap:1rem; }
  .state-group__buttons { grid-template-columns:repeat(6, minmax(0, 1fr)); }
  .record-page .site-footer { padding-top:1.65rem; }
  .record-page .footer-bottom { margin-top:1rem; }
}

/* Homepage composition: one editorial grid from identity through the work index. */
body.portfolio-home .opening {
  padding-top: clamp(22px, 3vw, 44px);
}

body.portfolio-home .opening-grid {
  grid-template-columns: minmax(290px, .82fr) minmax(0, 1.28fr);
  gap: clamp(28px, 4.5vw, 82px);
}

body.portfolio-home .identity {
  padding-block: clamp(28px, 4vw, 60px);
}

body.portfolio-home .identity h1 {
  max-width: 8ch;
  margin: 22px 0 20px;
  font-size: clamp(68px, 7.7vw, 132px);
  text-wrap: balance;
}

body.portfolio-home .identity .intro {
  max-width: 34ch;
  font-size: 16px;
  line-height: 1.55;
}

body.portfolio-home .opening .hero-model img {
  height: clamp(460px, 52vw, 760px);
}

body.portfolio-home .work-directory {
  display: grid;
  grid-template-columns: minmax(190px, .62fr) minmax(0, 1.58fr);
  align-items: start;
  gap: clamp(24px, 4vw, 64px);
  padding: 28px var(--gutter) 38px;
}

body.portfolio-home .work-directory-heading {
  padding-top: 0;
  border-top: 1px solid var(--rule);
}

body.portfolio-home .work-directory-heading h2 {
  max-width: 8ch;
  margin-top: 8px;
  font-size: clamp(30px, 3.2vw, 46px);
  line-height: 1;
}

body.portfolio-home .directory-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
}

body.portfolio-home .directory-links a,
body.portfolio-home .directory-links a:nth-child(odd),
body.portfolio-home .directory-links a:nth-child(even) {
  display: grid !important;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  align-items: start;
  column-gap: 10px;
  min-height: 150px;
  padding: 14px 14px 12px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--rule) !important;
  text-decoration: none;
}

body.portfolio-home .directory-links a + a {
  padding-left: 16px !important;
  border-left: 1px solid var(--rule) !important;
}

body.portfolio-home .directory-links a > span:first-child {
  color: var(--oxide);
  font: 11px/1.4 var(--mono);
  font-variant-numeric: tabular-nums;
}

body.portfolio-home .directory-links a > span:last-child {
  color: var(--ink);
  font: 19px/1.16 var(--serif);
  letter-spacing: -.025em;
}

body.portfolio-home .directory-links a small {
  margin-top: 9px;
  color: var(--muted);
  font: 12px/1.5 var(--sans);
  letter-spacing: 0;
}

body.portfolio-home .directory-links a:hover > span:last-child {
  color: var(--oxide);
}

body.portfolio-home .practice-note {
  display: grid;
  grid-template-columns: minmax(140px, .48fr) minmax(0, 1.1fr) minmax(250px, .82fr);
  align-items: center;
  gap: clamp(20px, 3.2vw, 50px);
  margin: 0 var(--gutter);
  padding: 22px 0 28px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

body.portfolio-home .practice-note .label {
  margin: 0;
}

body.portfolio-home .practice-note h2 {
  max-width: 16ch;
  font-size: clamp(28px, 3.4vw, 48px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

body.portfolio-home .practice-note > p:last-child {
  max-width: 39ch;
  margin: 0;
  color: var(--muted);
  font: 14px/1.55 var(--sans);
}

@media (max-width: 1100px) {
  body.portfolio-home .opening-grid {
    grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr);
    gap: clamp(24px, 3.5vw, 44px);
  }

  body.portfolio-home .work-directory {
    grid-template-columns: minmax(160px, .5fr) minmax(0, 1.5fr);
  }

  body.portfolio-home .practice-note {
    grid-template-columns: minmax(130px, .45fr) minmax(0, 1fr);
    gap: 14px 30px;
  }

  body.portfolio-home .practice-note > p:last-child {
    grid-column: 2;
  }
}

@media (max-width: 780px) {
  body.portfolio-home .opening-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  body.portfolio-home .identity {
    padding-block: 22px 0;
  }

  body.portfolio-home .identity h1 {
    max-width: none;
    margin: 18px 0;
    font-size: clamp(60px, 13vw, 90px);
  }

  body.portfolio-home .opening .hero-model img {
    height: auto;
    aspect-ratio: 3440 / 2966;
  }

  body.portfolio-home .work-directory {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding-block: 24px 30px;
  }

  body.portfolio-home .work-directory-heading h2 {
    max-width: none;
    font-size: clamp(30px, 8vw, 40px);
  }

  body.portfolio-home .work-directory-heading {
    padding-top: 0;
  }

  body.portfolio-home .directory-links {
    grid-template-columns: minmax(0, 1fr);
  }

  body.portfolio-home .directory-links a,
  body.portfolio-home .directory-links a:nth-child(odd),
  body.portfolio-home .directory-links a:nth-child(even) {
    min-height: 0;
    padding: 14px 0 !important;
    border-left: 0 !important;
  }

  body.portfolio-home .directory-links a + a {
    border-top: 1px solid var(--rule) !important;
  }

  body.portfolio-home .directory-links a:last-child {
    border-bottom: 1px solid var(--rule) !important;
  }

  body.portfolio-home .practice-note {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding-block: 22px 26px;
  }

  body.portfolio-home .practice-note > p:last-child {
    grid-column: auto;
    font-size: 15px;
  }
}

/* Restore the original spacious homepage hero proportions on desktop. */
@media (min-width: 781px) {
  body.portfolio-home .opening-grid {
    grid-template-columns: minmax(260px, .7fr) minmax(0, 1.65fr);
    gap: 16px;
  }

  body.portfolio-home .opening .hero-model img {
    height: min(71vw, 710px);
  }
}

@media (min-width: 781px) and (max-width: 1100px) {
  body.portfolio-home .opening-grid {
    grid-template-columns: 1fr 1.5fr;
  }

  body.portfolio-home .opening .hero-model img {
    height: 560px;
  }
}

@media (min-width: 1800px) {
  body.portfolio-home .opening-grid {
    grid-template-columns: 1fr 1.5fr;
  }

  body.portfolio-home .opening .hero-model img {
    height: 850px;
  }
}
body.portfolio-home .identity .degree {
  margin: -8px 0 0;
  color: var(--oxide);
  font: 400 clamp(20px, 1.8vw, 30px)/1.2 var(--serif);
}
@media (max-width: 760px) {
  body.portfolio-home .identity .degree { font-size: 22px; }
}
