/* Digital work is a visual gallery: previews preserve the source proportions
   and are not interactive links to client projects. All styles are scoped. */
.dw-section {
  --dw-ink: #f4f3f0;
  --dw-muted: #aaaab3;
  --dw-line: #35353b;
  --dw-accent: #ff7758;
  background: #101012;
  color: var(--dw-ink);
  padding-block: clamp(64px, 8vw, 112px);
  scroll-margin-top: 0;
}
.dw-section .dw-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  gap: clamp(28px, 6vw, 90px);
  align-items: end;
  margin-bottom: clamp(32px, 4.5vw, 60px);
}
.dw-section .dw-eyebrow {
  color: var(--dw-muted);
  font-size: .6875rem;
  line-height: 1.5;
  font-weight: 650;
  letter-spacing: .14em;
  margin-bottom: 24px;
}
.dw-section .dw-heading h2 {
  font-size: clamp(2.6rem, 5.1vw, 5.1rem);
  line-height: 1.07;
  letter-spacing: -.06em;
  font-weight: 600;
}
.dw-section em { color: var(--dw-accent); font-style: normal; }
.dw-section .dw-intro {
  color: #b9b9c1;
  max-width: 390px;
  padding-bottom: 4px;
  font-size: 1.0625rem;
  line-height: 1.75;
}
.dw-section .dw-gallery { display: grid; gap: 44px; }
.dw-section .dw-project { min-width: 0; }
.dw-section .dw-project-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 17px;
}
.dw-section .dw-project-name {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 16px;
}
.dw-section .dw-index {
  color: #8c8c96;
  font-size: .6875rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.dw-section .dw-project-name h3 {
  font-size: clamp(1.2rem, 1.75vw, 1.6rem);
  line-height: 1.25;
  letter-spacing: -.035em;
  font-weight: 600;
}
.dw-section .dw-category {
  color: #c9c9d0;
  border: 1px solid #424249;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: .6875rem;
  line-height: 1.35;
  flex: none;
}
.dw-section .dw-feature-views {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
}
.dw-section .dw-screen {
  position: relative;
  min-width: 0;
  overflow: hidden;
  isolation: isolate;
  margin: 0;
  background: #f5f3ed;
  border: 1px solid #ffffff26;
  border-radius: 12px;
}
.dw-section .dw-screen img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: top center;
  filter: none;
  max-width: 100%;
}
.dw-section .dw-screen-terre { aspect-ratio: 1348 / 926; }
.dw-section .dw-screen-terre img,
.dw-section .dw-screen-catalogue img {
  position: static;
}
.dw-section .dw-view-caption {
  position: absolute;
  bottom: 14px;
  left: 14px;
  z-index: 1;
  background: #101012ed;
  color: #f4f3f0;
  border: 1px solid #ffffff26;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: .6875rem;
  line-height: 1.35;
  letter-spacing: .01em;
}
.dw-section .dw-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.dw-section .dw-pair .dw-screen { aspect-ratio: 1348 / 926; }
.dw-section .dw-custom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(30px, 7vw, 100px);
  border-top: 1px solid var(--dw-line);
  padding-top: clamp(32px, 4.5vw, 58px);
  margin-top: clamp(42px, 6vw, 76px);
}
.dw-section .dw-custom .dw-eyebrow { margin-bottom: 20px; }
.dw-section .dw-custom h3 {
  font-size: clamp(2rem, 3.1vw, 3.1rem);
  line-height: 1.12;
  letter-spacing: -.055em;
  font-weight: 600;
}
.dw-section .dw-custom-copy { padding-top: 1px; min-width: 0; }
.dw-section .dw-custom-copy > p {
  color: #b9b9c1;
  font-size: 1rem;
  line-height: 1.75;
  max-width: 460px;
}
.dw-section .dw-capabilities {
  display: flex;
  flex-wrap: wrap;
  gap: 11px 20px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.dw-section .dw-capabilities li {
  padding-bottom: 7px;
  border-bottom: 1px solid #55555d;
  color: #e4e3e8;
  font-size: .8125rem;
  line-height: 1.45;
}
@media (max-width: 850px) {
  .dw-section .dw-heading { grid-template-columns: 1fr; gap: 24px; }
  .dw-section .dw-intro { max-width: 540px; }
  .dw-section .dw-feature-views { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .dw-section .dw-project-head { gap: 12px; }
  .dw-section .dw-project-name { gap: 11px; }
  .dw-section .dw-pair { gap: 20px; }
  .dw-section .dw-custom { gap: 32px; }
}
@media (max-width: 620px) {
  .dw-section { padding-block: 56px 62px; }
  .dw-section .dw-eyebrow { font-size: .625rem; letter-spacing: .1em; margin-bottom: 20px; }
  .dw-section .dw-heading { gap: 22px; margin-bottom: 34px; }
  .dw-section .dw-heading h2 { font-size: clamp(2.35rem, 9.3vw, 3.6rem); line-height: 1.1; }
  .dw-section .dw-intro { font-size: .9375rem; line-height: 1.7; }
  .dw-section .dw-gallery { gap: 31px; }
  .dw-section .dw-project-head { margin-bottom: 13px; }
  .dw-section .dw-project-name h3 { font-size: 1.15rem; }
  .dw-section .dw-category { padding: 5px 9px; font-size: .625rem; }
  .dw-section .dw-feature-views { grid-template-columns: 1fr; gap: 12px; }
  .dw-section .dw-screen { border-radius: 8px; }
  .dw-section .dw-screen-terre,
  .dw-section .dw-feature-views .dw-screen,
  .dw-section .dw-pair .dw-screen { aspect-ratio: auto; }
  .dw-section .dw-screen img,
  .dw-section .dw-screen-terre img,
  .dw-section .dw-screen-catalogue img {
    position: static;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .dw-section .dw-view-caption { bottom: 10px; left: 10px; font-size: .625rem; padding: 6px 10px; }
  .dw-section .dw-pair { grid-template-columns: 1fr; gap: 31px; }
  .dw-section .dw-custom { grid-template-columns: 1fr; gap: 22px; margin-top: 38px; padding-top: 31px; }
  .dw-section .dw-custom h3 { font-size: 2rem; }
  .dw-section .dw-custom-copy > p { font-size: .9375rem; }
  .dw-section .dw-capabilities { margin-top: 21px; gap: 9px 17px; }
  .dw-section .dw-capabilities li { font-size: .75rem; }
}
