/* One shared, responsive typesetting system for the homepage and editor. */
.case-card{container-type:inline-size;position:relative;display:block;isolation:isolate;overflow:hidden;border-radius:6px;background:#ecefed;color:var(--ink);text-decoration:none;width:100%;aspect-ratio:1.65;font-family:Arial,'Microsoft YaHei',sans-serif}
.case-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.case-wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#f4f4f1f5 0%,#f4f4f1e8 35%,#f4f4f150 67%,transparent 100%)}
.case-card:not(:has(.case-background)){background:radial-gradient(ellipse at 92% 90%,#b9c9be,transparent 52%),linear-gradient(140deg,#f3f1e9,#dce6e5)}
.case-copy{position:absolute;inset:0 auto 0 0;display:flex;flex-direction:column;align-items:flex-start;width:66%;padding:6cqi 0 6cqi 6cqi;overflow-wrap:anywhere}
.case-copy h3{font-size:clamp(20px,7.5cqi,48px);line-height:1.08;letter-spacing:-.045em;font-weight:600;margin:0 0 2cqi}
.case-subtitle{font-size:clamp(11px,3.2cqi,18px);line-height:1.5;margin:0 0 2cqi;white-space:pre-wrap}
.case-note{font-size:clamp(10px,2.7cqi,14px);line-height:1.6;color:#59635f;margin:0 0 2cqi;white-space:pre-wrap}
.case-copy h3,.case-subtitle,.case-note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;flex-shrink:0}
.case-cta{display:inline-flex;gap:3cqi;align-items:center;background:#171c1a;color:white;border-radius:99px;padding:1.8cqi 3cqi;font-size:clamp(10px,2.7cqi,13px);line-height:1.4;margin-top:auto;max-width:100%;flex-shrink:0}
a.case-card:hover .case-cta{background:#315d4c}a.case-card:focus-visible{outline:3px solid #2879de;outline-offset:4px}
.case-right .case-copy{inset:0 0 0 auto;padding:6cqi 6cqi 6cqi 0}.case-right .case-wash{transform:scaleX(-1)}
.case-dark{color:#fff;background:#172a2a}.case-dark:not(:has(.case-background)){background:radial-gradient(ellipse at 92% 90%,#4f6c65,transparent 52%),#172a2a}.case-dark .case-wash{background:linear-gradient(90deg,#152122fa 0%,#152122ed 35%,#15212255 67%,transparent 100%)}.case-dark .case-note{color:#d3deda}.case-dark .case-cta{background:#fff;color:var(--ink)}
.home-project-grid{align-items:start}
.adm-case-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.adm-case-list>.adm-panel{padding:18px}.adm-case-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.adm-case-meta small{color:#7d8b9d}.adm-case-list .adm-row-actions{border-top:1px solid #e5ebf1;padding-top:14px}
.adm-case-editor{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,1fr);gap:24px;align-items:start}.adm-case-fields{display:grid;gap:22px;min-width:0}.adm-case-fields h2{font-size:16px;margin-bottom:24px}.adm-case-preview{position:sticky;top:24px;min-width:0}.adm-case-preview>.adm-panel{padding:20px}.adm-case-tools{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.adm-case-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.adm-case-options select{display:block;width:100%;padding:10px;margin-top:9px;border:1px solid #dfe6ef;border-radius:5px;background:#fff;font:inherit}.adm-case-fields .adm-footnote{margin:12px 0 18px}#casePromptPanel{margin:18px 0}#casePrompt{font-size:12px;line-height:1.8}#caseStatus,#caseUploadStatus{font-size:12px;line-height:1.8;color:#526e8f;margin-top:16px;overflow-wrap:anywhere}#caseSuggestions .case-card{margin-top:14px}#caseSuggestions[hidden],#casePromptPanel[hidden]{display:none}
.build-custom{padding-top:36px;padding-bottom:50px}.build-custom>.case-card{max-width:900px;margin:30px auto}.build-custom-info{max-width:800px;margin:40px auto}.build-custom-info h1{font-size:clamp(32px,6vw,64px);line-height:1.2;overflow-wrap:anywhere}.build-custom-info p{white-space:pre-wrap;line-height:1.9;color:#64716b;margin-top:20px}
@media(max-width:1150px){.adm-case-editor{grid-template-columns:1fr}.adm-case-preview{position:static;grid-row:1}.adm-case-preview .case-card{max-width:600px;margin:auto}.adm-case-list{grid-template-columns:1fr}.home-project-grid{grid-template-columns:1fr}}
@media(max-width:600px){.adm-case-options{grid-template-columns:1fr}.adm-case-preview>.adm-panel{padding:12px}}
