/* One project template: title, operating decision, evidence, validation, related cases. */
body.application-project-page {
  --project-title:64px;
  --project-section:34px;
  --project-body:16px;
  --project-caption:12px;
}
.application-project-page .project-hero { padding:64px 0 44px; border-bottom:1px solid var(--line); }
.application-project-page #main h1 { margin:0; font:400 var(--project-title)/1.08 var(--font-sans); letter-spacing:-.045em; text-wrap:balance; }
.application-project-page #main h2 { margin:0; font:400 var(--project-section)/1.18 var(--font-sans); letter-spacing:-.035em; text-wrap:pretty; }
.application-project-page .project-summary { margin:24px 0 0; max-width:74ch; color:var(--muted); text-wrap:pretty; }
.application-project-page .project-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:36px 0 0; padding:24px 0 0; border-top:1px solid var(--line); }
.application-project-page .project-facts dt,.application-project-page .project-decision-facts dt { margin:0 0 8px; font:400 var(--project-caption)/1.5 var(--font-sans); color:var(--muted); }
.application-project-page .project-facts dd { margin:0; color:var(--ink); }
.application-project-page .project-facts .project-stage { color:var(--sage-ink); }
.application-project-page #main .project-caption { font:400 var(--project-caption)/1.65 var(--font-sans); color:var(--muted); }
.application-project-page #main .project-identity { margin:24px 0 0; }
.application-project-page .project-body { padding-block:56px 0; }
.application-project-page .project-decision { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; }
.application-project-page .project-decision>div>p { max-width:43ch; margin:24px 0 0; color:var(--muted); }
.application-project-page .project-decision-facts { display:grid; gap:24px; margin:0; }
.application-project-page .project-decision-facts>div { padding-top:16px; border-top:1px solid var(--line); }
.application-project-page .project-decision-facts dd { margin:0; color:var(--ink); }
.application-project-page .project-evidence { margin-top:64px; }
.application-project-page .project-evidence>h2 { max-width:36ch; }
.application-project-page .project-evidence .application-case-diagram { margin-top:24px; }
.application-project-page .project-recording .application-demo-media { margin-top:24px; }
.application-project-page .project-validation { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; margin-top:64px; padding:32px 0; border-block:1px solid var(--line); }
.application-project-page .project-validation .project-caption { margin:0 0 12px; color:var(--sage-ink); }
.application-project-page .project-validation>p { max-width:65ch; margin:0; color:var(--muted); }
.application-project-page .project-related { margin-top:56px; }
.application-project-page .project-section-top { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; margin-bottom:24px; }
.application-project-page .project-back { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:44px; padding:8px 0; font-size:14px; line-height:1.5; text-decoration:none; border-bottom:1px solid var(--line); color:var(--ink); }
.application-project-page .project-back:hover { border-color:var(--ink); }
.application-project-page .project-back:focus-visible { outline:2px solid var(--lavender-ink); outline-offset:4px; }
.application-project-page .project-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.application-project-page .project-next { margin-top:56px; padding:32px 0 56px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px 40px; }
.application-project-page .project-next>p { margin:0; color:var(--muted); }
.application-project-page .project-next>div { display:flex; gap:24px; flex-wrap:wrap; }
@media(max-width:1000px) {
  .application-project-page .project-decision,.application-project-page .project-validation { gap:40px; }
  .application-project-page .project-related-grid { gap:16px; }
}
@media(max-width:760px) {
  body.application-project-page { --project-title:44px; --project-section:32px; }
  .application-project-page .project-hero { padding:40px 0 32px; }
  .application-project-page .project-summary { margin-top:20px; }
  .application-project-page .project-facts { grid-template-columns:minmax(0,1fr); gap:18px; margin-top:28px; padding-top:20px; }
  .application-project-page .project-facts>div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:16px; align-items:baseline; }
  .application-project-page .project-facts dt { margin:0; }
  .application-project-page .project-body { padding-top:36px; }
  .application-project-page .project-decision,.application-project-page .project-validation { grid-template-columns:minmax(0,1fr); gap:28px; }
  .application-project-page .project-decision>div>p { max-width:none; margin-top:18px; }
  .application-project-page .project-evidence,.application-project-page .project-validation { margin-top:40px; }
  .application-project-page .project-related { margin-top:40px; }
  .application-project-page .project-related-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .application-project-page .project-next { margin-top:40px; padding-bottom:40px; }
}

/* Shared reading roles for the project narrative; evidence graphics stay untouched. */
body.comparison-site.readable-layout.application-project-page {
  --project-title:var(--type-display);
  --project-section:var(--type-section);
  --project-body:var(--type-body);
  --project-caption:var(--type-caption);
}
body.comparison-site.readable-layout.application-project-page .project-hero { padding-block:var(--hero-space-start) var(--hero-space-end); }
body.comparison-site.readable-layout.application-project-page .project-summary { margin-top:var(--flow-medium); font-size:var(--type-lead); line-height:var(--leading-body); }
body.comparison-site.readable-layout.application-project-page :is(.project-facts dd,.project-decision-facts dd,.project-decision>div>p,.project-validation>p,.project-next>p) { font-size:var(--type-body); line-height:var(--leading-body); }
body.comparison-site.readable-layout.application-project-page .project-facts { gap:var(--flow-medium); margin-top:var(--layout-gap); padding-top:var(--row-space); }
body.comparison-site.readable-layout.application-project-page #main .project-identity { margin-top:var(--flow-small); }
body.comparison-site.readable-layout.application-project-page .project-body { padding-top:var(--section-space); }
body.comparison-site.readable-layout.application-project-page :is(.project-decision,.project-validation) { gap:var(--layout-gap); }
body.comparison-site.readable-layout.application-project-page .project-decision>div>p { margin-top:var(--flow-medium); max-width:65ch; }
body.comparison-site.readable-layout.application-project-page .project-decision-facts { gap:var(--flow-medium); }
body.comparison-site.readable-layout.application-project-page :is(.project-evidence,.project-validation,.project-related,.project-next) { margin-top:var(--section-space); }
body.comparison-site.readable-layout.application-project-page .project-validation { padding-block:var(--row-space); }
body.comparison-site.readable-layout.application-project-page .project-back { font-size:var(--type-action); }
body.comparison-site.readable-layout.application-project-page .project-next { padding-block:var(--layout-gap) var(--section-space); }
@media(max-width:760px) {
  body.comparison-site.readable-layout.application-project-page .project-facts>div { grid-template-columns:minmax(0,1fr); gap:4px; }
}
