.case-experience{background:var(--ui-soft);width:100%;min-width:0;color:var(--ui-ink);flex-direction:column;display:flex}.case-experience-header{border-bottom:1px solid var(--ui-line);letter-spacing:.12em;font-size:13px;font-weight:var(--ui-weight-semibold);color:var(--ui-muted);justify-content:space-between;align-items:center;gap:12px;padding:17px 22px;display:flex}.case-experience-header a{letter-spacing:0;font-size:13px}.case-experience-header a:hover{text-decoration:underline}.case-experience-heading{justify-content:space-between;align-items:baseline;gap:10px;padding:20px 22px 0;display:flex}.case-experience-heading h3{font-size:24px;font-weight:var(--ui-weight-semibold);margin:0}.case-experience-heading>span{color:var(--ui-muted);font-size:13px}.case-experience-model{flex:1;min-height:0}.savoye-model{touch-action:none;height:350px;position:relative;overflow:hidden}.savoye-model>div:first-child{height:100%}.savoye-model canvas{touch-action:none;display:block}.case-farnsworth-model{background:linear-gradient(180deg,var(--ui-soft) 0%,#e3ebf1 48%,#eef0e9 100%)}.case-model-placeholder,.case-model-fallback{min-height:350px;color:var(--ui-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:13px;display:flex}.case-model-fallback p{margin:0}.case-model-fallback button{border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);background:var(--ui-surface);cursor:pointer;padding:8px 12px}.case-model-markers{pointer-events:none;position:absolute;inset:0}.case-model-markers button{border:1px solid var(--ui-blue);background:var(--ui-canvas);width:36px;height:36px;color:var(--ui-blue);font-size:13px;font-weight:var(--ui-weight-semibold);pointer-events:auto;cursor:pointer;border-radius:50%;padding:0;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #fff8}.case-model-markers button:hover,.case-model-markers button.is-selected{background:var(--ui-blue);border-color:var(--ui-blue);color:#fff}.case-fit-button{border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);background:var(--ui-canvas);color:var(--ui-blue);cursor:pointer;padding:7px 10px;font-size:13px;position:absolute;top:14px;right:18px}.case-view-tools{gap:7px;display:flex;position:absolute;top:14px;right:18px}.case-view-tools button{border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);background:var(--ui-canvas);color:var(--ui-blue);cursor:pointer;padding:7px 10px;font-size:13px}.case-view-tools button[aria-pressed=true]{color:#fff;background:var(--ui-blue)}.case-drawing-reference{color:var(--ui-blue);margin-top:20px;font-size:13px}.case-drawing-reference summary{cursor:pointer}.case-drawing-reference figure{margin:20px 0}.case-drawing-reference img{border:1px solid var(--ui-line);background:var(--ui-surface);width:100%;display:block}.case-drawing-reference figcaption{color:var(--ui-muted);margin-top:8px;font-size:13px}.case-model-gesture{pointer-events:none;color:var(--ui-muted);font-size:13px;position:absolute;bottom:12px;left:22px}.case-topic-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 22px 15px;display:grid}.case-topic-tabs button{border:1px solid var(--ui-line);background:var(--ui-canvas);min-width:0;min-height:44px;color:var(--ui-text);font-weight:var(--ui-weight-semibold);border-radius:var(--ui-radius-control);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:8px 4px;font-size:13px;display:flex}.case-topic-tabs button span{color:var(--ui-muted);font-size:13px}.case-topic-tabs button[aria-pressed=true]{border-color:var(--ui-blue);background:var(--ui-soft);color:var(--ui-blue)}.case-experience-caption{border-top:1px solid var(--ui-line);background:var(--ui-canvas);justify-content:space-between;align-items:center;gap:14px;min-height:96px;padding:14px 22px;display:flex}.case-experience-caption strong{font-size:13px}.case-experience-caption p{color:var(--ui-text);margin:5px 0 0;font-size:13px;line-height:1.7}.case-experience-caption>a{color:var(--ui-blue);font-size:13px;font-weight:var(--ui-weight-semibold);border-bottom:1px solid var(--ui-blue);flex:none;padding-bottom:3px}.case-model-note{color:var(--ui-muted);border-top:1px solid var(--ui-line);padding:9px 22px;font-size:13px}.case-experience button:focus-visible,.case-experience a:focus-visible,.case-study-page a:focus-visible,.case-study-page button:focus-visible{outline:2px solid var(--ui-blue);outline-offset:3px}.case-preview-root{flex:1;width:100%;min-width:0;display:flex}.case-preview-root>.case-experience{flex:1}.case-preview-root .case-experience-model{flex-direction:column;display:flex}.case-preview-root .savoye-model{flex:1;height:clamp(330px,32vh,430px);min-height:330px}.case-preview-root .case-experience-showcase .savoye-model{height:clamp(440px,52vh,680px);min-height:440px}.case-study-page{color:var(--ui-ink);padding-top:40px;padding-bottom:64px}.case-study-meta{color:var(--ui-text);flex-wrap:wrap;gap:12px 24px;margin:0 0 28px;font-size:13px;display:flex}.case-study-layout{grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);align-items:start;gap:24px;display:grid}.case-study-viewer{border:1px solid var(--ui-line);border-radius:var(--ui-radius-panel);min-width:0;overflow:hidden}.case-study-viewer .savoye-model{height:440px}.case-study-reading{border:1px solid var(--ui-line);border-radius:var(--ui-radius-panel);background:var(--ui-surface);min-width:0;padding:24px}.case-study-reading>span,.case-study-sources>span{font-size:13px;font-weight:var(--ui-weight-semibold);letter-spacing:.13em;color:var(--ui-blue)}.case-study-reading h2{font-size:26px;font-weight:var(--ui-weight-semibold);margin:9px 0 24px}.case-study-reading h3{font-size:14px;font-weight:var(--ui-weight-semibold);margin:20px 0 8px}.case-study-reading p{color:var(--ui-text);margin:0;font-size:16px;line-height:1.9}.case-study-links{flex-direction:column;gap:10px;margin:24px 0 0;display:flex}.case-study-links a{border:1px solid var(--ui-line);color:var(--ui-blue);font-weight:var(--ui-weight-semibold);border-radius:var(--ui-radius-control);background:var(--ui-soft);padding:11px 14px;font-size:13px;display:block}.case-study-links small{color:var(--ui-muted);font-size:13px;line-height:1.7}.case-reflection{border:1px solid var(--ui-line);border-radius:var(--ui-radius-panel);background:var(--ui-surface);margin-top:24px;padding:24px}.case-reflection h3{margin:0 0 16px;font-size:15px}.case-reflection>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.case-reflection button{border:1px solid var(--ui-line);border-radius:var(--ui-radius-control);color:var(--ui-text);background:var(--ui-canvas);cursor:pointer;padding:13px;font-size:13px}.case-reflection button.is-selected{background:var(--ui-soft);border-color:var(--ui-blue)}.case-reflection .case-reflection-feedback{color:var(--ui-blue);min-height:24px;margin-top:14px;font-size:13px;line-height:1.8;display:block}.case-study-sources{border-top:1px solid var(--ui-line);margin-top:30px;padding-top:24px}.case-study-sources p{color:var(--ui-muted);font-size:13px;line-height:1.8}.case-study-sources a{color:var(--ui-blue);text-underline-offset:3px;margin:10px 0;font-size:13px;text-decoration:underline;display:block}.case-project-card{background:var(--ui-surface);border:1px solid var(--ui-line);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px;padding:32px;display:grid}.case-project-cover{background:var(--ui-soft);min-width:0;overflow:hidden}.case-project-cover img{aspect-ratio:1.4;object-fit:contain;width:100%;display:block}.case-project-copy{flex-direction:column;justify-content:center;gap:14px;display:flex}.case-project-copy>span{color:var(--ui-muted);letter-spacing:.08em;font-size:13px}.case-project-copy h2{font-size:30px;font-weight:var(--ui-weight-semibold);margin:0}.case-project-copy p{color:var(--ui-text);margin:0;font-size:14px;line-height:1.9}.case-project-copy a{align-self:flex-start}.case-archive{border-top:1px solid var(--ui-line);color:var(--ui-muted);margin-top:32px;padding-top:24px;font-size:13px}.case-archive summary{cursor:pointer}.case-archive ul{margin:16px 0 0;padding-left:20px;line-height:2}@media (width<=900px){.case-study-layout{grid-template-columns:1fr}.case-study-viewer .savoye-model{height:400px}}@media (width<=600px){.case-experience-header{padding:14px 16px;font-size:13px}.case-experience-heading{padding:16px 16px 0}.case-experience-heading h3{font-size:21px}.case-topic-tabs{gap:5px;padding:0 16px 14px}.case-topic-tabs button{gap:4px;font-size:13px}.case-experience-caption{padding:14px 16px}.case-experience-caption>a{font-size:13px}.case-model-note{padding:9px 16px}.case-fit-button{right:14px}.case-study-page{padding-top:32px;padding-bottom:40px}.case-study-meta{font-size:13px}.case-study-viewer .savoye-model{height:340px}.case-reflection{padding:20px}.case-reflection>div{grid-template-columns:1fr}.case-study-reading{padding:20px}.case-project-card{grid-template-columns:1fr;gap:20px;padding:20px}}.case-experience :is(button,a),.case-study-page :is(button,a){transition:color .18s,background .18s,border-color .18s}.case-fit-button,.case-view-tools button,.case-model-fallback button{min-height:36px;padding:7px 12px}.case-reflection button,.case-study-links a{min-height:44px}.case-archive summary,.case-drawing-reference summary{align-items:center;gap:8px;min-height:44px;display:flex}.case-archive summary:before,.case-drawing-reference summary:before{content:"+";color:var(--ui-blue);font-size:18px}.case-archive[open] summary:before,.case-drawing-reference[open] summary:before{content:"−"}.case-reflection button:hover,.case-study-links a:hover{border-color:var(--ui-blue);background:var(--ui-soft)}@media (width<=760px){.case-fit-button,.case-view-tools button,.case-model-markers button,.case-model-fallback button{min-height:44px}.case-model-markers button{width:44px;height:44px}.case-view-tools{gap:6px;right:12px}.case-project-card{padding:24px}}
