/* Product cases: concise evidence, visible decisions, and a distinct identity. */
.case-study { --case-accent:#a8bec9; }
.case-study.pg-persona { --case-accent:#d4a184; }
.case-study main { overflow-x:clip; }
.case-study .cs-hero { padding:clamp(34px,5vw,68px) 0 42px; }
.cs-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.06fr); gap:clamp(28px,5vw,68px); align-items:center; margin-top:38px; }
.cs-project { font:11px/1.5 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--case-accent); }
.case-study .cs-title { margin:18px 0 0; font-size:clamp(2.5rem,4.4vw,4.45rem); line-height:1.13; letter-spacing:-.055em; font-weight:730; word-break:keep-all; text-wrap:balance; }
html[lang="en"] .case-study .cs-title { font-size:clamp(2.25rem,3.5vw,3.6rem); letter-spacing:-.045em; }
.cs-lead { margin-top:24px; max-width:38em; color:var(--ink-2); font-size:clamp(.96rem,1.3vw,1.07rem); line-height:1.85; word-break:keep-all; }
.cs-status { display:flex; flex-wrap:wrap; gap:8px; margin-top:23px; }
.cs-status span { border:1px solid var(--line-2); padding:6px 10px; color:var(--ink-2); font-size:.69rem; line-height:1.5; }
.cs-art { margin:0; align-self:center; }
.cs-art img { display:block; width:100%; height:auto; aspect-ratio:8/5; object-fit:contain; border:1px solid var(--line-2); }
.cs-art figcaption { margin-top:10px; color:var(--ink-3); font-size:.64rem; line-height:1.55; }
.cs-ownership { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:24px 0; margin-top:35px; border-top:1px solid var(--line-2); }
.cs-ownership dt { font-size:.65rem; color:var(--ink-3); letter-spacing:.1em; text-transform:uppercase; }
.cs-ownership dd { font-size:.88rem; line-height:1.7; margin-top:6px; color:var(--ink-2); }
.cs-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); }
.cs-proof > div { padding:25px 24px 25px 0; }
.cs-proof > div + div { border-left:1px solid var(--line-2); padding-left:24px; }
.cs-proof dt { font-size:.73rem; color:var(--ink-2); }
.cs-proof dd { margin-top:9px; font-size:clamp(1.5rem,2.8vw,2.6rem); line-height:1.3; font-weight:650; letter-spacing:-.04em; }
.cs-proof small { display:block; font-size:.7rem; color:var(--ink-3); line-height:1.65; margin-top:7px; font-weight:400; letter-spacing:0; }
.cs-section { padding:clamp(44px,6vw,76px) 0; border-bottom:1px solid var(--line); }
.cs-section-head { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:end; gap:24px 50px; margin-bottom:30px; }
.cs-kicker { display:block; font:10px/1.5 var(--font-mono); letter-spacing:.12em; color:var(--case-accent); text-transform:uppercase; margin-bottom:14px; }
.cs-section h2 { font-size:clamp(1.9rem,3.2vw,3rem); line-height:1.2; letter-spacing:-.045em; font-weight:660; word-break:keep-all; text-wrap:balance; }
.cs-section-head > p { max-width:39em; color:var(--ink-2); font-size:.92rem; line-height:1.8; word-break:keep-all; }
.cs-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.cs-card { padding:26px; border:1px solid var(--line-2); background:rgba(255,255,255,.025); min-width:0; }
.cs-card .cs-number { font:11px/1.5 var(--font-mono); color:var(--case-accent); }
.cs-card h3 { margin-top:18px; font-size:1.22rem; line-height:1.45; font-weight:630; letter-spacing:-.025em; word-break:keep-all; }
.cs-card > p { margin-top:12px; color:var(--ink-2); font-size:.87rem; line-height:1.8; word-break:keep-all; }
.cs-card .cs-takeaway { padding-top:14px; margin-top:20px; border-top:1px solid var(--line); color:var(--ink); font-size:.78rem; }
.cs-surface { background:var(--ivory); color:var(--iv-ink); --case-accent:#566d79; }
.pg-persona .cs-surface { --case-accent:#946249; }
.cs-surface .cs-section-head > p,.cs-surface .cs-card > p { color:var(--iv-ink-2); }
.cs-surface .cs-card { background:rgba(255,255,255,.3); border-color:var(--iv-line-2); }
.cs-surface .cs-card .cs-takeaway { color:var(--iv-ink); border-color:var(--iv-line); }
.cs-contrast { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--iv-line-2); border:1px solid var(--iv-line-2); }
.cs-contrast > div { padding:28px; background:var(--ivory); }
.cs-contrast > div:last-child { background:#f6f5f1; }
.cs-contrast span { font:10px/1.5 var(--font-mono); letter-spacing:.1em; color:var(--case-accent); }
.cs-contrast h3 { margin-top:13px; font-size:1.35rem; line-height:1.45; letter-spacing:-.03em; }
.cs-contrast p { margin-top:12px; color:var(--iv-ink-2); font-size:.88rem; line-height:1.8; }
.cs-decisions { display:grid; gap:0; }
.cs-decision { display:grid; grid-template-columns:64px minmax(0,.8fr) minmax(0,1.3fr); gap:22px; padding:28px 0; border-top:1px solid var(--line-2); align-items:start; }
.cs-decision > span { font:12px/1.7 var(--font-mono); color:var(--case-accent); }
.cs-decision h3 { font-size:1.18rem; line-height:1.55; letter-spacing:-.025em; }
.cs-decision p { font-size:.9rem; line-height:1.85; color:var(--ink-2); word-break:keep-all; }
.cs-evidence { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:clamp(25px,5vw,65px); align-items:start; }
.cs-evidence-copy p { margin-top:20px; color:var(--ink-2); line-height:1.85; font-size:.92rem; }
.cs-evidence-list { display:grid; gap:0; border-top:1px solid var(--line-2); }
.cs-evidence-list > div { padding:20px 0; border-bottom:1px solid var(--line-2); }
.cs-evidence-list dt { display:flex; justify-content:space-between; align-items:baseline; gap:16px; font-size:.9rem; line-height:1.6; }
.cs-evidence-list dt b { font-size:clamp(1.5rem,2.7vw,2.2rem); font-weight:630; letter-spacing:-.035em; color:var(--case-accent); white-space:nowrap; }
.cs-evidence-list dd { font-size:.79rem; line-height:1.8; color:var(--ink-2); margin-top:8px; }
.cs-scope { border-top:1px solid var(--line-2); margin-top:24px; padding-top:16px; font-size:.78rem; color:var(--ink-2); line-height:1.8; }
.cs-scope summary { cursor:pointer; min-height:32px; color:var(--ink); }
.cs-scope p { margin-top:10px; }
.cs-skills { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.cs-skills li { font-size:.74rem; padding:8px 12px; border:1px solid var(--line-2); }
.cs-closing { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.cs-closing blockquote { font-size:clamp(1.5rem,2.65vw,2.5rem); line-height:1.5; font-weight:570; letter-spacing:-.04em; word-break:keep-all; }
.cs-closing p { font-size:.92rem; line-height:1.85; color:var(--ink-2); word-break:keep-all; }
.case-study .cs-notes { padding:28px 0 0; }
.cs-notes summary { cursor:pointer; color:var(--ink-3); font-size:.73rem; min-height:40px; }
.cs-notes .notes { margin-top:12px; }
.cs-next { padding:38px 0 60px; }
.cs-next .next-case { margin-top:18px; }
@media(max-width:960px) {
 .cs-hero-grid { grid-template-columns:1fr; gap:30px; }
 .case-study .cs-title { font-size:clamp(2.5rem,6vw,4.2rem); }
 .cs-art { max-width:760px; }
 .cs-section-head { grid-template-columns:1fr; gap:18px; }
 .cs-cards { gap:12px; }
 .cs-card { padding:22px 18px; }
 .cs-evidence { grid-template-columns:1fr; }
}
@media(max-width:680px) {
 .cs-hero-grid { margin-top:28px; }
 .cs-lead { font-size:.94rem; }
 .cs-ownership { grid-template-columns:1fr; gap:16px; }
 .cs-proof { grid-template-columns:1fr; }
 .cs-proof > div,.cs-proof > div + div { padding:18px 0; border-left:0; }
 .cs-proof > div + div { border-top:1px solid var(--line); }
 .cs-proof dd { font-size:1.75rem; }
 .cs-cards,.cs-contrast,.cs-closing { grid-template-columns:1fr; }
 .cs-card { padding:24px; }
 .cs-card h3 { margin-top:10px; }
 .cs-decision { grid-template-columns:30px minmax(0,1fr); gap:10px 14px; padding:23px 0; }
 .cs-decision p { grid-column:2; }
 .cs-evidence-list dt { flex-wrap:wrap; gap:5px 15px; }
 .cs-section-head { margin-bottom:24px; }
 .cs-status { gap:7px; }
 .cs-closing { gap:20px; }
}
