/* A shared, roughly 10–15% smaller presentation for both case-study pages. */
html {
  overflow-y: scroll;
  scrollbar-gutter: stable;
}

html::-webkit-scrollbar { width: 12px; height: 12px; }
html::-webkit-scrollbar-track { background: #eef0f3; }
html::-webkit-scrollbar-thumb {
  min-height: 48px;
  border: 2px solid #eef0f3;
  border-radius: 8px;
  background: #66758a;
}
html::-webkit-scrollbar-thumb:hover { background: #435471; }

@supports not selector(::-webkit-scrollbar) {
  html { scrollbar-width: auto; scrollbar-color: #66758a #eef0f3; }
}

:is(.case-study-page, .process-page) .inner {
  width: min(100%, 1080px);
}

:is(.case-study-page, .process-page) h2 {
  font-size: clamp(25px, 2.5vw, 36px);
}

:is(.case-study-page, .process-page) .eyebrow {
  gap: 9px;
  margin-bottom: 16px;
  font-size: 14px;
  line-height: 20px;
}

.case-study-page .eyebrow {
  margin-left: -16px;
}

:is(.case-study-page, .process-page) .eyebrow::before {
  flex: 0 0 16px;
  width: 16px;
}

:is(.case-study-page, .process-page) .site-header {
  top: 14px;
  min-height: 78px;
  padding: 12px 20px;
  border-radius: 25px;
}

.case-study-page .site-header {
  container-type: inline-size;
  width: min(610px, calc(100% - 24px));
  max-width: none;
  min-height: 0;
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: min(24px, 3.7855vw);
  padding: min(12px, 1.8928vw) min(20px, 3.1546vw);
  border-radius: min(25px, 3.9432vw);
}
:is(.case-study-page, .process-page) .brand img { width: 138px; }
.case-study-page .brand { flex: 0 0 24.2958%; min-width: 0; }
.case-study-page .brand img { width: 100%; }
.case-study-page .section-nav {
  flex: 1 1 0;
  min-width: 0;
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: 1.4085cqw;
}
.case-study-page .section-nav a {
  flex: 0 0 auto;
  padding: 1.7606cqw;
  font-size: 2.3768cqw;
  line-height: 3.169cqw;
  white-space: nowrap;
}
.process-page .back-link { font-size: 16px; line-height: 24px; }

.case-study-page .body-copy,
.case-study-page :is(.results-summary, .learning, .process-link) p {
  font-size: clamp(17px, 1.46vw, 21px);
}

/* Scale the original side-by-side composition as one proportional card. */
.case-study-page .hero {
  padding-top: clamp(72px, 17.6656vw, 112px);
  padding-inline: clamp(22px, 8.3333vw, 120px);
}
.case-study-page .hero > .inner { container-type: inline-size; }
.case-study-page .project-hero {
  min-height: 0;
  aspect-ratio: 1080 / 600;
  border-radius: 2.3148cqw;
  background-size: cover;
  background-position: left center;
}
.case-study-page .project-hero::before {
  background: linear-gradient(90deg, rgba(1,4,6,0) 25%, rgba(2,6,10,.08) 43%, rgba(2,5,10,.9) 100%);
}
.case-study-page .project-copy {
  top: 50%;
  bottom: auto;
  left: 53%;
  right: 6.5%;
  transform: translateY(-50%);
}
.case-study-page .project-kicker { margin-bottom: 1.6667cqw; font-size: 1.25cqw; line-height: 1.6667cqw; }
.case-study-page .project-copy h1 { font-size: 3.7037cqw; }
.case-study-page .project-copy .lede { margin-top: 2.1296cqw; font-size: 1.713cqw; }
.case-study-page .project-status { margin-top: 2.1296cqw; font-size: 1.1111cqw; line-height: 1.9444cqw; }
.case-study-page .facts { gap: 21px; margin-top: 21px; padding-block: 18px; border-bottom: 0; }
.case-study-page .facts span { margin-bottom: 5px; font-size: 14px; line-height: 21px; }
.case-study-page .facts b { font-size: 18px; line-height: 24px; }

.case-study-page .problem-section { padding-top: 22px; padding-bottom: clamp(28px, 2.78vw, 40px); }
.case-study-page .reading-guide { margin-bottom: clamp(25px, 2.22vw, 32px); }
.case-study-page .reading-guide-title {
  padding-block: clamp(16px, 1.32vw, 19px);
  font-size: clamp(21px, 2.22vw, 32px);
}
.case-study-page .guide-chevron { flex-basis: 26px; width: 26px; }
.case-study-page .reading-guide-content { gap: 23px 32px; padding-bottom: 25px; }
.case-study-page .reading-guide-content h3 { font-size: 18px; }
.case-study-page .reading-guide-content p { font-size: 16px; }
.case-study-page .reading-guide-content a { font-size: 14px; }
.case-study-page .problem-section > .inner > .eyebrow { margin-bottom: 20px; }
.case-study-page .problem-section > .inner > .body-copy { margin-top: clamp(20px, 1.74vw, 25px); }
.case-study-page .approach-section { padding-bottom: 32px; }
.case-study-page .approach-section > .inner > .eyebrow { margin-bottom: 18px; }
.case-study-page .approach-section > .inner > .body-copy { margin-top: 25px; }
.case-study-page .section + .section > .inner { padding-top: 28px; }
.case-study-page .problem-section + .approach-section > .inner { padding-top: clamp(28px, 2.78vw, 40px); }
.case-study-page .hero + .problem-section > .inner { padding-top: 0; }

/* Shared column geometry keeps Approach and Impact aligned. */
.case-study-page .findings-evidence {
  gap: 27px;
  width: calc(100% - 66px);
  margin: 32px 39px 0 27px;
}
.case-study-page .findings-evidence .findings-grid { gap: 19px; }
.case-study-page .findings-evidence .finding { min-height: 202px; padding: 17px; border-radius: 15px; }
.case-study-page .findings-evidence .finding-value { flex-basis: 85px; }
.case-study-page .findings-evidence .finding-value strong { font-size: clamp(54px, 4.65vw, 67px); }
.case-study-page .findings-evidence .finding h3 { font-size: 20px; line-height: 25px; }
.case-study-page .findings-evidence :is(.finding--eligibility, .finding--outdated, .finding--clarity) h3 { font-size: 21.5px; }
.case-study-page .findings-evidence .finding > p { margin-top: 5px; font-size: 17px; }
.case-study-page .findings-evidence .finding-emoji {
  top: -12px;
  right: 5.84%;
  width: 39.26%;
  height: auto;
  max-width: 132px;
}
.case-study-page .findings-evidence .finding--scattered .finding-emoji {
  top: -26px;
  right: -.26%;
  width: 47.48%;
  height: auto;
  max-width: 160px;
}
.case-study-page .findings-evidence .finding--manage .finding-emoji {
  top: -8px;
  right: 6.9%;
  width: 36.87%;
  max-width: 124px;
}
.case-study-page .findings-evidence :is(.finding--outdated, .finding--confidence) .finding-emoji {
  top: -8px;
  right: 7.43%;
  width: 34.48%;
  max-width: 116px;
}
.case-study-page .findings-evidence .finding--clarity .finding-emoji {
  top: -18px;
  right: -.26%;
  width: 47.48%;
  max-width: 160px;
}
.case-study-page .evidence-photos { gap: 21px; }
.case-study-page .evidence-photo { border-radius: 17px; }

.case-study-page .voices-summary { max-width: 900px; margin-top: 23px; font-size: 16px; }
.case-study-page .student-voices { margin-top: 18px; padding-top: 28px; }
.case-study-page .voices-header .eyebrow { margin-bottom: 0; }
.case-study-page :is(.voices-list, .impact-voices-list) { gap: 23px; margin-top: 16px; }
.case-study-page :is(.voice, .impact-voice) { padding-left: 16px; }
.case-study-page :is(.voice, .impact-voice) p { font-size: 16px; }
.case-study-page :is(.voice, .impact-voice) span { font-size: 14px; line-height: 22px; }
.case-study-page .impact-voices { margin-top: 40px; padding-top: 22px; }

.case-study-page .solution-section { padding-bottom: 23px; }
.case-study-page .solution-section .eyebrow { margin-bottom: 9px; }
.case-study-page .screen-carousel {
  --screen-height: clamp(644px, 89.7svh, 828px);
  --arrow-size: 56px;
  margin-top: 32px;
}
.case-study-page .screen-carousel-stage {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto auto minmax(0, 1fr);
  max-width: 960px;
  gap: 24px clamp(32px, 5vw, 72px);
}
.case-study-page .screen-image-stage {
  grid-column: 2;
  grid-row: 1 / 5;
  justify-self: center;
  align-self: center;
  width: min(100%, calc(var(--screen-height) * 483 / 974));
  height: auto;
  aspect-ratio: 483 / 974;
}
.case-study-page .screen-image-stage img { width: 100%; height: 100%; }
.case-study-page .screen-arrow svg { width: 26px; height: 26px; }
.case-study-page .screen-controls {
  grid-column: 1;
  grid-row: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  max-width: 440px;
  min-width: 0;
}
.case-study-page .screen-controls .screen-arrow { flex: 0 0 var(--arrow-size); }
.case-study-page .screen-dots { flex: 0 0 auto; margin: 0; }
.case-study-page .screen-dot { width: 44px; height: 44px; }
.case-study-page .screen-caption {
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  max-width: 440px;
  min-height: 160px;
  text-align: left;
}
.case-study-page .screen-caption h3 { margin-bottom: 16px; font-size: 36.8px; line-height: 1.2; }
.case-study-page .screen-caption p { font-size: 24.15px; line-height: 1.55; }
.case-study-page .impact-section > .inner > .eyebrow { margin-bottom: 8px; }
.case-study-page .impact-section > .inner > .body-copy { margin-top: 24px; }
.case-study-page :is(.results-summary, .learning, .process-link) { margin-top: 32px; padding-top: 25px; }
.case-study-page :is(.results-summary, .learning, .process-link) h3 { font-size: clamp(23px, 1.875vw, 27px); }
.case-study-page .results-summary-copy { grid-template-columns: 50px minmax(0, 1fr); gap: 18px; margin-top: 22px; }
.case-study-page .results-summary-badge { width: 46px; }
.case-study-page .learning { margin-top: 23px; }
.case-study-page .process-link { padding-bottom: 28px; }
.case-study-page .process-link a { margin-top: 16px; font-size: 22px; }

/* Closing navigation; destinations will be connected when URLs are supplied. */
.case-study-page .case-study-footer {
  padding: 24px clamp(22px, 8.3333vw, 120px) 40px;
}
.case-study-page .closing-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 28px;
  padding: clamp(24px, 2.5vw, 36px);
  border-radius: 22px;
  background: var(--navy);
  color: #fff;
}
.case-study-page .closing-copy { flex: 1 1 280px; min-width: 0; }
.case-study-page .closing-card h2 {
  font-size: clamp(25px, 2.22vw, 32px);
  line-height: 1.2;
}
.case-study-page .closing-copy p {
  max-width: 34ch;
  margin-top: 12px;
  color: #e3eafa;
  font-size: 18px;
  line-height: 1.5;
}
.case-study-page .closing-navigation { flex: 1 1 430px; min-width: 0; }
.case-study-page .closing-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.case-study-page .closing-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 100%;
  min-height: 52px;
  padding: 14px 18px;
  border: 1px solid #fff;
  border-radius: 12px;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
}
.case-study-page .closing-button--primary { background: #fff; color: var(--navy); }
.case-study-page .closing-button--secondary { background: transparent; color: #fff; }
.case-study-page .closing-button:disabled { opacity: 1; cursor: not-allowed; }
.case-study-page .closing-links-note { margin-top: 12px; color: #cbd8ee; font-size: 14px; line-height: 1.5; }

/* Ideation retains every section, table, note, and placeholder. */
.process-page .ideation-section { padding-top: 40px; padding-bottom: 43px; }
.process-page .process-top-return { margin-bottom: 28px; }
.process-page :is(.affinity-map, .brain-dump) { margin-top: 36px; padding-top: 25px; }
.process-page :is(.affinity-map, .brain-dump) h3 { font-size: 25px; }
.process-page :is(.affinity-map-lede, .brain-dump-intro) { margin: 12px 0 23px; font-size: 18.5px; }
.process-page .research-themes { margin-top: 25px; }
.process-page .research-themes table { font-size: 16px; }
.process-page .research-themes :is(td, th) { padding: 18px 16px; }
.process-page .brain-dump-board { gap: 32px; padding: 28px; }
.process-page .brain-dump-group h4 { margin-bottom: 21px; font-size: 18.5px; }
.process-page .brain-dump-notes { gap: 23px 18px; }
.process-page .brain-dump-notes li,
.process-page .worst-idea-board li { padding: 25px 16px 16px; font-size: 15.5px; }
.process-page .brain-dump-notes li::before { top: -9px; left: calc(50% - 25px); width: 50px; height: 20px; }
.process-page .worst-idea-board { gap: 23px 18px; padding: 36px 28px 28px; }
.process-page .worst-idea-board li { padding-top: 36px; }
.process-page .worst-idea-board li::before { top: 7px; left: calc(50% - 8px); width: 16px; height: 16px; }
.process-page :is(.brain-dump-notes, .worst-idea-board) .note--clear-lines { padding-inline: 9px; }
.process-page .brain-dump-notes .note--interests-fit { padding-inline: 5px; }
.process-page .worst-idea-board .worst-idea--phrases { padding-inline: 11px; }
.process-page .worst-idea-board .worst-idea--long { padding-inline: 12px; }
.process-page .idea-journey { gap: 21px; padding-block: 18px; font-size: 18px; }
.process-page .idea-journey li:not(:last-child)::after { margin-left: 21px; }
.process-page .early-design-images { gap: 21px; }
.process-page .early-design-placeholder { padding: 21px; font-size: 16px; }
.process-page .early-design-images figcaption { margin-top: 12px; font-size: 16px; }
.process-page .process-return { width: min(1080px, calc(100% - 40px)); padding-bottom: 57px; }
.process-page .process-return a { margin-top: 16px; font-size: 16px; }

.process-page a.case-return-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  min-height: 60px;
  margin-top: 0;
  padding: 16px 26px;
  border: 1px solid var(--navy);
  border-radius: 12px;
  background: var(--navy);
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  transition: background-color .2s ease, border-color .2s ease;
}
.process-page a.case-return-button:hover {
  background: #183c7d;
  border-color: #183c7d;
}
.process-page .process-return { padding-top: 24px; }

@media (max-width: 1200px) {
  .case-study-page .findings-evidence { width: 100%; margin-inline: 0; gap: 21px; }
  .case-study-page .findings-evidence .finding-value strong { font-size: 60px; }
  .case-study-page .findings-evidence .finding h3 { font-size: 19px; }
}

@media (max-width: 1000px) {
  .case-study-page .findings-evidence .finding { min-height: 192px; padding: 14px; }
  .case-study-page .findings-evidence .finding-value strong { font-size: 54px; }
  .case-study-page .evidence-photo,
  .case-study-page .evidence-photo:nth-child(2) { min-height: 267px; }
}

@media (max-width: 760px) {
  .process-page .site-header {
    top: 8px;
    min-height: 0;
    gap: 7px 14px;
    padding: 9px 12px;
    border-radius: 20px;
  }
  .case-study-page .site-header { top: 8px; }
  .process-page .brand img { width: 112px; }
  .case-study-page .eyebrow { margin-left: 0; font-size: 12px; }
  .case-study-page .facts { gap: 19px; }
  .case-study-page .facts b { font-size: 16px; }
  .case-study-page .reading-guide-title { font-size: 21px; }
  .case-study-page .guide-chevron { flex-basis: 20px; width: 20px; }
  .case-study-page .findings-evidence,
  .case-study-page .findings-evidence--impact { gap: 21px; margin-top: 25px; }
  .case-study-page .findings-evidence .findings-grid { gap: 14px; }
  .case-study-page .findings-evidence .finding { min-height: 194px; padding: 16px; }
  .case-study-page .findings-evidence .finding-value strong { font-size: 60px; }
  .case-study-page .findings-evidence .finding > p { font-size: 16px; }
  .case-study-page .findings-evidence .finding-emoji { min-width: 100px; }
  .case-study-page .findings-evidence :is(.finding--scattered, .finding--clarity) .finding-emoji { min-width: 116px; }
  .case-study-page .evidence-photos { gap: 16px; }
  .case-study-page .evidence-photo,
  .case-study-page .evidence-photo:nth-child(2) { min-height: 0; }
  .case-study-page :is(.student-voices, .impact-voices) { margin-top: 25px; padding-top: 21px; }
  .case-study-page .results-summary-copy { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; margin-top: 16px; }
  .case-study-page .results-summary-badge { width: 36px; }
  .case-study-page .process-link a { font-size: 19px; }
  .process-page .ideation-section { padding: 28px 22px 32px; }
  .process-page .process-top-return { margin-bottom: 24px; }
  .process-page :is(.affinity-map, .brain-dump) { margin-top: 25px; padding-top: 21px; }
  .process-page .brain-dump-board { gap: 25px; padding: 21px; }
  .process-page .worst-idea-board { padding-top: 36px; }
  .process-page .brain-dump-notes li,
  .process-page .worst-idea-board li { font-size: 16px; }
}

@media (max-width: 820px) {
  .case-study-page .screen-carousel { --screen-height: 736px; --arrow-size: 52px; margin-top: 28px; }
  .case-study-page .screen-carousel-stage {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: 24px;
  }
  .case-study-page .screen-image-stage { grid-column: 1; grid-row: 1; }
  .case-study-page .screen-caption {
    grid-column: 1;
    grid-row: 2;
    justify-self: center;
    min-height: 140px;
    text-align: center;
  }
  .case-study-page .screen-caption h3 { font-size: 31.05px; margin-bottom: 12px; }
  .case-study-page .screen-caption p { font-size: 20.7px; }
  .case-study-page .screen-controls { grid-column: 1; grid-row: 3; justify-self: center; justify-content: center; }
}

@media (max-width: 360px) {
  .case-study-page .screen-carousel { --arrow-size: 48px; }
  .case-study-page .screen-controls { gap: 4px; }
  .case-study-page .screen-dot { width: 10vw; }
}

@media (max-width: 400px) {
  .case-study-page .findings-evidence .finding-value strong { font-size: 54px; }
  .case-study-page .findings-evidence .finding-emoji { right: 0; }
  .case-study-page .findings-evidence .finding--scattered .finding-emoji { right: -7px; }
}
