/* Project presentation: large media and a stable account of the work. */
.visual-index .index-heading { padding:42px 0 24px; align-items:end; }
.visual-index .index-heading h1 { font-size:clamp(44px,5vw,72px); }
.visual-index .index-heading>p { max-width:410px; font-size:16px; }
.visual-index .index-toolbar { border:0; padding:0 0 30px; }
.visual-index .exhibit-grid { display:block; padding:0; }
.visual-index .exhibit-grid .work-showcase {
  display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
  align-items:center; gap:clamp(30px,4vw,66px); padding:38px 0 46px;
  border:0; border-top:1px solid #ffffff24; border-radius:0;
  background:none; box-shadow:none; overflow:visible; isolation:isolate;
}
.visual-index .work-showcase::before,.visual-index .work-showcase::after { display:none; }
.visual-index .work-showcase .focused-reel { background:transparent; }
.visual-index .work-showcase .reel-slide>a { overflow:hidden; background:#0c0c0c; }
.visual-index .work-showcase .focused-reel img {
  height:clamp(400px,39vw,580px); width:100%; object-fit:cover;
  background:transparent; border-radius:0;
}
.visual-index .work-showcase .focused-reel figcaption {
  min-height:78px; padding:17px 0 8px; font:15px/1.6 var(--mono); color:#bcbcbc;
}
.visual-index .work-showcase .reel-progress { height:1px; background:#ffffff12; }
.visual-index .work-showcase .reel-progress::after { background:#d3d3d3; }
.visual-index .work-showcase .focused-copy { position:static; padding:0; max-width:510px; }
.visual-index .work-showcase .focused-copy .eyebrow { font-size:11px; color:#aaa; letter-spacing:.12em; }
.visual-index .work-showcase .focused-copy h2 {
  font-size:clamp(30px,3vw,46px); line-height:1.08; margin:17px 0 23px; letter-spacing:-.045em;
}
.visual-index .work-showcase .focused-copy h2 a:hover { color:#fff; }
.visual-index .work-showcase .focused-copy>p:not(.eyebrow) { font-size:17px; line-height:1.8; color:#d0d0d0; }
.work-context { display:grid; grid-template-columns:85px minmax(0,1fr); gap:12px 20px; margin:28px 0; padding-top:23px; border-top:1px solid #ffffff18; }
.work-context dt { font:10px/1.9 var(--mono); text-transform:uppercase; letter-spacing:.08em; color:#929292; }
.work-context dd { margin:0; font-size:14px; line-height:1.7; color:#bbb; }
.visual-index .work-showcase .exhibit-link { display:inline-flex; align-items:center; gap:26px; margin-top:3px; padding:10px 0; font-size:14px; border-bottom:1px solid #aaa; }
.visual-index .work-showcase .exhibit-link::after { content:'↗'; font-size:18px; }
.visual-index .work-showcase .exhibit-link:hover { color:#fff; border-color:white; }
.concept-stage { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:32px; min-height:490px; background:radial-gradient(ellipse at 50% 30%,#303032,#171718 66%); }
.concept-label { font:10px var(--mono); letter-spacing:.16em; color:#999; }
.concept-wordmark { font:clamp(70px,10vw,140px)/1.2 Georgia,serif; letter-spacing:-.07em; padding:28px 0 45px; text-align:center; color:#eee; }
.concept-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #ffffff35; }
.concept-flow>div { position:relative; padding:22px 12px 12px; text-align:center; }
.concept-flow>div::before { content:''; position:absolute; top:-3px; left:calc(50% - 3px); width:5px; height:5px; border-radius:50%; background:#ccc; }
.concept-flow span { display:block; color:#999; font:9px var(--mono); letter-spacing:.1em; }
.concept-flow strong { display:block; font-size:clamp(15px,1.5vw,22px); font-weight:400; margin:8px 0; }
.concept-flow small { display:block; font-size:11px; line-height:1.5; color:#aaa; }
.concept-stage figcaption { margin-top:27px; font:12px/1.7 var(--mono); color:#999; }
/* Keep the home presentation large, with a calmer hierarchy over the image. */
.cinematic-showcase .terminal-panel { padding:100px 32px 27px; gap:8px 50px; background:linear-gradient(0deg,#080808f2 0%,#080808d9 48%,#08080800 100%); }
.cinematic-showcase .terminal-panel h2 { font-size:clamp(29px,3.1vw,46px); line-height:1.1; }
.cinematic-showcase .terminal-command { font-size:11px; color:#aaa; }
.cinematic-showcase .terminal-panel dt { font-size:10px; letter-spacing:.1em; }
.cinematic-showcase .terminal-panel dd { font-size:15px; line-height:1.7; }
.cinematic-showcase .terminal-panel dd:last-of-type { font-size:14px; }
.cinematic-showcase .terminal-topline { font-size:10px; letter-spacing:.12em; }
.cinematic-showcase .reel-slide,.work-showcase .reel-slide { animation:work-image-in .55s ease both; }
@keyframes work-image-in { from { opacity:.35; } to { opacity:1; } }
/* Bring project explanations closer to the demonstrations. */
body:has(.case-intro) .case-intro { padding-top:34px; padding-bottom:34px; }
body:has(.case-intro) .case-intro h1 { font-size:clamp(40px,5.4vw,74px); margin-block:23px 30px; }
body:has(.case-intro) .case-summary { padding-top:26px; gap:38px; }
body:has(.case-intro) .motion-section { border:0; border-top:1px solid #ffffff24; border-radius:0; background:transparent; padding:28px 0; }
body:has(.case-intro) .case-media { border:0; border-radius:0; background:transparent; padding:28px 0; }
body:has(.case-intro) .focused-reel { background:transparent; }
body:has(.case-intro) .focused-reel figcaption { padding-inline:0; }
@media(max-width:1000px) {
  .visual-index .exhibit-grid .work-showcase { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:28px; }
  .visual-index .work-showcase .focused-copy h2 { font-size:32px; }
  .visual-index .work-showcase .focused-copy>p:not(.eyebrow) { font-size:15px; }
  .work-context { grid-template-columns:1fr; gap:5px; margin:20px 0; padding-top:16px; }
  .work-context dd+dt { margin-top:9px; }
  .concept-stage { padding:22px; }.concept-flow { grid-template-columns:1fr; border-top:0; }
  .concept-flow>div { padding:11px; border-top:1px solid #ffffff18; }.concept-flow>div::before { display:none; }
  .concept-wordmark { padding:18px 0 22px; }
}
@media(max-width:700px) {
  .visual-index { padding-inline:20px; }
  .visual-index .index-heading { padding-top:28px; }.visual-index .index-heading>p { font-size:14px; }
  .visual-index .index-toolbar { padding-bottom:15px; }
  .visual-index .exhibit-grid .work-showcase { grid-template-columns:1fr; gap:22px; padding:25px 0 34px; }
  .visual-index .work-showcase .focused-reel img { height:auto; aspect-ratio:1.16; }
  .visual-index .work-showcase .focused-reel figcaption { min-height:85px; font-size:13px; padding:13px 0 6px; }
  .visual-index .work-showcase .focused-copy { max-width:none; }
  .visual-index .work-showcase .focused-copy h2 { font-size:34px; margin:12px 0 17px; }
  .visual-index .work-showcase .focused-copy>p:not(.eyebrow) { font-size:16px; line-height:1.75; }
  .work-context { grid-template-columns:75px minmax(0,1fr); gap:10px 16px; }.work-context dd+dt { margin:0; }
  .concept-stage { min-height:390px; }.concept-flow { grid-template-columns:repeat(3,minmax(0,1fr)); }.concept-flow>div { padding:15px 5px; }
  .concept-wordmark { font-size:95px; padding:10px 0 34px; }.concept-flow strong { font-size:15px; }
  .cinematic-showcase .terminal-panel { padding:100px 20px 24px; gap:7px; }
  .cinematic-showcase .terminal-panel h2 { font-size:29px; }.cinematic-showcase .terminal-panel dd { font-size:14px; }.cinematic-showcase .terminal-panel dd:last-of-type { font-size:13px; }
  .cinematic-showcase .system-slide { display:block; min-height:0; }
  .cinematic-showcase .system-slide>.focused-reel { height:auto; }
  .cinematic-showcase .system-slide .focused-reel .reel-slide img { height:auto; aspect-ratio:4/3; object-fit:cover; }
  .cinematic-showcase .system-slide>.software-stage { height:265px; }
  .cinematic-showcase .terminal-panel { position:relative; inset:auto; min-height:410px; padding:22px 18px; background:#101010; }
  .cinematic-showcase .terminal-panel h2 { min-height:64px; }
  .cinematic-showcase .terminal-panel dl { min-height:180px; }
  body:has(.case-intro) .case-intro h1 { font-size:42px; }
}
@media(prefers-reduced-motion:reduce) { .cinematic-showcase .reel-slide,.work-showcase .reel-slide { animation:none; } }

/* A small visual narrative: one main view and two complementary details. */
video::-webkit-media-controls { display:none !important; }
.clip-controls,.clip-chapters,.motion-control { display:none !important; }
.clip-player>.motion-fallback { display:block; width:100%; max-height:70vh; object-fit:contain; }
.gallery-stage>.motion-fallback { max-width:100%; max-height:75vh; object-fit:contain; }
.project-composition { margin:0; min-width:0; }
.composition-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:clamp(320px,36vw,500px) 190px; gap:6px; }
.composition-tile { position:relative; display:block; min-width:0; min-height:0; overflow:hidden; background:#141414; }
.composition-tile:first-child { grid-column:1 / -1; }
.composition-tile img,.composition-tile video { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.composition-tile:hover img { transform:scale(1.025); }
.composition-tile:focus-visible { outline:2px solid white; outline-offset:3px; z-index:1; }
.composition-label { position:absolute; inset:auto 0 0; padding:28px 14px 12px; background:linear-gradient(transparent,#000b); color:white; font:11px/1.5 var(--mono); pointer-events:none; }
.project-composition>figcaption { padding:17px 0 0; font:15px/1.7 var(--mono); color:#bcbcbc; }
.visual-index #electric-drives .composition-grid { grid-template-rows:240px 240px; grid-template-columns:1.2fr 1fr; }
.visual-index #electric-drives .composition-tile:first-child { grid-column:1; grid-row:1 / 3; }
.visual-index #electric-drives .composition-tile:nth-child(2) { grid-column:2; }
.visual-index #electric-drives .composition-tile:nth-child(3) { grid-column:2; }
.cinematic-showcase .system-slide { display:block; min-height:0; }
.cinematic-showcase .composition-grid { grid-template-columns:1.9fr 1fr; grid-template-rows:repeat(2,minmax(0,1fr)); height:clamp(430px,45vw,610px); }
.cinematic-showcase .composition-tile:first-child { grid-column:1; grid-row:1 / 3; }
.cinematic-showcase .composition-tile:nth-child(2),.cinematic-showcase .composition-tile:nth-child(3) { grid-column:2; }
.cinematic-showcase .composition-label { font-size:12px; padding:35px 20px 16px; }
.cinematic-showcase .project-composition>figcaption { display:none; }
.cinematic-showcase .terminal-panel { position:relative; inset:auto; min-height:245px; padding:25px 0 30px; background:none; pointer-events:auto; }
.cinematic-showcase .system-slide>.software-stage { height:clamp(430px,45vw,610px); }
@media(max-width:1000px) {
  .composition-grid { grid-template-rows:270px 160px; }
}
@media(max-width:700px) {
  .composition-grid { grid-template-rows:260px 160px; }
  .composition-label { font-size:10px; padding:26px 10px 9px; }
  .project-composition>figcaption { font-size:14px; }
  .cinematic-showcase .composition-grid { height:auto; grid-template-columns:1fr 1fr; grid-template-rows:270px 150px; }
  .cinematic-showcase .composition-tile:first-child { grid-column:1 / -1; grid-row:1; }
  .cinematic-showcase .composition-tile:nth-child(2) { grid-column:1; grid-row:2; }
  .cinematic-showcase .composition-tile:nth-child(3) { grid-column:2; grid-row:2; }
  .cinematic-showcase .composition-label { font-size:10px; padding:26px 10px 9px; }
  .cinematic-showcase .terminal-panel { padding:23px 0; min-height:390px; }
  .cinematic-showcase .system-slide>.software-stage { height:300px; }
}
@media(prefers-reduced-motion:reduce) { .composition-tile img { transition:none; } }

/* The project itself remains visible behind the case study as it is read. */
.has-project-background { background:#090909; isolation:isolate; }
.project-background { position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; background:#090909; }
.project-background>video,.project-background>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.85; }
.project-background::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#070707d9,#070707bd 60%,#070707b8),linear-gradient(0deg,#07070780,transparent 45%); }
.has-project-background .site-header { background:#09090980; }
.has-project-background .case-intro { min-height:70vh; padding-top:45px; }
.has-project-background .case-summary { text-shadow:0 2px 12px #000; }
.has-project-background main>section { position:relative; }
.has-project-background .case-deck { color:#fff; }
.has-project-background footer { background:#090909a6; }
.thesis-feature { margin:12px 0 45px; padding:30px; max-width:920px; background:#101010c9; border:1px solid #ffffff25; }
.thesis-feature h2 { font-size:32px; margin:8px 0 15px; }
.thesis-feature>p:not(.eyebrow) { max-width:760px; color:#ddd; }
.thesis-feature .text-link { display:inline-block; margin:12px 0; }
.thesis-feature .thesis-degree { font:12px/1.7 var(--mono); color:#aaa; margin-top:18px; }
@media(max-width:700px) {
  .has-project-background .case-intro { min-height:0; padding-top:30px; }
  .project-background::after { background:#070707c9; }
  .thesis-feature { padding:22px 18px; }
}
@media print { .project-background { display:none; } }

/* A countdown to the next project, placed directly against the imagery. */
.cinematic-showcase .composition-grid { position:relative; }
.cinematic-showcase .system-progress {
  position:absolute; inset:auto 0 0; z-index:4;
  display:block!important; height:3px; margin:0;
  background:#ffffff26; pointer-events:none; overflow:hidden;
}
.cinematic-showcase .system-progress::after { content:none; animation:none; }
.system-progress-fill {
  display:block; width:100%; height:100%; background:#fff;
  transform:scaleX(0); transform-origin:left;
  box-shadow:0 0 6px #ffffff40;
}
.project-reel .reel-progress { height:2px; background:#ffffff26; }
.project-reel .reel-progress::after { background:#fff; }

/* Sync Tank pairs the assembled system with readable software development views. */
.composition-crop { display:block; width:100%; height:100%; padding:10px 10px 36px; box-sizing:border-box; background:#111; }
[data-composition="sync-tank"] .composition-tile:nth-child(3) img { object-position:50% 42%; }
.visual-index [data-composition="sync-tank"] .composition-grid { grid-template-columns:1.2fr 1fr; grid-template-rows:330px 280px; }
.visual-index [data-composition="sync-tank"] .composition-tile:first-child { grid-column:1; grid-row:1 / 3; }
.visual-index [data-composition="sync-tank"] .composition-tile:nth-child(n+2) { grid-column:2; }
.cinematic-showcase [data-composition="sync-tank"] .composition-grid { grid-template-rows:1.25fr 1fr; }
@media(max-width:700px) {
  .visual-index [data-composition="sync-tank"] .composition-grid,
  .cinematic-showcase [data-composition="sync-tank"] .composition-grid { grid-template-columns:1fr 1fr; grid-template-rows:290px 240px; }
  .visual-index [data-composition="sync-tank"] .composition-tile:first-child { grid-column:1 / -1; grid-row:1; }
  .visual-index [data-composition="sync-tank"] .composition-tile:nth-child(2) { grid-column:1; grid-row:2; }
  .visual-index [data-composition="sync-tank"] .composition-tile:nth-child(3) { grid-column:2; grid-row:2; }
  .composition-crop { padding:6px 4px 40px; }
}

/* Thesis narrative: readable columns beside the live project background. */
.research-section { display:grid; grid-template-columns:minmax(200px,.75fr) minmax(0,1.7fr); gap:clamp(28px,5vw,80px); padding:42px 0; border-top:1px solid #ffffff24; }
.research-section h2 { max-width:310px; margin:0; font-size:clamp(25px,2.7vw,37px); line-height:1.15; letter-spacing:-.025em; }
.research-section>div { max-width:800px; }
.research-section p,.research-references>p { margin:0 0 20px; font-size:17px; line-height:1.85; color:#ddd; }
.research-section p:last-child { margin-bottom:0; }
.research-references { border-top:1px solid #ffffff24; padding:45px 0; }
.research-references h2 { font-size:32px; margin:12px 0 24px; }
.research-references>p { max-width:850px; }
.research-references article { max-width:950px; padding:24px 0; border-top:1px solid #ffffff16; }
.research-references h3 { font-size:20px; line-height:1.4; margin:0 0 10px; }
.research-references article p { color:#bbb; font-size:15px; line-height:1.75; }
.research-references .reference-authors { font-size:13px; color:#999; }
.research-references a { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:700px) {
  .research-section { grid-template-columns:1fr; gap:20px; padding:30px 0; }
  .research-section h2 { max-width:none; font-size:28px; }
  .research-section p,.research-references>p { font-size:16px; line-height:1.8; }
}

/* Race context and clearly attributed excerpts stay alongside the project work. */
.solar-race-context { margin:0 0 34px; padding:30px; background:#101010cc; border:1px solid #ffffff26; max-width:1000px; }
.solar-race-context h2,.solar-coverage h2 { font-size:clamp(28px,3vw,40px); line-height:1.15; margin:12px 0 20px; }
.solar-race-context>p:not(.eyebrow) { color:#ddd; font-size:17px; line-height:1.8; }
.solar-race-context a,.research-section a { text-decoration:underline; text-underline-offset:4px; }
.solar-race-context .solar-context-links { font:13px/1.8 var(--mono); margin-top:24px; }
.solar-coverage { padding:40px 0; border-top:1px solid #ffffff24; }
.solar-quotes { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin:30px 0 38px; }
.solar-quotes figure { margin:0; padding:24px 0 24px 24px; border-left:2px solid #bbb; }
.solar-quotes blockquote { margin:0 0 22px; }
.solar-quotes blockquote p { margin:0; font-size:clamp(23px,2.3vw,32px); line-height:1.4; letter-spacing:-.02em; }
.solar-quotes figcaption { font:12px/1.8 var(--mono); color:#bcbcbc; }
.solar-quotes figcaption a { text-decoration:underline; text-underline-offset:3px; }
.solar-reading { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.solar-reading article { border-top:1px solid #ffffff24; padding-top:22px; }
.solar-reading h3 { font-size:23px; line-height:1.25; margin:14px 0; }
.solar-reading article>p:not(.eyebrow) { color:#bcbcbc; font-size:15px; line-height:1.7; }
@media(max-width:700px) {
 .solar-race-context { padding:22px 18px; }
 .solar-quotes,.solar-reading { grid-template-columns:1fr; gap:24px; }
 .solar-quotes figure { padding-left:18px; }
}

/* Cardiac monitor: original engineering records alongside the work they document. */
.cardiac-chapter { padding: clamp(32px,5vw,76px) 0; border-top: 1px solid #343434; }
.cardiac-chapter-copy { display:grid; grid-template-columns:minmax(220px,.7fr) 1fr; gap:16px 7%; margin-bottom:28px; }
.cardiac-chapter-copy h2 { grid-row:span 3; margin:0; font-size:clamp(27px,3vw,42px); letter-spacing:-.035em; }
.cardiac-chapter-copy p { margin:0; max-width:76ch; color:#c9c9c9; line-height:1.8; }
.cardiac-documents { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.cardiac-document-single { grid-template-columns:1fr; }
.cardiac-document-single .cardiac-figure { max-width:1120px; margin-inline:auto; width:100%; }
.cardiac-figure { margin:0; min-width:0; }
.cardiac-figure img { display:block; width:100%; height:auto; border:1px solid #424242; }
.cardiac-figure figcaption { padding:16px 0; color:#bcbcbc; font-size:15px; line-height:1.7; }
.cardiac-figure figcaption a { display:inline-block; margin-left:8px; color:#f4f4f4; }
.cardiac-team { display:grid; grid-template-columns:minmax(0,1fr) 1fr; align-items:center; gap:32px; padding-bottom:50px; }
.cardiac-team img { width:100%; height:auto; }
.cardiac-source-links { display:flex; flex-wrap:wrap; gap:20px 32px; }
[data-composition="awear"] .composition-grid { grid-template-columns:1fr 1fr; grid-template-rows:repeat(2,minmax(0,1fr)); height:580px; }
[data-composition="awear"] .composition-tile:first-child { grid-column:1; grid-row:1 / 3; min-height:0; }
[data-composition="awear"] .composition-crop { padding:0 0 34px; }
@media(max-width:700px) {
 .cardiac-chapter-copy,.cardiac-documents,.cardiac-team { grid-template-columns:1fr; }
 .cardiac-chapter-copy h2 { grid-row:auto; }
 [data-composition="awear"] .composition-grid { height:350px; grid-template-rows:repeat(2,minmax(0,1fr)); }
 [data-composition="awear"] .composition-tile:first-child { min-height:0; }
}

[data-composition="awear"] .composition-tile:nth-child(2) { grid-column:2; grid-row:1; }
[data-composition="awear"] .composition-tile:nth-child(3) { grid-column:2; grid-row:2; }

/* Opening motion gives way to media that explains individual parts of the work. */
.has-project-background { position:relative; }
.project-background { position:absolute; inset:0 0 auto; }
.opening-recording { display:inline-block; margin-top:22px; }
.work-detail { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(26px,5vw,76px); align-items:center; padding:44px 0; border-top:1px solid #ffffff24; }
.work-detail-copy h2 { font-size:clamp(27px,3vw,42px); line-height:1.15; letter-spacing:-.035em; margin:14px 0 22px; }
.work-detail-copy p:not(.eyebrow) { color:#c7c7c7; line-height:1.8; max-width:65ch; }
.detail-media { min-width:0; margin:0; }
.detail-media img,.detail-media video { display:block; width:100%; height:auto; max-height:530px; object-fit:contain; background:#101010; }
.detail-media figcaption { font:13px/1.7 var(--mono); color:#aaa; padding-top:14px; }
.detail-media figcaption a { display:block; width:fit-content; margin-top:8px; color:#ddd; }
.research-section>.detail-media { grid-column:2; margin-top:20px; max-width:750px; }
.learning-path { border-top:1px solid #ffffff24; padding:40px 0; }
.learning-path h2 { font-size:clamp(25px,3vw,36px); max-width:700px; }
.learning-path ol { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; padding:20px 0 0; }
.learning-path li { border-top:1px solid #666; padding-top:18px; }
.learning-path h3 { font-size:21px; margin:0 0 12px; }
.learning-path p { color:#bcbcbc; line-height:1.75; }
@media(max-width:700px) {
 .work-detail { grid-template-columns:1fr; gap:22px; padding:28px 0; }
 .work-detail-copy { grid-row:1; }
 .detail-media img,.detail-media video { max-height:440px; }
 .research-section>.detail-media { grid-column:1; }
 .learning-path ol { grid-template-columns:1fr; gap:18px; }
}

[data-composition="socio"] .composition-tile video { object-fit:contain; }

/* The landscape booth photograph shows the complete installation. */
.visual-index [data-composition="sync-tank"] .composition-grid { grid-template-columns:1fr 1fr; grid-template-rows:380px 230px; }
.visual-index [data-composition="sync-tank"] .composition-tile:first-child { grid-column:1 / -1; grid-row:1; }
.visual-index [data-composition="sync-tank"] .composition-tile:nth-child(2) { grid-column:1; grid-row:2; }
.visual-index [data-composition="sync-tank"] .composition-tile:nth-child(3) { grid-column:2; grid-row:2; }
@media(max-width:700px) { .visual-index [data-composition="sync-tank"] .composition-grid { grid-template-rows:290px 220px; } }

/* Physical prototypes: one large board view with two related details. */
[data-composition="awear"] .composition-grid { grid-template-columns:1.8fr 1fr; grid-template-rows:repeat(2,minmax(0,1fr)); height:auto; aspect-ratio:2.8 / 1.8; }
.cinematic-showcase [data-composition="awear"] .composition-grid { height:clamp(430px,45vw,610px); aspect-ratio:auto; }
.project-photo-collection { padding:32px 0; border-top:1px solid #343434; }
@media(max-width:700px) {
 [data-composition="awear"] .composition-grid,
 .cinematic-showcase [data-composition="awear"] .composition-grid { grid-template-columns:1fr 1fr; grid-template-rows:1.9fr 1fr; height:auto; aspect-ratio:1 / 1.45; }
 [data-composition="awear"] .composition-tile:first-child { grid-column:1 / -1; grid-row:1; }
 [data-composition="awear"] .composition-tile:nth-child(2) { grid-column:1; grid-row:2; }
 [data-composition="awear"] .composition-tile:nth-child(3) { grid-column:2; grid-row:2; }
}

.cardiac-chapter > [data-composition="awear"] { max-width:1060px; margin-inline:auto; }

/* Let the content set its height instead of reserving empty panels. */
.cinematic-showcase .terminal-panel { min-height:0; padding:20px 0 24px; }
.cinematic-showcase .terminal-panel h2,.cinematic-showcase .terminal-panel dl { min-height:0; }
.focused-reel .reel-slide figcaption,.visual-index .work-showcase .focused-reel figcaption { min-height:0; padding-block:12px; }
.has-project-background .case-intro { min-height:0; }
.has-project-background .site-header { background:#101010f2; }
.visual-index .exhibit-grid .work-showcase { padding-block:30px; }
@media(max-width:700px) {
 .cinematic-showcase .terminal-panel { row-gap:10px; padding-block:18px; }
 .cinematic-showcase .terminal-panel h2 { font-size:29px; }
 .visual-index .exhibit-grid .work-showcase { gap:18px; padding-block:24px; }
 body:has(.case-intro) .case-intro h1 { margin-block:18px 22px; }
 body:has(.case-intro) .case-summary { gap:20px; padding-top:18px; }
}

.visual-index [data-composition="solar"] .composition-grid { grid-template-rows:auto clamp(220px,25vw,350px); }
.visual-index [data-composition="solar"] .composition-tile:first-child { aspect-ratio:1927 / 1352; }

/* Paired source photos retain their complete framing. */
.vehicle-prototypes { padding:32px 0; border-top:1px solid var(--line, #333); }
.vehicle-prototypes>p:not(.eyebrow) { max-width:70ch; }
.vehicle-photo-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
.vehicle-photo-pair img { height:clamp(280px,38vw,480px); object-fit:contain; }
@media(max-width:600px) { .vehicle-photo-pair { grid-template-columns:1fr; gap:28px; } .vehicle-photo-pair img { height:auto; max-height:480px; } }
