/* Shared project story: compact context, inspectable work, readable decisions. */
.case-intro{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;align-items:start;padding-block:8px 28px}
.case-intro__copy{grid-area:1/1}.case-intro>.project-gallery{grid-area:1/2/span 2}.case-brief{grid-area:2/1;border-top:1px solid var(--ds-line);padding-top:20px;font-size:13px;line-height:1.8}.case-brief h2{font-size:20px}.case-brief>.case-section__label{margin-bottom:12px}.case-brief .case-context{font-size:11px}
.case-intro__copy{min-width:0}.case-intro h1{font-size:34px!important;line-height:1.15!important;max-width:22ch;margin:12px 0 18px!important}.case-lede{font-size:15px;line-height:1.75;max-width:54ch}.case-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin:20px 0}.case-actions .btn{font-size:12px;min-height:44px;padding:10px 20px}.case-actions .text-link{font-size:12px;display:inline-flex;align-items:center;min-height:44px}
.case-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;border-top:1px solid var(--ds-line);padding-top:18px}.case-facts dt{font-size:11px;color:var(--ds-muted);margin-bottom:4px}.case-facts dd{font-size:12px;color:var(--ds-ink)}
.project-gallery{min-width:0;border:1px solid var(--ds-line);border-radius:10px;overflow:hidden;background:var(--ds-page)}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;background:var(--ds-surface);border-bottom:1px solid var(--ds-line)}.gallery-label{font-size:11px;margin-left:8px;color:var(--ds-muted)}.gallery-tabs{display:flex;gap:2px;margin-left:auto}.gallery-tabs button,.gallery-enlarge{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ds-muted);font:500 11px/1.3 var(--ds-font);padding:8px;cursor:pointer}.gallery-tabs button[aria-selected=true]{background:var(--ds-tint);border-color:var(--ds-line-strong);color:var(--ds-ink)}.gallery-tabs button:hover,.gallery-enlarge:hover{color:var(--ds-ink);background:var(--ds-page)}.gallery-tabs svg,.gallery-enlarge svg{width:17px;height:17px;flex:none}.gallery-enlarge{width:44px;flex:none}
.gallery-stage{aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden}.gallery-stage img{width:100%;height:100%;max-height:440px;object-fit:contain;display:block}.project-gallery figcaption{padding:12px 16px;min-height:65px;font-size:11px;line-height:1.7;color:var(--ds-muted);background:var(--ds-surface);border-top:1px solid var(--ds-line)}.gallery-fallback{padding:12px;font-size:12px}.gallery-fallback a{text-decoration:underline}
.case-section{display:grid;grid-template-columns:minmax(150px,.45fr) minmax(0,1.55fr);gap:28px;padding:28px 0;border-top:1px solid var(--ds-line)}.case-section__label{display:flex;align-items:baseline;gap:12px}.case-section__label>span{color:var(--ds-muted);font:11px/1.5 var(--ds-mono)}.case-section h2{font-size:22px}.case-section__body{max-width:72ch;font-size:14px;line-height:1.8}.case-context{margin-top:14px!important;color:var(--ds-muted);font-size:12px}.case-decisions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0}.case-decisions article{padding-left:16px;border-left:2px solid var(--ds-line-strong)}.case-decisions h3,.case-next h3{font-size:16px;margin-bottom:8px}.case-decisions p{font-size:13px;line-height:1.8}.case-next{background:var(--ds-page);border-radius:8px;padding:16px 20px;margin-top:20px}.case-next p{font-size:13px}.project-case .page-footer-nav{padding-top:20px}.project-case .page-footer-nav a{display:flex;flex-direction:column;justify-content:center;min-height:64px;padding:8px;border-radius:8px}.project-case .page-footer-nav a:hover{background:var(--ds-page)}.project-case .page-footer-nav a:first-child{margin-left:-8px}.project-case .page-footer-nav a:last-child{margin-right:-8px}
.preview-dialog{position:fixed;inset:0;margin:auto;width:min(1200px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:16px;border:1px solid var(--ds-line);border-radius:12px;background:var(--ds-surface);color:var(--ds-ink);overflow:auto;box-shadow:0 20px 80px #0004}.preview-dialog::backdrop{background:#10151dcc;backdrop-filter:blur(5px)}.preview-dialog__bar{position:sticky;top:-16px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--ds-surface);padding:0 0 12px;font-size:13px}.preview-dialog__bar .btn{font-size:12px;white-space:nowrap;min-height:44px}.preview-dialog>img{display:block;max-width:100%;max-height:calc(100dvh - 172px);width:auto;height:auto;margin:auto;object-fit:contain}.preview-dialog>p{font-size:12px;margin-top:12px;color:var(--ds-muted)}
@media(width < 1200px){.case-intro{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:24px}.gallery-label{display:none}.case-intro h1{font-size:30px!important}.case-section{grid-template-columns:160px minmax(0,1fr);gap:24px}.gallery-tabs{margin-left:0}.gallery-toolbar{padding:6px}}
@media(width < 1000px){.case-intro{grid-template-columns:1fr}.case-intro__copy{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:0 28px}.case-intro__copy>.eyebrow,.case-intro__copy>h1,.case-lede,.case-actions{grid-column:1}.case-intro__copy .case-facts{grid-column:2;grid-row:2/5;display:flex;flex-direction:column;border:0;padding-top:0;align-self:start}.case-actions{margin-bottom:0}.gallery-label{display:block}.gallery-tabs{margin-left:auto}.gallery-stage{aspect-ratio:16/9}.gallery-stage img{max-height:380px}.project-gallery figcaption{min-height:44px}.case-section{grid-template-columns:1fr;gap:18px}}
@media(width < 600px){.case-intro{padding-top:0;gap:20px}.case-intro__copy{display:block}.case-intro h1{font-size:28px!important}.case-lede{font-size:14px}.case-intro__copy .case-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ds-line);padding-top:16px;margin-top:16px}.case-facts dd{font-size:11px}.gallery-label{display:none}.gallery-tabs{margin-left:0;flex:1}.gallery-tabs button{flex:1;padding:8px 5px;gap:4px;font-size:10px}.gallery-tabs svg{width:15px;height:15px}.gallery-enlarge{width:36px}.gallery-stage{aspect-ratio:4/3}.project-gallery figcaption{min-height:65px;padding:12px;font-size:11px}.case-section{padding:24px 0}.case-section h2{font-size:21px}.case-section__body{font-size:13px}.case-decisions{grid-template-columns:1fr;gap:18px}.case-next{padding:16px}.preview-dialog{width:calc(100vw - 16px);padding:12px}.preview-dialog__bar{top:-12px;align-items:start}.preview-dialog__bar>span{font-size:12px}.preview-dialog__bar .btn{padding:8px 12px}.project-case .page-footer-nav{gap:12px}}
@media(prefers-reduced-motion:reduce){.project-case *{scroll-behavior:auto!important;transition:none!important}}
@media(width >= 1000px){.gallery-stage{aspect-ratio:3/2}}
@media(width < 1000px){.case-intro__copy,.case-intro>.project-gallery,.case-brief{grid-area:auto}.case-brief h2{font-size:22px}.case-brief{padding-top:24px}}
.project-gallery:not(:has(.gallery-tabs)) .gallery-label{display:block}.gallery-enlarge{margin-left:auto}
.gallery-stage{position:relative}.gallery-stage img{position:absolute;inset:0;max-height:none}

/* The brief reads as the first numbered section, full width under the preview, like 02
   and 03 below it. The preview no longer leaves an empty block beside the brief. */
@media(width >= 1000px){
 .case-intro>.project-gallery{grid-area:1/2}
 .case-brief{grid-area:2/1/3/3;display:grid;grid-template-columns:minmax(150px,.45fr) minmax(0,1.55fr);column-gap:28px;padding:28px 0 0;font-size:14px;line-height:1.8}
 .case-brief>.case-section__label{grid-row:1/span 2;align-self:start;margin:0}
 .case-brief>p{grid-column:2;max-width:72ch}
 .case-brief h2{font-size:22px}
 .case-brief .case-context{font-size:12px}
}
@media(1000px <= width < 1200px){.case-brief{grid-template-columns:160px minmax(0,1fr);column-gap:24px}}
