:root {
  --ink: #151515;
  --paper: #f6f6f3;
  --surface: #ffffff;
  --muted: #666760;
  --line: rgba(21, 21, 21, .12);
  --signal: #ff7d32;
  --signal-soft: #fff0e6;
  --dark: #1d1d1d;
  --radius: 26px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 16px/1.55 Inter, Arial, sans-serif; }
body.case-page { overflow-x: hidden; }
a { color: inherit; }
img { max-width: 100%; }
button, input, textarea { font: inherit; }
.case-wrap { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.case-kicker { display: inline-flex; align-items: center; gap: 9px; color: var(--signal); font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.case-kicker::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 6px color-mix(in srgb, currentColor 18%, transparent); }
.case-section { padding: 88px 0; }
.case-section-head { display: block; max-width: 980px; margin-bottom: 44px; }
.case-section-head h2, .case-title, .case-cta-copy h2 { margin: 0; font-family: Manrope, Inter, sans-serif; font-weight: 800; letter-spacing: -.067em; text-wrap: balance; }
.case-section-head h2 { margin-top: 17px; font-size: clamp(40px, 4.5vw, 64px); line-height: 1.04; }
.case-section-head p { max-width: 720px; margin: 20px 0 0; color: var(--muted); font-size: 18px; line-height: 1.62; }

.case-hero { position: relative; padding: 54px 0 0; overflow: hidden; background: #fff; }
.case-back { display: inline-flex; align-items: center; gap: 9px; color: #777; font-size: 14px; font-weight: 600; text-decoration: none; }
.case-back::before { content: "←"; color: var(--signal); }
.case-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 32px 0 26px; }
.case-tags span { padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; color: #555; background: #fff; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.case-tags span:first-child { border-color: var(--signal); background: var(--signal); color: #171717; }
.case-hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: 72px; align-items: end; }
.case-hero-grid > div:first-child { padding-bottom: 44px; }
.case-title { max-width: 830px; font-size: clamp(48px, 5.2vw, 76px); line-height: 1.01; letter-spacing: -.058em; }
.case-title em { color: var(--signal); font-style: normal; }
.case-lead { max-width: 690px; margin: 28px 0 0; color: var(--muted); font-size: 20px; line-height: 1.6; }
.case-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
.case-button { display: inline-flex; min-height: 54px; padding: 13px 23px; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 999px; background: var(--dark); color: #fff; font-weight: 700; text-decoration: none; transition: transform .18s ease, background-color .18s ease, color .18s ease; }
.case-button:hover { background: var(--signal); color: #171717; }
.case-button:active { transform: scale(.975); }
.case-button.secondary { border-color: var(--line); background: transparent; color: var(--ink); }
.case-button.secondary:hover { border-color: var(--signal); background: var(--signal-soft); }
.case-hero-visual { position: relative; min-height: 540px; margin: 0; border-radius: 32px 32px 0 0; overflow: hidden; background: #171717; box-shadow: 0 28px 70px rgba(0, 0, 0, .15); }
.case-hero-visual img { display: block; width: 100%; height: 100%; min-height: 540px; object-fit: cover; object-position: top center; }
.case-hero-visual figcaption { position: absolute; right: 18px; bottom: 18px; left: 18px; padding: 13px 16px; border: 1px solid rgba(255,255,255,.2); border-radius: 14px; background: rgba(15,15,15,.72); color: #fff; font-size: 12px; backdrop-filter: blur(14px); }
.case-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 0; border-top: 1px solid var(--line); background: #fff; }
.case-metrics article { min-height: 180px; padding: 38px 26px; border-right: 1px solid var(--line); }
.case-metrics article:last-child { border-right: 0; }
.case-metrics strong { display: block; color: var(--signal); font: 800 40px/1 Manrope, Inter, sans-serif; letter-spacing: -.07em; }
.case-metrics b { display: block; margin-top: 12px; font-size: 15px; }
.case-metrics small { display: block; margin-top: 5px; color: #888; font-size: 12px; line-height: 1.5; }

.case-context { background: var(--dark); color: #fff; }
.case-context .case-section-head p { color: #b9b9b9; }
.case-context-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.case-context-grid article { min-height: 0; padding: 28px; border: 1px solid rgba(255,255,255,.075); border-radius: 22px; background: rgba(255,255,255,.035); }
.case-context-grid span { color: var(--signal); font-size: 12px; font-weight: 800; }
.case-context-grid h3 { margin: 26px 0 10px; font: 800 24px/1.18 Manrope, Inter, sans-serif; letter-spacing: -.045em; }
.case-context-grid p { margin: 0; color: #b8b8b8; font-size: 15px; }

.case-insight { background: #eeeef0; }
.case-quote { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 70px; align-items: end; padding: 54px; border-radius: var(--radius); background: var(--signal); }
.case-quote blockquote { margin: 0; font: 800 clamp(30px, 4vw, 54px)/1.08 Manrope, Inter, sans-serif; letter-spacing: -.06em; }
.case-quote div { font-size: 16px; line-height: 1.65; }
.case-quote b { display: block; margin-bottom: 12px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }

.case-solution { background: #fff; }
.case-solution-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.case-solution-grid article { display: flex; min-height: 250px; flex-direction: column; padding: 26px; border: 1px solid transparent; border-radius: 22px; background: #f0f0ed; }
.case-solution-grid article:first-child { border-color: var(--signal); background: var(--signal); }
.case-solution-grid i { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(0,0,0,.15); border-radius: 12px; font-style: normal; font-weight: 800; }
.case-solution-grid h3 { margin: 30px 0 11px; font: 800 22px/1.17 Manrope, Inter, sans-serif; letter-spacing: -.045em; }
.case-solution-grid p { margin: 0; color: #686868; font-size: 14px; }
.case-solution-grid article:first-child p { color: #392417; }

.case-flow { background: var(--paper); }
.case-flow-list { border-top: 1px solid var(--line); }
.case-flow-list article { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 22px; padding: 28px 0; align-items: center; border-bottom: 1px solid var(--line); }
.case-flow-list i { color: var(--signal); font: 800 13px/1 Inter, sans-serif; font-style: normal; }
.case-flow-list b { display: block; font: 700 20px/1.3 Manrope, Inter, sans-serif; letter-spacing: -.035em; }
.case-flow-list small { display: block; max-width: 690px; margin-top: 6px; color: var(--muted); font-size: 14px; }
.case-flow-list span { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 11px; font-weight: 700; }

.case-proof { background: #fff; }
.case-before-after { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.case-before-after article { padding: 38px; border-radius: var(--radius); background: #eeeef0; }
.case-before-after article:last-child { background: var(--dark); color: #fff; }
.case-before-after h3 { margin: 0 0 28px; font: 800 28px/1 Manrope, Inter, sans-serif; letter-spacing: -.055em; }
.case-before-after ul { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; }
.case-before-after li { position: relative; padding-left: 28px; }
.case-before-after li::before { position: absolute; left: 0; content: "×"; color: #929292; font-weight: 800; }
.case-before-after article:last-child li::before { content: "✓"; color: var(--signal); }

.case-recognition { background: #eeeef0; }
.case-recognition-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.case-recognition-list li { min-height: 0; padding: 24px 26px 24px 58px; border: 1px solid rgba(0,0,0,.055); border-radius: 18px; background: #fff; list-style: none; position: relative; font-size: 17px; font-weight: 600; }
.case-recognition-list li::before { position: absolute; left: 25px; top: 25px; content: "↗"; color: var(--signal); font-weight: 800; }

.case-fit { background: #fff; }
.case-fit-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 18px; }
.case-fit-card { padding: 44px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.case-fit-card.accent { border: 0; background: var(--signal); }
.case-fit-card h3 { margin: 0 0 20px; font: 800 30px/1.1 Manrope, Inter, sans-serif; letter-spacing: -.055em; }
.case-fit-card ul { display: grid; gap: 14px; margin: 0; padding-left: 20px; }
.case-offer { display: grid; gap: 12px; margin-top: 32px; }
.case-offer div { display: flex; justify-content: space-between; gap: 24px; padding-top: 14px; border-top: 1px solid rgba(0,0,0,.16); }
.case-offer span { font-weight: 600; }
.case-offer strong { text-align: right; }
.case-fit-card .case-button { width: 100%; margin-top: 36px; }

.case-cta { padding: 0 0 18px; background: #fff; color: #fff; }
.case-cta-panel { position: relative; display: grid; width: min(1280px, calc(100% - 48px)); min-height: 610px; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 72px; align-items: stretch; padding: 68px; overflow: hidden; border-radius: 34px; background: #181818; }
.case-cta-panel::before { position: absolute; bottom: -180px; left: -160px; width: 520px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(255,146,82,.48), rgba(255,146,82,0) 68%); content: ""; pointer-events: none; }
.case-cta-copy, .case-lead-form { position: relative; z-index: 1; }
.case-cta-copy { display: flex; min-width: 0; flex-direction: column; }
.case-cta-copy h2 { max-width: 650px; margin-top: 20px; font-size: clamp(48px, 5vw, 70px); line-height: 1.07; }
.case-cta-copy > p { max-width: 500px; margin: 26px 0 0; color: #b8b8b8; font-size: 17px; line-height: 1.55; }
.case-telegram-cta { margin-top: auto; padding-top: 48px; }
.case-telegram-cta span { display: block; margin-bottom: 13px; color: #999; font-size: 14px; }
.case-telegram-cta a { display: flex; min-height: 60px; padding: 0 22px; align-items: center; justify-content: flex-start; border: 1px solid rgba(255,146,82,.75); border-radius: 999px; color: #fff; font-size: 15px; font-weight: 600; text-decoration: none; transition: transform .18s ease, background-color .18s ease, color .18s ease; }
.case-telegram-cta a:hover { background: var(--signal); color: #151515; }
.case-telegram-cta a:active { transform: scale(.985); }
.case-lead-form { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0,1fr)); grid-template-rows: 62px 62px 200px minmax(36px,1fr) 60px; gap: 12px; align-self: stretch; padding: 0; border: 0; border-radius: 0; background: transparent; color: #fff; box-shadow: none; }
.case-lead-form label { display: block; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.case-lead-form .case-field-label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.case-lead-form .case-field-label:nth-of-type(3), .case-lead-form .case-field-label:nth-of-type(4), .case-lead-form .consent, .case-lead-form button, .case-form-status { grid-column: 1 / -1; }
.case-lead-form input:not([type="checkbox"]), .case-lead-form textarea { width: 100%; margin: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: #f7f7f7; color: #151515; font: 400 15px/1.35 Inter,Arial,sans-serif; outline: none; transition: background-color .18s ease, box-shadow .18s ease; }
.case-lead-form input:not([type="checkbox"]) { height: 62px; padding: 0 20px; }
.case-lead-form textarea { height: 200px; min-height: 200px; padding: 18px 20px; resize: vertical; }
.case-lead-form input:focus, .case-lead-form textarea:focus { border-color: var(--signal); box-shadow: 0 0 0 4px rgba(255,146,82,.38); }
.case-lead-form input::placeholder, .case-lead-form textarea::placeholder { color: #858585; }
.case-lead-form .consent { display: flex; align-self: end; gap: 11px; align-items: center; color: #aaa; font-size: 13px; font-weight: 400; }
.case-lead-form .consent input { width: 20px; height: 20px; margin: 0; flex: 0 0 auto; accent-color: var(--signal); }
.case-lead-form .consent a { color: var(--signal); }
.case-lead-form button { min-height: 60px; border: 0; border-radius: 999px; background: var(--signal); color: #151515; font-size: 16px; font-weight: 700; cursor: pointer; transition: transform .18s ease, background-color .18s ease, color .18s ease; }
.case-lead-form button:hover { background: #fff; color: #151515; }
.case-lead-form button:active { transform: scale(.985); }
.case-lead-form button:disabled { opacity: .55; cursor: wait; }
.case-form-status { min-height: 0; margin: 0; color: #fff; font-size: 13px; }
.case-form-status:empty { display: none; }
.case-form-status.is-error { color: #b3261e; }
.case-form-status.is-success { color: #18753c; }
.form-honeypot { display: none !important; }

body[data-case="standoff"] .case-hero-visual img { object-fit: contain; padding: 28px; background: #eef3fa; }
body[data-case="mining"] .case-hero-visual img { object-fit: contain; padding: 20px; background: #12275f; }
body[data-case="ps-store"] .case-hero-visual img { object-fit: contain; padding: 18px; background: #33466e; }
body[data-case="zap"] .case-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr); gap: 64px; }
body[data-case="zap"] .case-title { max-width: 760px; font-size: clamp(44px, 4.5vw, 64px); }
body[data-case="zap"] .case-hero-visual img { object-fit: contain; padding: 18px; background: #f7f7f5; }

/* Real project media: brand-led hero, followed by readable product evidence. */
body[data-case="garden-school"] .case-hero-visual,
body[data-case="standoff365"] .case-hero-visual,
body[data-case="ps-store"] .case-hero-visual,
body[data-case="zap"] .case-hero-visual { background: #242424; }
body[data-case="garden-school"] .case-hero-visual img,
body[data-case="standoff365"] .case-hero-visual img,
body[data-case="ps-store"] .case-hero-visual img,
body[data-case="atradi"] .case-hero-visual img { object-fit: cover; padding: 0; }
body[data-case="mining"] .case-hero-visual img { object-fit: cover; padding: 0; background: #0e0e0e; }
body[data-case="ps-store"] .case-hero-visual { background: #252525; }
body[data-case="ps-store"] .case-hero-visual img { object-fit: contain; padding: 22px; background: #252525; }
body[data-case="zap"] .case-hero-visual { background: #aafa00; }
body[data-case="zap"] .case-hero-visual img { object-fit: contain; padding: 54px; background: transparent; }
body[data-case="atradi"] .case-hero-visual { background: #fff; }

.case-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.case-gallery-grid.gallery-count-3 figure:first-child { grid-column: 1 / -1; }
.case-gallery-grid.gallery-count-1 { grid-template-columns: 1fr; }
.case-gallery-grid figure { margin: 0; overflow: hidden; border: 1px solid rgba(21,21,21,.08); border-radius: 24px; background: #ededed; box-shadow: 0 12px 34px rgba(21,21,21,.06); }
.case-gallery-grid img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #111; }
.case-gallery-grid figcaption { display: flex; min-height: 68px; gap: 14px; align-items: center; padding: 18px 20px; color: #555; font-size: 14px; line-height: 1.4; }
.case-gallery-grid figcaption span { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: #151515; color: #fff; font-size: 11px; font-weight: 800; }

/* Editorial card rhythm: each part of a case is a distinct, calm reading surface. */
.case-hero { padding-bottom: 32px; }
.case-section { padding: 32px 0; background: transparent; }
.case-section > .case-wrap { padding: 68px; border-radius: 34px; background: #fff; }
.case-section-head { max-width: 860px; margin-bottom: 54px; }
.case-section-head h2 { max-width: 780px; }
.case-section-head p { max-width: 660px; }

.case-metrics { gap: 18px; margin-top: 56px; border: 0; background: transparent; }
.case-metrics article { min-height: 188px; padding: 32px 28px; border: 1px solid rgba(21,21,21,.08); border-radius: 22px; background: var(--paper); }
.case-metrics article:last-child { border: 1px solid rgba(21,21,21,.08); }

/* Reading rhythm: a case gets a short, human narrative before the structured evidence. */
.case-story { background: transparent; }
.case-story > .case-wrap { background: #fff; }
.case-story-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); gap: clamp(42px, 7vw, 108px); align-items: start; }
.case-story h2 { max-width: 500px; margin: 18px 0 0; font: 800 clamp(36px, 3.6vw, 54px)/1.07 Manrope, Inter, sans-serif; letter-spacing: -.06em; text-wrap: balance; }
.case-story-copy { max-width: 660px; padding-top: 5px; }
.case-story-copy p { margin: 0; color: #4d4e4a; font-size: 18px; line-height: 1.7; }
.case-story-copy p + p { margin-top: 22px; }
.case-hero-visual figcaption { font-weight: 600; }

.case-context { background: transparent; }
.case-context > .case-wrap { background: var(--dark); color: #fff; }
.case-context-grid { gap: 18px; }
.case-context-grid article { min-height: 268px; padding: 34px; border-color: rgba(255,255,255,.10); border-radius: 24px; background: rgba(255,255,255,.055); }
.case-context-grid h3 { margin-top: 48px; }

.case-insight { background: transparent; }
.case-insight > .case-wrap { background: #eeeef0; }
.case-quote { gap: 58px; padding: 58px; border-radius: 28px; background: var(--signal); }

.case-solution { background: transparent; }
.case-solution-grid { gap: 18px; }
.case-solution-grid article { min-height: 292px; padding: 32px; border: 1px solid rgba(21,21,21,.07); border-radius: 24px; background: var(--paper); }
.case-solution-grid article:first-child { border-color: var(--signal); }
.case-solution-grid h3 { margin-top: 38px; }

.case-flow { background: transparent; }
.case-flow > .case-wrap { background: #eeeef0; }
.case-flow-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; border: 0; }
.case-flow-list article { min-height: 180px; grid-template-columns: 52px minmax(0, 1fr); gap: 18px; padding: 32px; align-items: start; border: 0; border-radius: 24px; background: #fff; }
.case-flow-list b { font-size: 21px; }
.case-flow-list small { margin-top: 10px; font-size: 15px; line-height: 1.55; }
.case-flow-list span { display: none; }

.case-proof { background: transparent; }
.case-before-after { gap: 20px; }
.case-before-after article { min-height: 320px; padding: 44px; border-radius: 26px; }
.case-before-after ul { gap: 21px; }

.case-recognition { background: transparent; }
.case-recognition > .case-wrap { background: #eeeef0; }
.case-recognition-list { gap: 16px; }
.case-recognition-list li { min-height: 108px; padding: 29px 30px 29px 66px; border: 0; border-radius: 22px; box-shadow: 0 12px 30px rgba(21,21,21,.035); }
.case-recognition-list li::before { left: 29px; top: 29px; }

.case-fit { background: transparent; }
.case-fit-grid { gap: 20px; }
.case-fit-card { min-height: 398px; padding: 48px; border-radius: 28px; }
.case-fit-card ul { gap: 17px; }
.case-offer { gap: 15px; }

.case-context-grid article, .case-solution-grid article, .case-flow-list article, .case-recognition-list li, .case-before-after article, .case-fit-card { transition: transform .2s ease, box-shadow .2s ease; }
@media (hover: hover) {
  .case-context-grid article:hover, .case-solution-grid article:hover, .case-flow-list article:hover, .case-recognition-list li:hover, .case-before-after article:hover, .case-fit-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(21,21,21,.08); }
}

@media (max-width: 900px) {
  .case-hero { padding-bottom: 22px; }
  .case-section { padding: 22px 0; }
  .case-section > .case-wrap { padding: 46px 38px; border-radius: 28px; }
  .case-section-head { margin-bottom: 40px; }
  .case-hero-grid, .case-quote, .case-cta-panel { grid-template-columns: 1fr; gap: 34px; }
  .case-hero-grid { align-items: start; }
  .case-hero-visual { min-height: 430px; border-radius: 28px 28px 0 0; }
  .case-hero-visual img { min-height: 430px; }
  .case-metrics, .case-solution-grid { grid-template-columns: 1fr 1fr; }
  .case-metrics article:nth-child(2), .case-solution-grid article:nth-child(2) { border-right: 0; }
  .case-metrics article:nth-child(n+3) { border-top: 1px solid var(--line); }
  .case-metrics article:nth-child(n+3) { border-top: 1px solid rgba(21,21,21,.08); }
  .case-context-grid, .case-solution-grid, .case-flow-list { gap: 14px; }
  .case-story-grid { grid-template-columns: 1fr; gap: 28px; }
  .case-story-copy { max-width: 720px; }
  .case-gallery-grid { gap: 14px; }
  .case-context-grid article, .case-solution-grid article { min-height: 220px; padding: 28px; }
  .case-flow-list article { min-height: 155px; padding: 26px; }
  .case-before-after article { min-height: 0; padding: 34px; }
  .case-fit-card { min-height: 0; padding: 36px; }
  .case-context-grid { grid-template-columns: 1fr; }
  .case-context-grid article { min-height: 0; padding: 26px; }
  .case-context-grid h3 { margin-top: 24px; }
  body[data-case="zap"] .case-hero-grid { gap: 42px; }
  .case-cta-panel { min-height: 0; grid-template-columns: 1fr; gap: 44px; padding: 42px 24px; border-radius: 26px; }
  .case-telegram-cta { margin-top: 38px; padding: 0; }
  .case-telegram-cta a { justify-content: center; text-align: center; }
  .case-lead-form { grid-template-columns: 1fr; grid-template-rows: none; align-self: auto; }
  .case-lead-form .case-field-label, .case-lead-form .consent, .case-lead-form button, .case-form-status { grid-column: 1 !important; }
  .case-lead-form input:not([type="checkbox"]) { height: 58px; }
  .case-lead-form textarea { height: 174px; min-height: 174px; }
}

@media (max-width: 620px) {
  .case-wrap { width: calc(100% - 32px); }
  .case-section { padding: 14px 0; }
  .case-section > .case-wrap { padding: 34px 24px; border-radius: 24px; }
  .case-hero { padding-top: 34px; }
  .case-hero { padding-bottom: 14px; }
  .case-tags { margin-top: 25px; }
  .case-title { font-size: 45px; line-height: 1.01; }
  .case-lead { font-size: 17px; }
  .case-hero-actions { flex-direction: column; align-items: stretch; }
  .case-hero-visual { min-height: 360px; }
  .case-hero-visual img { min-height: 360px; }
  .case-metrics { grid-template-columns: 1fr 1fr; }
  .case-metrics article { min-height: 145px; padding: 24px 16px; }
  .case-metrics strong { font-size: 31px; }
  .case-section-head { margin-bottom: 34px; }
  .case-section-head h2 { margin-top: 16px; font-size: 38px; line-height: 1.07; }
  .case-section-head p { margin-top: 20px; font-size: 16px; }
  .case-story h2 { font-size: 39px; }
  .case-story-copy p { font-size: 16px; line-height: 1.65; }
  .case-quote { padding: 30px 24px; border-radius: 21px; }
  .case-solution-grid, .case-flow-list, .case-before-after, .case-recognition-list, .case-fit-grid { grid-template-columns: 1fr; }
  .case-gallery-grid { grid-template-columns: 1fr; }
  .case-gallery-grid.gallery-count-3 figure:first-child { grid-column: auto; }
  .case-gallery-grid figure { border-radius: 18px; }
  .case-gallery-grid figcaption { min-height: 62px; padding: 15px 16px; font-size: 13px; }
  .case-solution-grid article, .case-flow-list article { min-height: 0; }
  .case-context-grid article, .case-solution-grid article, .case-flow-list article { padding: 26px 22px; }
  .case-context-grid h3 { margin-top: 34px; }
  .case-flow-list article { grid-template-columns: 42px 1fr; }
  .case-flow-list span { display: none; }
  .case-before-after article, .case-fit-card { padding: 28px 24px; }
  .case-fit-card .case-button { margin-top: 28px; }
  .case-recognition-list { padding: 0; }
  .case-recognition-list li { min-height: 0; }
  .case-cta { padding: 0 0 10px; }
  .case-cta-copy h2 { font-size: 46px; line-height: 1.02; }
  .case-cta-panel { width: calc(100% - 24px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .case-button { transition: none; }
}
