/* Page composition follows Figma 68:5326 and 106:7115. */
.project--diamond { --diamond-cream: #fffbf7; }
.project--diamond .hero { height: 810px; min-height: 0; }
.project--diamond .hero-copy { bottom: 100px; }
.project--diamond .hero-shade { background: linear-gradient(transparent,rgba(17,17,17,.6)); }
.project--diamond .hero-image { object-position: center; }
.project--diamond .project-main { padding-bottom: 100px; }
.project--diamond .meta-card { height: auto; min-height: 174px; }
.project--diamond .meta-item { padding-block: 10px; }
.project--diamond .meta-label { margin-bottom: 18px; }
.project--diamond .meta-item p > span { display: block; }
.project--diamond .meta-item p > span + span { margin-top: 14px; }
.project--diamond .project-section { margin-top: 80px; }
.project--diamond .section-lead { margin-top: 60px; }
.project--diamond .section-lead h2 { line-height: 1; letter-spacing: -.33px; }
.project--diamond .section-body > p { font-size: 18px; line-height: 26px; }
.project--diamond .section-subhead { margin-top: 40px; line-height: 40px; letter-spacing: -.18px; }
.project--diamond .objective-list { margin-top: 27px; padding-left: 24px; font-size: 16px; line-height: 28px; }
.project--diamond .diamond-discovery { margin-top: 100px; padding: 40px 0; border-radius: 20px; }
.project--diamond .diamond-challenge-panel { padding: 40px; background: white; border-radius: 20px; }
.project--diamond .diamond-challenge-copy { max-width: 744px; }
.project--diamond .diamond-challenge-copy h2, .project--diamond .diamond-research h2 { font-size: 22px; line-height: 1; letter-spacing: -.33px; }
.project--diamond .diamond-challenge-copy p { margin-top: 24px; color: #333; font-size: 16px; line-height: 28px; }
.project--diamond .diamond-challenge-copy p + p { margin-top: 20px; }
.project--diamond .diamond-priority-grid { margin-top: 40px; gap: 20px; }
.project--diamond .diamond-priority { min-height: 0; padding: 20px; border-radius: 14px; background: #f5f5f7; }
.project--diamond .diamond-priority h3 { font-size: 15px; line-height: 20px; letter-spacing: -.075px; }
.project--diamond .diamond-priority p { margin-top: 24px; font-size: 14px; line-height: 20px; font-weight: 500; color: #333; }
.project--diamond .diamond-priority--intro { background: transparent; border-left: 4px solid #e2e2de; border-radius: 0; color: #666; }
.project--diamond .diamond-priority--intro h3 { font-size: 18px; font-weight: 500; }
.project--diamond .diamond-priority--intro p { margin-top: 16px; font-size: 16px; line-height: 28px; font-weight: 400; color: #666; }
.diamond-priority-controls { display: none; }
.project--diamond .diamond-research { display: block; margin-top: 20px; padding: 40px; }
.project--diamond .diamond-research > .showcase-copy { max-width: 744px; }
.project--diamond .diamond-research > .showcase-copy p { font-size: 18px; line-height: 26px; margin-top: 24px; }
.diamond-research-content { display: grid; grid-template-columns: minmax(0,1fr) 393px; gap: 30px; margin-top: 40px; align-items: start; }
.diamond-scope { grid-column: 2; grid-row: 1; }
.diamond-scope h3, .project--diamond .diamond-flow h3 { font-size: 18px; line-height: 40px; font-weight: 600; letter-spacing: -.18px; }
.diamond-scope p, .project--diamond .diamond-flow p { margin-top: 24px; font-size: 16px; line-height: 28px; color: #333; }
.diamond-synthesis { grid-column: 1; grid-row: 1; }
.diamond-diagram { min-width: 0; }
.diamond-diagram summary { display: none; }
.diamond-diagram picture { display: block; }
.diamond-diagram picture img { width: 100%; height: auto; background: #fff; border-radius: 14px; }
.project--diamond .diamond-flow { margin-top: 20px; padding: 40px 40px 0; grid-template-columns: minmax(0,357fr) minmax(0,773fr); gap: 40px; }
.project--diamond .diamond-response { margin-top: 100px; }
.project--diamond .section-title { text-align: left; margin-bottom: 40px; line-height: 1; }
.diamond-showcase-grid { display: flex; flex-direction: column; gap: 20px; }
.project--diamond .diamond-feature { padding: 40px; gap: 40px; }
.project--diamond .showcase-copy { padding: 0; }
.project--diamond .showcase-copy h3 { font-size: 18px; line-height: 40px; letter-spacing: -.18px; }
.project--diamond .showcase-copy p { margin-top: 24px; color: #333; font-size: 16px; line-height: 28px; }
.project--diamond .showcase-copy p + p { margin-top: 20px; }
.project--diamond .diamond-feature--filters { display: grid; grid-template-columns: minmax(0,1fr) 237px; gap: 40px; align-items: stretch; }
.diamond-filter-main { display: flex; flex-direction: column; justify-content: space-between; gap: 40px; }
.diamond-filter-desktop { position: relative; aspect-ratio: 883/330; border: 1px solid #f5f5f5; border-radius: 10px; box-shadow: 8px 8px 20px #00000014; }
.diamond-filter-desktop img { position: absolute; width: 97.58%; height: 91.66%; top: 3.03%; left: 1.21%; }
.project--diamond .diamond-feature--filters .diamond-mobile-filter { width: 237px; height: auto; max-height: none; margin: 0; border-radius: 20px; box-shadow: 8px 8px 20px #00000014; }
.project--diamond .diamond-feature--step { border-radius: 20px; }
.diamond-feature--step picture, .diamond-feature--step picture img { display: block; width: 100%; height: auto; }
.diamond-feature-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; align-items: start; }
.diamond-feature-right { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.diamond-feature picture { display: block; position: relative; overflow: hidden; }
.diamond-custom-media { aspect-ratio: 525/482; }
.diamond-custom-media img { position: absolute; width: 121.25%; max-width: none; height: 101.72%; top: -1.66%; left: -10.62%; }
.diamond-menu-media { aspect-ratio: 419/195; }
.diamond-menu-media img { position: absolute; width: 189.47%; max-width: none; height: 139.95%; left: -6.97%; top: -24.31%; }
.diamond-guide-media img { width: 100%; height: auto; }
.project--diamond .diamond-quote { position: relative; display: grid; width: min(876px,calc(100% - 48px)); min-height: 296px; margin: 60px auto 0; border-radius: 20px; background: #37312f; grid-template-columns: 1fr; }
.project--diamond .diamond-quote > img { position: absolute; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: bottom; }
.diamond-quote::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,0)); }
.diamond-quote blockquote { position: relative; z-index: 1; width: min(609px,100%); margin: 0; padding: 40px; }
.project--diamond .diamond-quote p { font-size: 18px; font-weight: 400; line-height: 26px; }
.diamond-quote p + p { margin-top: 20px; }
.diamond-quote cite { display: block; margin-top: 40px; font-size: 18px; font-style: normal; font-weight: 600; line-height: 26px; }
.project--diamond .project-outcome { margin-top: 60px; }
.project--diamond .outcome-states { gap: 32px; }
.project--diamond .outcome-states strong { font-size: 18px; font-weight: 400; line-height: 23px; }
.project--diamond .outcome-card { display: grid; grid-template-columns: 185px minmax(0,1fr); gap: 27px; padding: 40px 30px; min-height: 0; }
.project--diamond .outcome-card h2 { font-size: 22px; line-height: 1; letter-spacing: -.33px; }
.project--diamond .outcome-copy { margin: 0; }
.project--diamond .outcome-copy h3 { font-size: 18px; line-height: 40px; letter-spacing: -.18px; }
.project--diamond .outcome-copy p { font-size: 16px; line-height: 28px; }
@media (min-width: 621px) and (max-width: 1000px) {
  .diamond-research-content { grid-template-columns: minmax(0,1fr) minmax(0, .7fr); }
  .project--diamond .diamond-flow { grid-template-columns: minmax(0,.6fr) minmax(0,1fr); }
  .project--diamond .diamond-feature { padding: 24px; }
  .diamond-feature-columns { gap: 20px; }
  .project--diamond .outcome-card { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .project--diamond .hero { height: 440px; }
  .project--diamond .hero-copy { bottom: 40px; }
  .project--diamond .hero h1 { font-size: clamp(35px,10.582vw,var(--mobile-h1)); line-height: 1.025; margin-top: 16.296px; }
  .project--diamond .eyebrow { font-size: 9.31px; }
  .project--diamond .meta-card { margin-top: 20px; padding: 14px; gap: 20px; border-radius: 10px; min-height: 314px; }
  .project--diamond .meta-item { min-width: 0; }
  .project--diamond .meta-item p { line-height: 20px; }
  .project--diamond .meta-item p > span + span { margin-top: 14px; }
  .project--diamond .section-lead { margin-top: 80px; gap: 18px; }
  .project--diamond .section-lead h2 { font-size: 20px; }
  .project--diamond .section-body > p { font-size: 18px; line-height: 22px; }
  .project--diamond .section-body > p + p { margin-top: 8px; }
  .project--diamond .section-subhead { margin-top: 32px; font-size: 14px; line-height: 16px; }
  .project--diamond .objective-list { margin-top: 16px; line-height: normal; }
  .project--diamond .diamond-discovery { margin-top: 80px; padding: 40px 0; background: white; border-radius: 0; }
  .project--diamond .diamond-challenge-panel { padding: 0; border-radius: 0; }
  .project--diamond .diamond-challenge-copy h2, .project--diamond .diamond-research h2 { font-size: var(--mobile-h2); }
  .project--diamond .diamond-challenge-copy p { font-size: var(--mobile-body); line-height: var(--mobile-body-leading); }
  .project--diamond .diamond-challenge-copy p + p { margin-top: 7px; }
  .project--diamond .diamond-priority-grid { display: flex; margin-top: 32px; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; scroll-snap-type: x mandatory; }
  .diamond-priority-grid::-webkit-scrollbar { display: none; }
  .project--diamond .diamond-priority { flex: 0 0 min(340px, 100%); padding: 24px; border-radius: 8px; scroll-snap-align: start; }
  .project--diamond .diamond-priority h3 { font-size: var(--mobile-h3); line-height: normal; }
  .project--diamond .diamond-priority p { font-size: var(--mobile-small); line-height: var(--mobile-small-leading); }
  .project--diamond .diamond-priority--intro { flex-basis: 230px; border-radius: 0; }
  .project--diamond .diamond-priority--intro h3 { font-weight: 600; }
  .project--diamond .diamond-priority--intro p { font-weight: 500; margin-top: 24px; }
  .diamond-priority-controls { display: flex; justify-content: flex-end; gap: 13px; margin-top: 16px; }
  .diamond-priority-controls button { display: inline-flex; align-items: center; justify-content: center; width: 67px; height: 47px; padding: 0; border: 0; border-radius: 999px; background: transparent; cursor: pointer; }
  .diamond-priority-controls button:disabled { opacity: 1; cursor: default; }
  .diamond-priority-controls .control-disabled { display: none; }
  .diamond-priority-controls button:disabled .control-enabled { display: none; }
  .diamond-priority-controls button:disabled .control-disabled { display: block; }
  .diamond-priority-controls [data-priority-direction="-1"] .control-enabled,
  .diamond-priority-controls [data-priority-direction="1"] .control-disabled { transform: rotate(180deg); }
  .project--diamond .diamond-research { padding: 0 10px; margin-top: 32px; }
  .project--diamond .diamond-research > .showcase-copy p { font-size: var(--mobile-body); line-height: var(--mobile-body-leading); }
  .diamond-research-content { display: flex; flex-direction: column; gap: 24px; margin-top: 50px; }
  .diamond-scope h3, .project--diamond .diamond-flow h3 { font-size: var(--mobile-h3); line-height: normal; color: #666; }
  .diamond-scope p, .project--diamond .diamond-flow p { font-size: var(--mobile-small); line-height: var(--mobile-small-leading); font-weight: 500; color: #666; }
  .diamond-diagram { --accordion-padding: 6px; width: 100%; padding: var(--accordion-padding); border-radius: 8px; background: #f1f1ef; }
  .diamond-diagram summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; color: #666; font-weight: 600; font-size: var(--mobile-caption); line-height: 22px; list-style: none; }
  .diamond-diagram summary::-webkit-details-marker { display: none; }
  .diamond-diagram summary img { flex-shrink: 0; transform: rotate(0deg); }
  .diamond-diagram[open] summary img { transform: rotate(180deg); }
  .diamond-diagram picture { margin-top: 12px; }
  .diamond-diagram picture img { height: auto; }
  .diamond-journey picture img { border-radius: 8px; }
  .project--diamond .diamond-flow { display: flex; flex-direction: column; padding: 0 10px; gap: 24px; margin-top: 50px; }
  .project--diamond .diamond-response { margin-top: 80px; }
  .project--diamond .section-title { font-size: var(--mobile-h2); margin-bottom: 30px; }
  .project--diamond .diamond-feature, .project--diamond .diamond-feature--filters { display: flex; flex-direction: column; padding: 14px 12px; gap: 24px; border-radius: 10px; background: white; }
  .project--diamond .showcase-copy h3 { font-size: var(--mobile-h3); line-height: normal; color: #666; letter-spacing: -.08px; }
  .project--diamond .showcase-copy p { font-size: var(--mobile-small); line-height: var(--mobile-small-leading); font-weight: 500; color: #666; }
  .project--diamond .showcase-copy p + p { margin-top: 3px; }
  .diamond-filter-desktop { display: none; }
  .project--diamond .diamond-feature--filters .diamond-mobile-filter { width: 258px; max-width: 100%; height: auto; margin: 0 auto; border-radius: 10px; }
  .diamond-feature-columns { display: flex; flex-direction: column; gap: 20px; }
  .diamond-feature-columns > *, .diamond-feature-right > * { width: 100%; }
  .diamond-custom-media { aspect-ratio: 1; width: min(375px,100%); margin: 0 auto; }
  .diamond-custom-media img { position: static; width: 100%; height: auto; }
  .diamond-menu-media { aspect-ratio: auto; width: 203px; max-width: 100%; margin: 0 auto; }
  .diamond-menu-media img { position: static; width: 100%; height: auto; }
  .diamond-guide-media { width: 252px; max-width: 100%; margin: 0 auto; }
  .project--diamond .diamond-quote { width: 100%; min-height: 621px; margin-top: 80px; border-radius: 0; align-items: end; }
  .project--diamond .diamond-quote > img { object-fit: cover; object-position: center top; }
  .diamond-quote::after { background: linear-gradient(to top,#37312f 49.919%,rgba(55,49,47,0) 94.471%); }
  .diamond-quote blockquote { width: 100%; padding: 40px 20px 50px; }
  .project--diamond .project-outcome { margin-top: 40px; gap: 49px; }
  .project--diamond .outcome-states span { font-size: 16px; }
  .project--diamond .outcome-card { display: block; padding: 20px; border-radius: 10px; }
  .project--diamond .outcome-copy { margin-top: 40px; }
  .project--diamond .outcome-copy h3 { font-size: 18px; line-height: 24px; }
  .project--diamond .outcome-copy > p:first-of-type { margin-top: 30px; }
  .project--diamond .project-main { padding-bottom: 40px; }
}
/* Match the exported testimonial crop and desktop spacing. */
.diamond-quote-media { position: absolute; inset: 0; }
.project--diamond .diamond-quote-media img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.project--diamond .diamond-quote::after { display: none; }
.project--diamond .outcome-states span { font-size: 14px; font-weight: 300; line-height: 1; color: #666; }
@media (min-width: 621px) {
  .project--diamond .meta-card { min-height: 170px; }
  .project--diamond .project-main { padding-bottom: 200px; }
  .project--diamond .diamond-priority-grid { align-items: start; }
  .project--diamond .diamond-challenge-panel { min-height: 542px; }
  .diamond-showcase-grid { gap: 30px; }
  .diamond-feature-right { gap: 30px; }
  .project--diamond .diamond-feature--guide { padding-block: 27px; }
  .diamond-quote blockquote { width: 589px; padding: 40px 30px; align-self: center; }
  .project--diamond .outcome-card { align-self: start; }
}
@media (max-width: 620px) {
  .project--diamond .diamond-research > .showcase-copy p { font-weight: 400; }
  .project--diamond .outcome-states span { font-size: 16px; }
}
.project--diamond .objective-list { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
@media (max-width: 620px) {
  .project--diamond .diamond-feature--step picture { width: min(375px,100%); margin-inline: auto; }
}
/* Figma trims the outer paragraph group; retain its internal paragraph gaps. */
.diamond-quote p + p { margin-top: 32px; }
@media (max-width: 620px) {
  .project--diamond .section-body > p + p { margin-top: 13.5px; }
  .project--diamond .diamond-challenge-copy p + p { margin-top: 18px; }
  .project--diamond .diamond-feature--filters .showcase-copy p + p { margin-top: 13px; }
}
@media (min-width: 621px) {
  .project--diamond .section-body > p + p { margin-top: 34px; }
  .project--diamond .project-outcome { min-height: 258px; }
}
@media (min-width: 1300px) {
  .project--diamond .diamond-flow { width: calc(100% + 10px); grid-template-columns: 357px minmax(0,1fr); }
}

@media (max-width: 620px) {
  .project--diamond { --mobile-body-leading: 24px; --mobile-small-leading: 22px; }
  .project--diamond .objective-list { line-height: 1.6; }
  .project--diamond .objective-list li + li { margin-top: 10px; }
  .project--diamond .section-body > p + p { margin-top: 16px; }
  .project--diamond .showcase-copy p + p { margin-top: 16px; }
  .project--diamond .outcome-copy p { line-height: 28px; }
}
