/* Desktop project galleries. Every screenshot keeps its intrinsic proportions. */
body.case-study { --container-max: 1520px; }
.case-page.container { padding-top: 42px; padding-bottom: 48px; }
.case-crumb { display:inline-flex;align-items:center;min-height:36px;color:var(--text-secondary);font-size:14px;margin-bottom:38px; }
.case-crumb:hover,.project-text-link:hover { color:var(--signal-vermilion); }
.project-heading { display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start; }
.case-kicker { color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 15px; }
.case-title { margin:0;font:500 clamp(48px,6.2vw,94px)/1.05 var(--font-display);letter-spacing:-.065em;text-wrap:initial; }
.case-intro { max-width:43ch;color:var(--text-primary);font-size:clamp(19px,1.65vw,24px);line-height:1.6;text-wrap:pretty; }
.case-links { display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px;margin-top:25px; }
.case-live-link { display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:48px;padding:12px 20px;border-radius:8px;background:var(--signal-vermilion);color:#fff;font-size:15px;font-weight:600;transition:transform var(--motion-state) var(--transition); }
.case-live-link:hover { background:var(--signal-vermilion-hover); }
.case-live-link span { transition:transform var(--motion-state) var(--transition); }
.case-live-link:hover span { transform:translate(2px,-2px); }
.project-text-link { display:inline-flex;align-items:center;min-height:44px;color:var(--text-secondary);font-size:14px; }
.project-facts { display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:40px 0 30px;padding:22px 0;border-top:1px solid var(--line-medium); }
.project-facts dt { color:var(--text-secondary);font-size:13px;line-height:1.5;margin-bottom:6px; }
.project-facts dd { margin:0;font-size:16px;color:var(--text-primary);line-height:1.5; }
.case-hero,.case-hero__asset { margin:0;padding:0; }
.project-figure { min-width:0;margin:0; }
.project-screen { display:block;width:100%;min-width:0;overflow:hidden;border:1px solid var(--line-medium);border-radius:10px;background:var(--bg-surface); }
.project-screen__chrome { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;width:100%;height:34px;padding:0 14px;background:#eeedeb;border-bottom:1px solid #d9d8d5;color:#686c70; }
.project-screen__controls { display:flex;align-items:center;gap:5px; }
.project-screen__controls i { display:block;width:7px;height:7px;border-radius:50%;background:#c0c0bb; }
.project-screen__controls i:first-child { background:#dba39a; }
.project-screen__controls i:nth-child(2) { background:#d7c59c; }
.project-screen__controls i:last-child { background:#aebea5; }
.project-screen__address { font-size:11px;line-height:1.2;letter-spacing:.01em; }
.project-screen__corner { justify-self:end;font-size:13px;line-height:1; }
.project-screen>a { display:block;width:100%;padding:0;margin:0;line-height:0;cursor:zoom-in; }
.project-screen img,.case-hero__asset img { display:block;width:100%;max-width:none;height:auto;aspect-ratio:auto;object-fit:contain;margin:0;padding:0;border:0;transform:none; }
.project-figure figcaption { display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:14px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.5; }
.project-figure figcaption a { text-decoration:underline;text-underline-offset:4px; }
.project-figure figcaption a:hover { color:var(--text-white); }
.project-overview { display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:72px 0 64px; }
.project-overview h2 { max-width:21ch;font-size:clamp(28px,2.7vw,43px);line-height:1.2;font-weight:500;letter-spacing:-.045em; }
.project-overview__body>p { color:var(--text-secondary);font-size:19px;line-height:1.75;max-width:58ch; }
.project-decisions { list-style:none;padding:0;margin:25px 0 0; }
.project-decisions li { margin:0;padding:16px 0;border-top:1px solid var(--line-subtle);font-size:17px;line-height:1.7;color:var(--text-secondary); }
.project-section { padding:48px 0; }
.project-section__heading { display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start;margin-bottom:25px; }
.project-section__heading h2 { font-size:clamp(26px,2.35vw,36px);line-height:1.22;letter-spacing:-.04em;font-weight:500; }
.project-section__heading p { max-width:56ch;font-size:18px;line-height:1.7;color:var(--text-secondary); }
.project-film video { display:block;width:100%;height:auto;aspect-ratio:auto;border:1px solid var(--line-medium);border-radius:10px;background:var(--bg-surface); }
.project-note { padding:12px 0 48px;font-size:14px;color:var(--text-secondary);line-height:1.6; }
.case-outro { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:38px 0;border-top:1px solid var(--line-medium);border-bottom:1px solid var(--line-medium); }
.case-outro .case-kicker { margin-bottom:10px; }
.case-outro h2 { max-width:30ch;font-size:clamp(25px,2.7vw,40px);font-weight:500;letter-spacing:-.045em; }
.case-next { display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:38px; }
.case-next>a:last-child { display:flex;flex-direction:column;align-items:flex-end;gap:8px; }
.case-next span { font-size:13px;color:var(--text-secondary); }
.case-next strong { font:500 clamp(24px,2.8vw,42px)/1.2 var(--font-display);letter-spacing:-.04em; }
.case-next strong:hover { color:var(--signal-vermilion); }
.case-study [id] { scroll-margin-top:120px; }
@media(max-width:900px) {
 .project-heading,.project-overview,.project-section__heading { gap:6%; }
 .case-title { font-size:clamp(44px,7vw,65px); }
 .project-heading__summary .case-intro { font-size:19px; }
 .case-links { gap:8px 16px; }
}
@media(max-width:640px) {
 .case-page.container { padding-top:28px; }
 .case-crumb { margin-bottom:25px; }
 .project-heading,.project-overview,.project-section__heading { grid-template-columns:1fr;gap:22px; }
 .case-title { font-size:clamp(43px,12vw,64px);letter-spacing:-.055em; }
 .case-intro { font-size:18px;line-height:1.65;max-width:42ch; }
 .case-kicker { font-size:13px;margin-bottom:10px; }
 .case-links { margin-top:20px; }
 .case-live-link { padding:11px 15px;font-size:14px;gap:18px; }
 .project-facts { grid-template-columns:1fr;gap:14px;padding:20px 0;margin:28px 0 22px; }
 .project-facts>div { display:grid;grid-template-columns:90px 1fr;gap:14px; }
 .project-facts dt { margin:0; }
 .project-facts dd { font-size:14px; }
 .project-screen { border-radius:6px; }
 .project-screen__chrome { height:26px;padding-inline:9px;gap:9px; }
 .project-screen__controls { gap:4px; }
 .project-screen__controls i { width:5px;height:5px; }
 .project-screen__address { font-size:9px; }
 .project-figure figcaption { flex-wrap:wrap;gap:6px;font-size:12px;padding-top:10px; }
 .project-overview { padding:42px 0 22px; }
 .project-overview h2 { font-size:30px; }
 .project-overview__body>p { font-size:18px; }
 .project-decisions { margin-top:18px; }
 .project-decisions li { font-size:16px;padding:13px 0; }
 .project-section { padding:30px 0; }
 .project-section__heading { gap:12px;margin-bottom:19px; }
 .project-section__heading h2 { font-size:27px; }
 .project-section__heading p { font-size:17px;line-height:1.65; }
 .project-note { font-size:13px;padding-top:5px;padding-bottom:30px; }
 .case-outro { align-items:flex-start;flex-direction:column;gap:22px;padding:28px 0; }
 .case-next { padding-top:28px; }
}
@media(prefers-reduced-motion:reduce) {
 .case-study *, .case-study *::before,.case-study *::after { scroll-behavior:auto!important;transition:none!important; }
}
