.cases-page { background:var(--dark); color:var(--paper); }
.cases-page .header { position:relative; background:var(--dark); color:var(--paper); border-bottom-color:rgba(255,253,249,.2); }
.cases-page .header .wordmark img { filter:brightness(0) invert(1); }
.cases-page .header .nav-open { background:var(--dark); color:var(--paper); }
.cases-page .site-footer { background:var(--paper); color:var(--ink); }
.cases-content { padding:112px 4.5vw 112px; }
.cases-content h1 { width:auto; max-width:none; margin:0 0 28px; font-size:clamp(30px,6.4vw,132px); font-weight:300; line-height:1.08; letter-spacing:-.05em; white-space:nowrap; }
.cases-content h1 em { color:var(--muted); }
.case-list { margin-top:84px; }
.case-row { border-top:1px solid rgba(255,253,249,.2); }
.case-row:first-child { border-top:0; }
.case-row:last-child { border-bottom:1px solid rgba(255,253,249,.2); }
.case-summary { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr); align-items:start; gap:4vw; padding:36px 0; }
.case-brand { display:flex; flex-direction:column; gap:28px; }
.case-brand img { width:190px; max-width:100%; height:auto; object-fit:contain; object-position:left top; filter:none; }
.case-brand img.case-logo-invert { filter:brightness(0) invert(1); }
.case-photo { aspect-ratio:1; display:grid; place-items:center; background:linear-gradient(140deg,#333b3d,#252c2f); color:var(--muted); border:1px solid rgba(255,253,249,.1); transition:background .3s; }
.case-photo span { font-size:13px; }
.case-gallery { position:relative; overflow:hidden; background:#e9dfd1; border:0; }
.case-gallery::after { content:""; position:absolute; right:0; bottom:0; left:0; z-index:1; height:34%; pointer-events:none; background:linear-gradient(to bottom,transparent,rgba(20,25,27,.18)); }
.case-gallery-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1.8s cubic-bezier(.45,0,.2,1); }
.case-gallery-image.is-active { opacity:1; }
.case-gallery-dots { position:absolute; left:28px; bottom:28px; z-index:2; display:flex; align-items:center; gap:18px; }
.case-gallery-dots button { width:8px; height:8px; padding:0; border:1px solid rgba(255,253,249,.9); border-radius:50%; background:transparent; cursor:pointer; transition:background-color .25s,transform .25s; }
.case-gallery-dots button:hover,.case-gallery-dots button:focus-visible { transform:scale(1.25); outline:none; }
.case-gallery-dots button.is-active { background:#fffdf9; }
.case-copy { display:flex; flex-direction:column; align-self:stretch; min-width:0; }
.case-copy h3 { font-family:"Museo Sans",Arial,sans-serif; font-size:27px; font-weight:300; letter-spacing:-.025em; line-height:1.08; margin:0 0 18px; }
.case-copy p { max-width:440px; font-size:15px; font-weight:200; line-height:1.55; color:var(--muted); margin:auto 0 0; }
@media(max-width:1200px) and (min-width:901px) {
.cases-page .header { grid-template-columns:1fr auto; }
.cases-page .nav { gap:18px; }
.cases-page .header-actions { display:none; }
}
@media(max-width:900px) {
.cases-content { padding:72px 22px 72px; }
.case-summary { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
.case-brand { grid-column:1/-1; flex-direction:row; align-items:center; justify-content:space-between; }
.case-brand img { width:150px; height:auto; }
.case-list { margin-top:56px; }
}
@media(max-width:540px) {
.cases-content h1 { font-size:6.4vw; }
.case-summary { grid-template-columns:1fr; gap:24px; padding:28px 0; }
.case-copy h3 { font-size:27px; }
.case-photo { aspect-ratio:1; }
}
@media(prefers-reduced-motion:reduce) { .cases-page * { transition:none!important; scroll-behavior:auto; } }
