.project-page { background: #fff; color: #19191b; }
.case-page { padding-top: 86px; }
.case-page [id] { scroll-margin-top: 110px; }
.case-skip { position: fixed; top: 12px; left: 20px; z-index: 100; transform: translateY(-180%); padding: 12px 18px; background: #fff; color: #111; }
.case-skip:focus { transform: none; }
.case-navigation { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 24px 40px; padding-block: 25px; border-bottom: 1px solid #dedee0; }
.case-navigation--dark { background: #050505; color: #ddd8cd; border-color: #292824; }
.case-navigation a, .case-footer a { font-size: 11px; line-height: 1.7; text-transform: uppercase; }
.case-index { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.case-index a { text-decoration: none; }
.case-index a:hover { text-decoration: underline; }
.case-index-label { font-size: 11px; line-height: 1.65; text-transform: uppercase; color: #696b70; }
.case-intro-heading { padding-block: 58px 48px; }
.case-intro-heading h1 { margin: 28px 0 0; font-size: 94px; line-height: 1.02; font-weight: 450; text-transform: uppercase; }
.case-intro-heading .case-subtitle { margin-top: 18px; font-size: 17px; line-height: 1.5; text-transform: uppercase; }
.case-intro-summary { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 100px; margin-top: 40px; }
.case-intro-summary > p { max-width: 660px; font-size: 26px; line-height: 1.55; }
.case-wide-image img { display: block; width: 100%; height: auto; }
.case-wide-image figcaption { font-size: 10px; line-height: 1.65; text-transform: uppercase; padding-block: 18px; color: #6a6b70; }
.case-text-section { padding-block: 88px; }
.case-text-section > .case-index-label { margin-bottom: 34px; }
.case-text-section h2 { font-size: 54px; line-height: 1.08; font-weight: 450; }
.case-editorial-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 80px; align-items: start; }
.case-prose { font-size: 18px; line-height: 1.75; max-width: 520px; color: #55575d; }
.case-prose p + p { margin-top: 24px; }
.pixel-system { background: #f0f2f3; }
.pixel-case .pixel-system-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 50px; margin-top: 56px; }
.pixel-system-steps li { border-top: 1px solid #c7cbd0; padding-top: 20px; }
.pixel-system-steps h3 { font-size: 25px; line-height: 1.3; margin-block: 20px 16px; }
.pixel-system-steps p { font-size: 16px; line-height: 1.75; max-width: 350px; color: #55575d; }
.case-text-section .case-role { margin-top: 28px; font-size: 11px; line-height: 1.65; text-transform: uppercase; }
.case-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 24px 40px; padding-block: 32px; background: #fff; color: #19191b; border-top: 1px solid #dedee0; }
.case-footer a { padding-block: 10px; }
.gob-case.case-page { background: #050505; }
.gob-product { background: #fff; border-top: 1px solid var(--gob-rule); }
.gob-product .gob-body-copy { max-width: 590px; }
.gob-product .gob-screen--lab { margin-top: 0; width: 90%; }

@media (min-width: 1700px) {
  .case-intro-heading h1 { font-size: 112px; }
  .case-text-section h2 { font-size: 66px; }
}
@media (max-width: 1100px) {
  .case-intro-heading h1 { font-size: 76px; }
  .case-intro-summary, .case-editorial-grid { gap: 48px; }
  .case-text-section h2 { font-size: 43px; }
  .pixel-case .pixel-system-steps { gap: 28px; }
}
@media (max-width: 760px) {
  .case-page { padding-top: 112px; }
  .case-navigation { padding-block: 20px; gap: 18px; }
  .case-index { gap: 10px 18px; }
  .case-index a { font-size: 10px; }
  .case-intro-heading { padding-block: 42px 36px; }
  .case-intro-heading h1 { font-size: 54px; margin-top: 22px; }
  .case-intro-heading .case-subtitle { font-size: 14px; }
  .case-intro-summary { grid-template-columns: 1fr; gap: 30px; margin-top: 30px; }
  .case-intro-summary > p { font-size: 22px; }
  .case-text-section { padding-block: 58px; }
  .case-text-section > .case-index-label { margin-bottom: 24px; }
  .case-text-section h2 { font-size: 37px; }
  .case-editorial-grid { grid-template-columns: 1fr; gap: 28px; }
  .case-prose { font-size: 17px; }
  .pixel-case .pixel-system-steps { grid-template-columns: 1fr; gap: 32px; margin-top: 36px; }
  .pixel-system-steps h3 { font-size: 23px; }
  .pixel-system-steps p { max-width: none; }
  .gob-product .gob-screen--lab { width: 100%; }
}
@media (max-width: 400px) {
  .case-intro-heading h1 { font-size: 43px; }
  .case-text-section h2 { font-size: 32px; }
}
