/* Project details: a clear title, one generous image and an editorial reading rhythm.
   Navigation uses the shared underline / arrow interaction in interactions.css. */

.work-detail {
  --project-ink: #29252b;
  --project-muted: #807780;
  --project-line: #e1dce0;
  background: #fffdfa;
  color: var(--project-ink);
}

.work-detail .wrap {
  width: min(1280px, calc(100% - 80px));
}

.work-detail .project-heading {
  padding-block: 24px clamp(36px, 3.8vw, 56px);
}

.work-detail .project-heading .breadcrumb {
  margin-bottom: clamp(28px, 2.5vw, 40px);
  color: var(--project-muted);
  font-size: .7rem;
}

.work-detail .project-kicker {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 22px;
  margin-bottom: 20px;
  color: #786e7a;
}

.work-detail .project-kicker p {
  margin: 0;
  font-size: .68rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .07em;
}

.work-detail .project-number {
  font-variant-numeric: tabular-nums;
}

.work-detail .project-category {
  text-align: right;
}

.work-detail .project-title {
  max-width: 1120px;
  margin: 0;
  font-size: clamp(3.5rem, 7.5vw, 6.4rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -.06em;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}

.work-detail .project-visual {
  padding-bottom: clamp(88px, 10vw, 150px);
}

.work-detail .project-cover {
  margin: 0;
}

.work-detail .project-cover-stage {
  display: grid;
  place-items: center;
  width: 100%;
  height: clamp(360px, 56vw, 740px);
  padding: clamp(24px, 4.7vw, 68px);
  background: #f0edee;
}

.work-detail .project-cover--moon-creative-lab .project-cover-stage {
  background: #ebe8f0;
}

.work-detail .project-cover--marvellous-frontier .project-cover-stage {
  background: #eeeae5;
}

.work-detail .project-cover--kyash .project-cover-stage {
  background: #e8edf0;
}

.work-detail .project-cover--law-firm .project-cover-stage {
  background: #edf0ef;
}

.work-detail .project-cover--yamashiro-doboku .project-cover-stage {
  background: #f0ece7;
}

.work-detail .project-cover-stage > img {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

.work-detail .project-cover figcaption {
  margin: 13px 0 0;
  color: var(--project-muted);
  font-size: .7rem;
  line-height: 1.8;
}

.work-detail .project-overview {
  padding-bottom: clamp(86px, 9.5vw, 140px);
}

.work-detail .project-editorial-row,
.work-detail .project-story-row {
  display: grid;
  grid-template-columns: minmax(180px, .35fr) minmax(0, 1fr);
  column-gap: clamp(40px, 6.5vw, 96px);
  align-items: start;
}

.work-detail .project-section-heading .eyebrow {
  margin: 4px 0 12px;
  color: #897a8a;
  font-size: .66rem;
  font-weight: 600;
  letter-spacing: .12em;
}

.work-detail .project-section-heading h2,
.work-detail .project-section-caption {
  margin: 0;
  font-size: .93rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .005em;
}

.work-detail .project-editorial-copy {
  min-width: 0;
  max-width: 850px;
}

.work-detail .project-headline {
  margin: 0 0 29px;
  font-size: clamp(1.65rem, 2.5vw, 2.3rem);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: -.04em;
  text-wrap: pretty;
}

.work-detail .project-summary {
  max-width: 45em;
  margin: 0;
  color: #514952;
  font-size: 1rem;
  line-height: 2.15;
  letter-spacing: .015em;
  text-wrap: pretty;
}

.work-detail .project-meta {
  margin: clamp(36px, 4.8vw, 62px) 0 0;
  border-top: 1px solid var(--project-line);
}

.work-detail .project-meta > div {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 20px;
  padding-block: 17px;
  border-bottom: 1px solid var(--project-line);
}

.work-detail .project-meta dt {
  color: var(--project-muted);
  font-size: .72rem;
  line-height: 1.85;
  letter-spacing: .03em;
}

.work-detail .project-meta dd {
  margin: 0;
  color: #514952;
  font-size: .82rem;
  line-height: 1.85;
  overflow-wrap: anywhere;
}

.work-detail .project-story {
  padding-bottom: clamp(65px, 8vw, 110px);
}

.work-detail .project-story-row {
  padding-block: clamp(39px, 4.8vw, 65px) clamp(47px, 5.5vw, 78px);
  border-top: 1px solid var(--project-line);
}

.work-detail .project-story-row .project-editorial-copy > p {
  margin: 0;
  color: #514952;
  font-size: clamp(1.05rem, 1.42vw, 1.2rem);
  line-height: 2.1;
  letter-spacing: .01em;
  text-wrap: pretty;
}

.work-detail .project-scope-list,
.work-detail .project-outcome-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.work-detail .project-scope-list > li {
  display: grid;
  grid-template-columns: 37px minmax(0, 1fr);
  gap: 20px;
  padding-block: 22px;
}

.work-detail .project-scope-list > li:first-child {
  padding-top: 0;
}

.work-detail .project-scope-list > li:last-child {
  padding-bottom: 0;
}

.work-detail .project-scope-list > li + li {
  border-top: 1px solid var(--project-line);
}

.work-detail .project-item-number {
  padding-top: 7px;
  color: #958697;
  font-size: .68rem;
  line-height: 1.7;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
}

.work-detail .project-scope-list p {
  margin: 0;
  font-size: clamp(1.03rem, 1.4vw, 1.18rem);
  line-height: 1.9;
  text-wrap: pretty;
}

.work-detail .project-outcome-list > li {
  position: relative;
  padding-left: 21px;
  color: #514952;
  font-size: 1rem;
  line-height: 2.05;
  text-wrap: pretty;
}

.work-detail .project-outcome-list > li + li {
  margin-top: 15px;
}

.work-detail .project-outcome-list > li::before {
  content: "";
  position: absolute;
  top: .92em;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #8a7a8c;
}

.work-detail .project-related {
  padding-bottom: clamp(100px, 12vw, 170px);
}

.work-detail .project-service-links {
  min-width: 0;
  border-top: 1px solid var(--project-line);
}

.work-detail .project-service-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: baseline;
  gap: 8px 24px;
  padding-block: 24px 27px;
  border-bottom: 1px solid var(--project-line);
}

.work-detail .project-service-name {
  font-size: clamp(1.2rem, 1.8vw, 1.65rem);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: -.03em;
}

.work-detail .project-link-arrow {
  font-size: 1.2rem;
  font-weight: 400;
}

.work-detail .project-service-description {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--project-muted);
  font-size: .8rem;
  line-height: 1.9;
}

.work-detail .project-pagination {
  padding-block: clamp(40px, 5vw, 68px) clamp(70px, 8vw, 120px);
  border-top: 1px solid var(--project-line);
}

.work-detail .project-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px 36px;
  align-items: center;
  width: 100%;
}

.work-detail .project-next-label {
  grid-column: 1 / -1;
  color: var(--project-muted);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .06em;
}

.work-detail .project-next-name {
  min-width: 0;
  max-width: 100%;
  font-size: clamp(2.1rem, 5.2vw, 4.7rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.055em;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.work-detail .project-next-arrow {
  font-size: clamp(2rem, 4.5vw, 4rem);
  font-weight: 300;
  line-height: 1;
}

.work-detail .project-all-link {
  display: inline-block;
  margin-top: clamp(34px, 4vw, 60px);
  color: #716774;
  font-size: .76rem;
  line-height: 1.8;
}

@media (max-width: 900px) {
  .work-detail .wrap { width: calc(100% - 48px); }
  .work-detail .project-heading { padding-top: 25px; }
  .work-detail .project-heading .breadcrumb { margin-bottom: 66px; }
  .work-detail .project-title { font-size: clamp(3rem, 8vw, 5rem); }
  .work-detail .project-cover-stage { height: clamp(340px, 58vw, 560px); padding: 28px; }
  .work-detail .project-editorial-row,
  .work-detail .project-story-row {
    grid-template-columns: minmax(140px, .3fr) minmax(0, 1fr);
    column-gap: 35px;
  }
  .work-detail .project-headline { font-size: 1.65rem; }
  .work-detail .project-summary { font-size: .94rem; }
  .work-detail .project-section-heading h2,
  .work-detail .project-section-caption { font-size: .84rem; }
}

@media (max-width: 600px) {
  .work-detail .wrap { width: calc(100% - 36px); }
  .work-detail .project-heading { padding-block: 21px 32px; }
  .work-detail .project-heading .breadcrumb { margin-bottom: 57px; font-size: .65rem; }
  .work-detail .project-kicker { gap: 15px; margin-bottom: 23px; }
  .work-detail .project-kicker p { font-size: .57rem; letter-spacing: .035em; }
  .work-detail .project-category { max-width: 73%; }
  .work-detail .project-title { font-size: clamp(2.45rem, 10.5vw, 3.9rem); line-height: 1.12; letter-spacing: -.055em; }
  .work-detail .project-visual { padding-bottom: 65px; }
  .work-detail .project-cover-stage { height: clamp(240px, 71vw, 420px); padding: 17px; }
  .work-detail .project-cover figcaption { margin-top: 10px; font-size: .62rem; }
  .work-detail .project-editorial-row,
  .work-detail .project-story-row { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .work-detail .project-section-heading .eyebrow { margin-top: 0; margin-bottom: 7px; font-size: .62rem; }
  .work-detail .project-section-heading h2,
  .work-detail .project-section-caption { font-size: .82rem; }
  .work-detail .project-overview { padding-bottom: 68px; }
  .work-detail .project-headline { margin-bottom: 23px; font-size: 1.5rem; line-height: 1.7; }
  .work-detail .project-summary { font-size: .92rem; line-height: 2.05; }
  .work-detail .project-meta { margin-top: 33px; }
  .work-detail .project-meta > div { grid-template-columns: 65px minmax(0, 1fr); gap: 14px; padding-block: 15px; }
  .work-detail .project-meta dt { font-size: .67rem; }
  .work-detail .project-meta dd { font-size: .75rem; }
  .work-detail .project-story { padding-bottom: 42px; }
  .work-detail .project-story-row { padding-block: 29px 42px; }
  .work-detail .project-story-row .project-editorial-copy > p { font-size: .98rem; line-height: 2.05; }
  .work-detail .project-scope-list > li { grid-template-columns: 25px minmax(0, 1fr); gap: 12px; padding-block: 18px; }
  .work-detail .project-item-number { padding-top: 5px; font-size: .62rem; }
  .work-detail .project-scope-list p { font-size: .98rem; line-height: 1.95; }
  .work-detail .project-outcome-list > li { padding-left: 17px; font-size: .93rem; line-height: 2; }
  .work-detail .project-outcome-list > li + li { margin-top: 12px; }
  .work-detail .project-related { padding-bottom: 80px; }
  .work-detail .project-service-link { gap: 8px 18px; padding-block: 20px; }
  .work-detail .project-service-name { font-size: 1.17rem; }
  .work-detail .project-service-description { font-size: .75rem; }
  .work-detail .project-pagination { padding-block: 31px 65px; }
  .work-detail .project-next { gap: 24px 17px; }
  .work-detail .project-next-name { font-size: clamp(1.7rem, 7vw, 2.55rem); line-height: 1.25; }
  .work-detail .project-next-arrow { font-size: 1.9rem; }
  .work-detail .project-all-link { margin-top: 33px; font-size: .71rem; }
}
