/* Stable image frames and mobile layouts shared across the site. */
.case-study { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.case-study > *, .problem-panel > *, .thinking-layout > *, .calculator-layout > *, .contact-layout > * { min-width:0; }
.case-cover { width:100%; aspect-ratio:4/3; min-height:0; isolation:isolate; }
.case-cover > img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.case-cover .cover-top, .case-cover .cover-title, .case-cover .cover-bottom { z-index:1; }
.cover-stat > span { display:block; margin-top:6px; }
.co3-footer { grid-template-columns:minmax(0,1fr) auto; }
.co3-formula { grid-column:1/-1; min-width:0; }
.co3-steps { min-width:0; }
.co3-step-panel { min-width:0; }
.co3-copy, .co3-step-panel figure { min-width:0; }
.co3-manual .co3-panels { display:block; }
.co3-manual .co3-steps { gap:12px; }
.co3-manual .co3-steps button { min-height:44px; padding:10px 4px; }
.co3-heading { min-width:0; flex-wrap:wrap; }
.co3-heading h2 { max-width:100%; }
@media(max-width:1100px) {
  header nav { gap:12px; }
  header > .button.small { padding:10px; font-size:12px; gap:10px; }
}
@media(max-width:900px), (max-height:760px) {
  .co3-scroll { height:auto; }
  .co3-sticky { position:relative; height:auto; min-height:0; padding:35px 5%; gap:26px; }
  .co3-panels { display:block; }
  .co3-step-panel { grid-template-columns:1fr; gap:24px; }
  .co3-step-panel canvas, .co3-manual .co3-step-panel canvas { height:210px; }
  .co3-instruction { flex-basis:100%; margin:0; }
}
@media(max-width:760px) {
  h1 { font-size:clamp(42px,11.7vw,81px); }
  h1 em { font-size:2.45em; }
  .hero-observation { overflow:hidden; }
  .hero-observation figcaption { white-space:normal; }
  .eye-annotation b { left:75%; font-size:6px; }
  .section-heading { gap:24px; }
  .thinking-visual { height:auto; max-height:none; min-height:0; }
  .thinking-visual canvas { height:340px; }
  .field-center { top:160px; }
  .co3-heading { gap:10px 16px; }
  .co3-heading h2 { font-size:clamp(42px,11vw,67px); }
  .co3-heading > p { font-size:24px; }
  .co3-copy h3 { font-size:26px; }
  .co3-copy h3 br { display:none; }
  .co3-footer { gap:16px 10px; }
  .co3-steps { justify-content:space-between; gap:8px; }
  .co3-steps button { font-size:13px; gap:5px; }
  .formula-expression { font-size:clamp(16px,4.3vw,25px); gap:7px; flex-wrap:wrap; }
  .co3-loop-note { text-align:left; }
  .case-study { grid-template-columns:minmax(0,1fr); gap:26px; }
  .case-cover { aspect-ratio:4/5; }
  .case-cover .cover-top { inset:20px 20px auto; }
  .case-cover .cover-title, .artwork-cover .cover-title, .rollo-cover .cover-title, .frye-cover .cover-title { top:22%; left:20px; max-width:65%; }
  .case-cover .cover-title strong { font-size:clamp(36px,10vw,52px); }
  .case-cover .cover-title p { font-size:18px; }
  .case-cover .cover-bottom { left:20px; right:20px; bottom:20px; max-width:calc(100% - 40px); gap:8px; }
  .case-cover .cover-stat { font-size:30px; }
  .case-cover .cover-stat span { font-size:12px; max-width:200px; }
  .case-cover .cover-bottom > .micro { font-size:8px; max-width:100%; }
  .case-story h3 { font-size:clamp(30px,8.7vw,38px); overflow-wrap:break-word; }
  .case-story .button { width:100%; }
  .case-visual { min-height:0; }
  .case-decision-path { flex-wrap:wrap; letter-spacing:.5px; }
  .calculator-layout { grid-template-columns:minmax(0,1fr); }
  .calculator-results { min-width:0; }
  .calculator-results dl > div { gap:12px; }
  .calc-comparison strong { float:none; display:block; margin-top:6px; }
  .chapter-label { flex-wrap:wrap; gap:8px 16px; }
  .chapter-label > span:last-child { max-width:none; text-align:left; }
  .contact input, .contact textarea { width:100%; min-width:0; }
  .footer-head { align-items:flex-start; }
  .footer-head .wordmark { max-width:100%; }
  .comparison-images { grid-template-columns:minmax(0,1fr); gap:26px; }
  .comparison-images .screen-window { height:auto; max-height:600px; }
  .enzo-intro h1 { font-size:clamp(40px,11vw,64px); overflow-wrap:break-word; }
  .enzo-case header { height:auto; min-height:78px; gap:18px; }
  .enzo-case header .wordmark { max-width:70%; }
  .return-link { white-space:normal; text-align:right; }
  .shapely-stack, .research-stack { height:auto; display:grid; gap:20px; }
  .research-stack .research-sheet { position:relative; inset:auto; width:100%; height:auto; transform:none; }
  .research-stack .research-sheet img { height:auto; }
  .research-stack .research-sheet span { position:relative; }
}
@media(max-width:380px) {
  header .wordmark.fractional-wordmark { max-width:82%; }
  header .wordmark.fractional-wordmark .brand-name { font-size:11px; letter-spacing:.8px; }
  header .wordmark.fractional-wordmark .fractional-role { font-size:10px; }
  .co3-heading h2 { font-size:40px; }
  .co3-footer { grid-template-columns:minmax(0,1fr); }
  .co3-count { display:none; }
}
