.kr-projects-call { background: #0d5631; color: #fff; }
.kr-projects-call-inner { display: grid; gap: clamp(2rem, 5vw, 5rem); align-items: center; max-width: 1280px; margin: auto; }
.kr-projects-call-photo { width: 100%; max-width: 30rem; aspect-ratio: 2 / 3; justify-self: center; }
.kr-projects-call-copy h2 { margin: 0 0 2rem; font-size: clamp(2.3rem, 5.3vw, 5.6rem); line-height: 1.04; letter-spacing: -.05em; }
.kr-projects-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding: 1.1rem 1.5rem; border-radius: 3rem; background: var(--gold); color: #13391d; font-size: 1rem; font-weight: 800; text-decoration: none; line-height: 1.5; }
.kr-projects-button:hover { background: #fff; }
.kr-projects-button:focus-visible, .kr-projects-page a:focus-visible { outline: 3px solid #107e6a; outline-offset: 5px; }
.kr-projects-call .kr-projects-button:focus-visible { outline-color: #fff; }
.kr-projects-page { max-width: 1500px; margin: auto; }
.kr-projects-page-heading h1 { margin: 1.5rem 0 3rem; font: 900 clamp(3rem, 8vw, 7rem)/1 "Quanta Grotesk", "Arial Black", sans-serif; letter-spacing: -.06em; color: #176b36; }
.kr-projects-back { font-weight: 700; font-size: .95rem; text-underline-offset: .25rem; }
.kr-projects-index { padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid #d7d6cf; border-radius: 1rem; background: #fff; margin-bottom: 4rem; }
.kr-projects-index > p { margin: 0 0 1rem; font-weight: 800; }
.kr-projects-index ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .85rem 2rem; }
.kr-projects-index a { font-size: .95rem; line-height: 1.5; text-underline-offset: .2rem; }
.kr-project-topic { padding-block: clamp(2rem, 5vw, 4rem); border-top: 1px solid #d7d6cf; }
.kr-project-topic:first-of-type { border-top: 0; padding-top: 0; }
.kr-project-photo { margin: 0 0 2rem; }
.kr-project-photo img { display: block; width: 100%; height: auto; aspect-ratio: var(--kr-photo-ratio, 1672 / 941); object-fit: contain; border-radius: 1rem; }
.kr-project-photo-portrait { --kr-photo-ratio: 2 / 3; }
.kr-project-photo-family { --kr-photo-ratio: 1280 / 914; }
.kr-project-photo-office { --kr-photo-ratio: 4 / 3; }
.kr-project-photo figcaption { margin-top: .6rem; font-size: .8rem; color: #526154; }
.kr-project-text { min-width: 0; }
.kr-project-text h2 { margin: 0 0 1.5rem; font-size: clamp(1.65rem, 3.3vw, 2.7rem); line-height: 1.16; letter-spacing: -.04em; text-transform: none; color: #176b36; scroll-margin-top: 2rem; }
.kr-project-text p, .kr-project-text li { font-size: clamp(1rem, 1.3vw, 1.15rem); line-height: 1.8; overflow-wrap: break-word; }
.kr-project-text p { margin: 0 0 1.2rem; }
.kr-project-text p:last-child { margin-bottom: 0; }
.kr-project-text ul { padding-left: 1.25rem; }
.kr-project-text li { padding-left: .3rem; margin-bottom: .7rem; }
.kr-project-text li::marker { color: #176b36; }
.kr-project-topic:not(.kr-project-topic-photo) .kr-project-text { max-width: 52rem; }
.kr-project-topic-commitment .kr-project-photo { max-width: 28rem; margin-inline: auto; }
.kr-project-topic-commitment .kr-project-text { max-width: 52rem; margin-inline: auto; }
.kr-projects-bottom { display: inline-block; margin-top: 2rem; }
@media (min-width: 900px) {
  .kr-projects-call-inner { grid-template-columns: .8fr 1.2fr; }
  .kr-projects-index ul { grid-template-columns: 1fr 1fr; }
  .kr-project-topic-photo:not(.kr-project-topic-commitment) { display: grid; grid-template-columns: .9fr 1.1fr; gap: 3rem; align-items: start; }
  .kr-project-topic-photo > .wp-block-group__inner-container { display: contents; }
  .kr-project-topic-photo .kr-project-photo { margin-bottom: 0; }
  .kr-project-topic-commitment .kr-project-photo { margin-bottom: 2.5rem; }
}
/* Six navigation links need the compact menu on intermediate screen widths. */
@media (min-width: 760px) and (max-width: 1199px) {
  .site-header .kr-menu-toggle { display: block; border: 1px solid #a1bea9; background: transparent; color: #fff; border-radius: 2rem; padding: .5rem .7rem; margin-left: auto; }
  .site-header nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 1.5rem; background: #0d5631; flex-direction: column; gap: 1.4rem; }
  .site-header nav.is-open { display: flex; }
}
