.yamskaya-case {
  --case-green: #476650;
  --case-surface: #edf2ed;
  padding-bottom: 42px;
}

.yamskaya-case .project-header { max-width: 1160px; }
.yamskaya-case .project-header h1 { font-size: clamp(2rem, 5vw, 3.85rem); line-height: 1.04; }
.yamskaya-case h2 { margin: 0 0 14px; font-size: clamp(1.75rem, 3.6vw, 3rem); line-height: 1.08; }
.yamskaya-case h3 { margin: 0 0 12px; font-size: clamp(1.08rem, 2.4vw, 1.45rem); line-height: 1.22; }
.yamskaya-case figure { min-width: 0; margin: 0; }
.yamskaya-case figcaption { margin-top: 10px; color: var(--case-green); font-size: .86rem; line-height: 1.45; }

.yamskaya-overview,
.yamskaya-grid,
.yamskaya-details { display: grid; gap: clamp(14px, 2.2vw, 28px); align-items: start; }
.yamskaya-overview { grid-template-columns: minmax(0, 4fr) minmax(0, 3fr); }
.yamskaya-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.yamskaya-details { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.yamskaya-overview .yamskaya-figure img { aspect-ratio: auto; }
.yamskaya-overview .yamskaya-model img { aspect-ratio: 1; }

.yamskaya-case .yamskaya-figure {
  display: block;
  width: 100%;
  border-radius: 10px;
  cursor: zoom-in;
}
.yamskaya-case .yamskaya-figure img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}
.yamskaya-case .yamskaya-tall img { aspect-ratio: 1; }
.yamskaya-case .yamskaya-render img { aspect-ratio: 1 / 1.1; background: var(--case-surface); }
.yamskaya-case .yamskaya-node img { aspect-ratio: 1; }
.yamskaya-case .yamskaya-plan img { aspect-ratio: 1.75; }
.yamskaya-case .yamskaya-detail img { aspect-ratio: 1.45; }

.yamskaya-case .yamskaya-contribution {
  display: grid;
  grid-template-columns: minmax(160px, .7fr) minmax(0, 2fr);
  gap: 16px 40px;
  margin-top: 32px;
  padding: clamp(18px, 3vw, 34px);
  background: var(--case-surface);
  border-radius: 10px;
}
.yamskaya-contribution h2 { font-size: 1.35rem; margin: 0; }
.yamskaya-contribution p { margin: 0; max-width: 74ch; line-height: 1.62; }
.yamskaya-contribution p + p { margin-top: 8px; }
.yamskaya-case .case-meta { margin-top: 24px; }
.yamskaya-case .yamskaya-section {
  border-top: 1px solid var(--line);
  margin-top: clamp(38px, 7vw, 94px);
  padding-top: clamp(25px, 4vw, 54px);
}
.yamskaya-section > p:not(.eyebrow) { margin: 0 0 24px; max-width: 72ch; line-height: 1.6; }
.yamskaya-subsection { margin-top: clamp(26px, 4vw, 52px); }
.yamskaya-subsection > p { margin: -3px 0 16px; line-height: 1.5; }
.yamskaya-anchors { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.yamskaya-anchors a {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 14px;
  color: var(--case-green);
  font-size: .88rem;
  line-height: 1.4;
}
.yamskaya-anchors a:hover { background: var(--case-surface); }
.yamskaya-anchors + .yamskaya-section { margin-top: 30px; }
.yamskaya-case .yamskaya-section { scroll-margin-top: 24px; }
.yamskaya-pairs { display: grid; gap: 22px; }
.yamskaya-pair {
  min-width: 0;
  padding: clamp(12px, 2vw, 18px);
  border: 1px solid var(--line);
  border-radius: 10px;
}
.yamskaya-pair h4 { margin: 0 0 10px; font-size: 1rem; }
.yamskaya-single { max-width: 520px; }
.yamskaya-section > .yamskaya-source-note { margin: 18px 0 0; color: var(--case-green); font-size: .85rem; }
.yamskaya-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
}
.yamskaya-tools a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.yamskaya-tools .breadcrumb { margin-top: 0; }
.yamskaya-tools .yamskaya-download {
  gap: 8px;
  color: var(--case-green);
  font-size: .8rem;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.yamskaya-cover { background: #dae4db; }
.yamskaya-cover > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}

.portfolio-projects .project-image {
  height: auto;
  aspect-ratio: 3 / 2;
}

@media (min-width: 761px) {
  .portfolio-projects {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}

@media (min-width: 801px) {
  .wrap.yamskaya-case { width: min(1080px, calc(100% - 72px)); }
  .yamskaya-case .project-header h1 { font-size: clamp(2.6rem, 4.5vw, 3.55rem); }
  .yamskaya-case .yamskaya-overview img { max-height: 390px; }
  .yamskaya-case .yamskaya-section img { max-height: 285px; }
  .yamskaya-case .yamskaya-pair img { max-height: 220px; }
  .yamskaya-case .yamskaya-section { margin-top: 60px; padding-top: 34px; }
  .yamskaya-case .yamskaya-anchors + .yamskaya-section { margin-top: 30px; }
  .yamskaya-case .yamskaya-subsection { margin-top: 32px; }
  .yamskaya-pairs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .yamskaya-case .yamskaya-overview,
  .yamskaya-case .yamskaya-contribution { grid-template-columns: 1fr; }
  .yamskaya-overview .yamskaya-model img { aspect-ratio: 1.3; }
}

@media (max-width: 520px) {
  .yamskaya-case .yamskaya-grid,
  .yamskaya-case .yamskaya-details { grid-template-columns: 1fr; }
  .yamskaya-case .yamskaya-tall img,
  .yamskaya-case .yamskaya-render img,
  .yamskaya-case .yamskaya-node img { max-height: 380px; }
}
