/* Keep the index title and count together, including the English title on narrow phones. */
@media(max-width:860px) {
  .projects-index-page .projects-index-title-wrap {flex-wrap:nowrap}
  .projects-index-page .projects-index-intro h1 {white-space:nowrap;word-break:normal;overflow-wrap:normal}
  .projects-index-page .projects-index-count {flex-shrink:0}
}
@media(max-width:680px) {
  .projects-index-page .projects-index-intro h1 {font-size:clamp(34px,11.5vw,72px)}
}

/* Portfolio reading hierarchy. Existing image sizes, grids and section order stay authored. */
.project-detail-page {
  --project-copy-font:BleuPublic,'Pretendard Variable',Pretendard,sans-serif;
  --project-heading-font:Poppins,BleuPublic,'Pretendard Variable',Pretendard,sans-serif;
  --project-copy-size:clamp(17px,1.1vw,19px);
  --project-small-size:clamp(16px,1vw,17px);
  --project-heading-size:clamp(24px,1.9vw,32px);
  --project-copy-leading:1.75;
  --project-copy-color:#454545;
  --project-title-color:#151515;
  --project-muted-color:#666;
}
.project-detail-page.is-dark {
  --project-copy-color:#c8c8c8;
  --project-title-color:#f5f5f5;
  --project-muted-color:#aaa;
}
.project-detail-page .project-detail-title-block h1 {
  max-width:100%;
  font-size:clamp(44px,5vw,96px);
  line-height:1.05;
  word-break:normal;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.project-detail-page .project-detail-introduction {
  font-family:var(--project-copy-font);
  font-size:clamp(24px,2.1vw,36px);
  font-weight:600;
  line-height:1.45;
  letter-spacing:-.025em;
  word-break:keep-all;
  overflow-wrap:break-word;
}
.project-detail-page :is(.project-detail-text-copy,.project-detail-development-copy,.project-detail-final-copy),
.project-detail-page .project-detail-text-block.is-layout-single :is(.project-detail-text-copy.is-size-small,.project-detail-text-copy.is-size-body),
.project-detail-page .project-detail-small-text-block .project-detail-text-copy {
  max-width:70ch;
  min-width:0;
  font-family:var(--project-copy-font);
  font-size:var(--project-copy-size);
  font-weight:400;
  line-height:var(--project-copy-leading);
  letter-spacing:-.015em;
  word-break:keep-all;
  overflow-wrap:break-word;
  color:var(--project-copy-color);
}
.project-detail-page .project-detail-text-copy.is-size-small,
.project-detail-page .project-detail-text-block.is-layout-single .project-detail-text-copy.is-size-small,
.project-detail-page .project-detail-small-text-block .project-detail-text-copy {
  font-size:var(--project-small-size);
}
/* In paired copy, the first statement leads; the following paragraph explains. */
.project-detail-page .project-detail-text-columns>.project-detail-text-copy.is-size-body:first-child {
  max-width:28em;
  font-family:var(--project-heading-font);
  font-size:var(--project-heading-size);
  font-weight:600;
  line-height:1.4;
  letter-spacing:-.025em;
  color:var(--project-title-color);
}
.project-detail-page .project-detail-text-columns>.project-detail-text-copy.is-size-body:not(:first-child) {
  font-size:var(--project-copy-size);
  font-weight:400;
  line-height:var(--project-copy-leading);
}
.project-detail-page .project-detail-text-copy.is-size-large,
.project-detail-page .project-detail-text-block.is-layout-single.is-size-large .project-detail-text-copy {
  max-width:28em;
  font-family:var(--project-heading-font);
  font-size:clamp(28px,2.5vw,42px);
  font-weight:600;
  line-height:1.35;
  letter-spacing:-.03em;
  color:var(--project-title-color);
}
.project-detail-page :is(.project-detail-text-copy,.project-detail-development-copy,.project-detail-final-copy) :is(p,li) {
  font-family:inherit;
  font-size:inherit;
  line-height:inherit;
  letter-spacing:inherit;
}
.project-detail-page :is(.project-detail-text-copy,.project-detail-development-copy,.project-detail-final-copy)>p {margin:0 0 1.2em}
.project-detail-page :is(.project-detail-text-copy,.project-detail-development-copy,.project-detail-final-copy)>:last-child {margin-bottom:0}
.project-detail-page :is(.project-detail-text-copy,.project-detail-development-copy,.project-detail-final-copy) :is(strong,b) {font-weight:600}
.project-detail-page :is(.project-detail-text-copy,.project-detail-development-copy,.project-detail-final-copy) :is(h2,h3),
.project-detail-page :is(.project-detail-compact-copy-layout h3,.project-detail-subtitle-block h2) {
  font-family:var(--project-heading-font);
  font-size:var(--project-heading-size);
  font-weight:600;
  line-height:1.4;
  letter-spacing:-.025em;
  color:var(--project-title-color);
}
.project-detail-page :is(.project-detail-compact-copy-layout,.project-detail-subtitle-layout)>p {
  font-family:var(--project-copy-font);
  font-size:var(--project-small-size);
  font-weight:400;
  line-height:var(--project-copy-leading);
  word-break:keep-all;
  color:var(--project-copy-color);
}
.project-detail-page .project-detail-kicker {
  margin:0;
  font-family:var(--project-heading-font);
  font-size:13px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:.055em;
  color:var(--project-muted-color);
}
.project-detail-page .project-detail-meta dt {font-family:var(--project-heading-font);font-size:12px;line-height:1.5;letter-spacing:.045em;color:var(--project-muted-color)}
.project-detail-page .project-detail-meta dd {font-family:var(--project-copy-font);font-size:16px;font-weight:400;line-height:1.6;word-break:keep-all;color:var(--project-title-color)}
@media(max-width:680px) {
  .project-detail-page .project-detail-title-block h1 {font-size:clamp(32px,8.8vw,48px)}
  .project-detail-page {--project-copy-size:16px;--project-small-size:16px;--project-heading-size:22px;--project-copy-leading:1.75}
  .project-detail-page .project-detail-introduction {font-size:24px;line-height:1.5}
  .project-detail-page .project-detail-meta dd {font-size:15px}
  .project-detail-page .project-detail-text-block.is-layout-single.is-size-small,
  .project-detail-page :is(.project-detail-small-text-block,.project-detail-compact-copy-block) {max-width:100%;margin-left:0}
}
