.project-detail-page {
  color: var(--ds-text);
  background: var(--ds-bg);
  overflow-x: hidden;
}

.project-main { background: var(--ds-bg); }

.project-intro {
  padding: clamp(86px, 10vw, 138px) 24px 54px;
}

.project-intro-inner {
  width: var(--ds-page);
  margin: 0 auto;
}

.project-breadcrumb {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 48px;
  font-size: 13px;
  color: var(--ds-faint);
}

.project-breadcrumb a { color: var(--ds-blue); }
.project-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 3px; }

.project-kicker {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 610;
  color: var(--ds-faint);
}

.project-intro h1 {
  max-width: 960px;
  margin: 0;
  font-size: clamp(50px, 6.8vw, 84px);
  line-height: .95;
  font-weight: 650;
  letter-spacing: -.065em;
}

.project-summary {
  max-width: 720px;
  margin: 28px 0 0;
  font-size: clamp(19px, 2vw, 24px);
  line-height: 1.46;
  letter-spacing: -.025em;
  color: var(--ds-muted);
}

.project-hero-media {
  width: var(--ds-page);
  margin: 0 auto;
  aspect-ratio: 16 / 8.5;
  overflow: hidden;
  border-radius: 28px;
  background: var(--ds-bg-soft);
}

.project-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.project-meta-section {
  padding: 54px 24px 0;
}

.project-meta-grid {
  width: var(--ds-page);
  margin: 0 auto;
  padding: 26px 0;
  border-top: 1px solid var(--ds-border-strong);
  border-bottom: 1px solid var(--ds-border);
  display: grid;
  grid-template-columns: .75fr 1.25fr;
}

.project-meta-grid article {
  min-width: 0;
  padding: 0 28px;
  border-left: 1px solid var(--ds-border);
}

.project-meta-grid article:first-child { padding-left: 0; border-left: 0; }

.project-meta-grid span {
  display: block;
  margin-bottom: 8px;
  font-size: 11px;
  line-height: 1;
  font-weight: 590;
  color: var(--ds-faint);
}

.project-meta-grid strong {
  display: block;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 560;
  color: var(--ds-text);
}

#projectSections { background: var(--ds-bg); }

.project-dynamic-section {
  padding: clamp(92px, 11vw, 142px) 24px;
  border-top: 1px solid rgba(0,0,0,.045);
}

.project-dynamic-section.section-soft { background: var(--ds-bg-soft); }
.project-dynamic-section.section-dark { color: #fff; background: #000; }

.project-section-heading {
  width: var(--ds-page);
  margin: 0 auto 48px;
  max-width: none;
}

.project-section-heading p,
.project-text-block > p {
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.1;
  font-weight: 610;
  color: var(--ds-faint);
}

.section-dark .project-section-heading p { color: rgba(255,255,255,.52); }

.project-section-heading h2,
.project-text-block h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(32px, 4vw, 50px);
  line-height: 1.02;
  font-weight: 640;
  letter-spacing: -.055em;
}

.project-image-grid,
.project-photo-grid-45,
.project-landscape-video-grid,
.project-video-grid,
.project-vertical-video-grid,
.project-thumbnail-grid,
.project-compare-grid,
.project-full-media,
.project-metric-grid,
.project-text-block {
  width: var(--ds-page);
  margin-left: auto;
  margin-right: auto;
}

.project-image-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.project-image-grid.image-count-1 { grid-template-columns: 1fr; }
.project-image-grid.image-count-3 { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }

.project-image-grid img,
.project-photo-grid-45 img,
.project-thumbnail-grid img,
.project-full-media img,
.project-compare-grid img {
  width: 100%;
  display: block;
  object-fit: cover;
  border-radius: 20px;
  background: #e9e9ec;
}

.project-image-grid img { aspect-ratio: 4 / 3; }

.project-photo-grid-45 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.project-photo-grid-45 img { aspect-ratio: 4 / 5; }

.project-thumbnail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.project-thumbnail-grid img { aspect-ratio: 16 / 9; }

.project-full-media img,
.project-full-media video {
  width: 100%;
  max-height: 82svh;
  object-fit: cover;
}

.project-full-media video,
.project-landscape-video-grid video,
.project-video-grid video,
.project-vertical-video-grid video {
  width: 100%;
  display: block;
  border: 0;
  border-radius: 20px;
  background: #0a0a0a;
}

.project-full-media video { aspect-ratio: 16 / 9; }

.project-landscape-video-grid,
.project-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 14px;
}

.project-landscape-video-grid.video-count-1,
.project-video-grid.video-count-1 { grid-template-columns: 1fr; }

.project-landscape-video-grid video,
.project-video-grid video { aspect-ratio: 16 / 9; object-fit: cover; }

.project-landscape-video-grid h3,
.project-video-grid h3,
.project-vertical-video-grid h3 {
  margin: 12px 2px 0;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 540;
  color: var(--ds-muted);
}

.section-dark .project-landscape-video-grid h3,
.section-dark .project-video-grid h3,
.section-dark .project-vertical-video-grid h3 { color: rgba(255,255,255,.62); }

.project-vertical-video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px 14px;
  max-width: 1000px;
}

.project-vertical-video-grid video { aspect-ratio: 9 / 16; object-fit: cover; }
.project-vertical-video-grid.video-count-1 { grid-template-columns: minmax(0, 360px); justify-content: center; }
.project-vertical-video-grid.video-count-2 { grid-template-columns: repeat(2, minmax(0, 350px)); justify-content: center; max-width: 760px; }
.project-vertical-video-grid.video-count-4 { grid-template-columns: repeat(2, minmax(0, 350px)); max-width: 760px; }
.project-vertical-video-grid.video-count-5,
.project-vertical-video-grid.video-count-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.project-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.project-compare-grid article { position: relative; }
.project-compare-grid article > span {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ds-faint);
}

.project-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--ds-border-strong);
  border-bottom: 1px solid var(--ds-border);
}

.project-metric-grid article {
  min-height: 190px;
  padding: 28px;
  border-left: 1px solid var(--ds-border);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.project-metric-grid article:first-child { border-left: 0; }

.project-metric-grid strong {
  font-size: clamp(38px, 5vw, 64px);
  line-height: .95;
  font-weight: 650;
  letter-spacing: -.055em;
}

.project-metric-grid span {
  font-size: 14px;
  color: var(--ds-muted);
}

.project-text-block { max-width: none; }
.project-text-block h2 { max-width: 760px; }
.project-text-block > div {
  max-width: 680px;
  margin-top: 24px;
  font-size: 19px;
  line-height: 1.58;
  letter-spacing: -.018em;
  color: var(--ds-muted);
}

.project-empty-block {
  width: var(--ds-page);
  margin: 0 auto;
  padding: 64px 0;
  border-top: 1px solid var(--ds-border);
}

.project-empty-block p { margin: 0 0 12px; color: var(--ds-faint); }
.project-empty-block h2 { max-width: 720px; margin: 0; font-size: 42px; line-height: 1.05; letter-spacing: -.05em; }
.project-empty-block span { display: block; max-width: 640px; margin-top: 18px; color: var(--ds-muted); line-height: 1.55; }

.project-more {
  padding: clamp(90px, 10vw, 126px) 24px;
  background: var(--ds-bg-soft);
}

.project-more-inner {
  width: var(--ds-page);
  margin: 0 auto;
}

.project-more-inner > p,
.project-contact-inner > p {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 610;
  color: var(--ds-faint);
}

.project-more h2 {
  max-width: 720px;
  margin: 0 0 24px;
  font-size: clamp(38px, 5vw, 60px);
  line-height: 1;
  font-weight: 640;
  letter-spacing: -.06em;
}

.project-contact {
  padding: clamp(94px, 11vw, 140px) 24px;
  color: #fff;
  background: #000;
}

.project-contact-inner { width: var(--ds-page); margin: 0 auto; }
.project-contact-inner > p { color: rgba(255,255,255,.52); }
.project-contact h2 {
  margin: 0 0 30px;
  font-size: clamp(44px, 6.4vw, 78px);
  line-height: .96;
  font-weight: 640;
  letter-spacing: -.065em;
}
.project-contact .ds-pill { background: #fff; color: #111; }
.project-contact .ds-pill:hover { background: #f2f2f2; }

.project-not-found {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 40px;
  text-align: center;
  background: var(--ds-bg-soft);
}
.project-not-found h1 { margin: 0 0 14px; font-size: 44px; letter-spacing: -.05em; }
.project-not-found p { color: var(--ds-muted); }
.project-not-found a { color: var(--ds-blue); }

@media (max-width: 820px) {
  .project-intro { padding: 76px 18px 40px; }
  .project-breadcrumb { margin-bottom: 36px; }
  .project-intro h1 { font-size: clamp(44px, 13vw, 64px); }
  .project-summary { font-size: 18px; }
  .project-hero-media { aspect-ratio: 4 / 3; border-radius: 20px; }

  .project-meta-section { padding: 36px 18px 0; }
  .project-meta-grid { grid-template-columns: 1fr; padding: 0; }
  .project-meta-grid article { padding: 18px 0; border-left: 0; border-top: 1px solid var(--ds-border); }
  .project-meta-grid article:first-child { border-top: 0; }

  .project-dynamic-section { padding: 76px 18px; }
  .project-section-heading { margin-bottom: 34px; }
  .project-section-heading h2,
  .project-text-block h2 { font-size: clamp(34px, 10vw, 46px); }

  .project-image-grid,
  .project-image-grid.image-count-3,
  .project-thumbnail-grid,
  .project-landscape-video-grid,
  .project-video-grid,
  .project-compare-grid { grid-template-columns: 1fr; }

  .project-photo-grid-45 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }

  .project-vertical-video-grid,
  .project-vertical-video-grid.video-count-2,
  .project-vertical-video-grid.video-count-4,
  .project-vertical-video-grid.video-count-5,
  .project-vertical-video-grid.video-count-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; gap: 22px 10px; }

  .project-metric-grid { grid-template-columns: 1fr; }
  .project-metric-grid article { min-height: 150px; border-left: 0; border-top: 1px solid var(--ds-border); }
  .project-metric-grid article:first-child { border-top: 0; }

  .project-text-block > div { font-size: 17px; }
  .project-more, .project-contact { padding-left: 18px; padding-right: 18px; }
}

@media (max-width: 520px) {
  .project-photo-grid-45 { grid-template-columns: 1fr; }
  .project-vertical-video-grid,
  .project-vertical-video-grid.video-count-2,
  .project-vertical-video-grid.video-count-4,
  .project-vertical-video-grid.video-count-5,
  .project-vertical-video-grid.video-count-6 { grid-template-columns: 1fr; max-width: 330px; }
}

/* Delook display scale */
.project-intro h1{font-size:clamp(46px,6vw,74px);line-height:1.02;}
.project-text-block h2{font-size:clamp(30px,3.6vw,46px);line-height:1.04;}
.project-more h2,.project-contact h2{font-size:clamp(36px,4.5vw,56px);line-height:1.03;}
@media(max-width:760px){.project-intro h1{font-size:clamp(42px,11.5vw,56px);}.project-text-block h2{font-size:clamp(32px,9vw,42px);}}
