.case-page { --accent: var(--case-accent); }
.case-header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:100px; }
.back-link { color:var(--muted); font-size:13px; }
.back-link:hover { color:var(--accent); }
.case-hero { padding:64px 0 55px; }
.case-hero>.eyebrow { color:var(--accent); }
.case-hero h1 { font-size:clamp(48px,7.4vw,110px); letter-spacing:-.065em; line-height:1.02; margin:28px 0 42px; max-width:1100px; }
.case-intro { display:grid; grid-template-columns:1fr 1fr; gap:8%; }
.case-intro h2 { font:italic clamp(27px,3vw,45px)/1.15 Georgia,serif; letter-spacing:-1px; color:var(--accent); }
.case-intro p { color:#c1c2b8; font-size:16px; max-width:600px; }
.case-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; border-top:1px solid var(--line); margin:44px 0 27px; padding-top:25px; }
.case-facts dt { font:10px 'Courier New',monospace; letter-spacing:1px; color:var(--muted); margin-bottom:10px; }
.case-facts dd { margin:0; font-size:14px; line-height:1.5; }
.case-button { border:1px solid var(--accent); background:var(--accent); color:var(--bg); padding:14px 20px; display:inline-flex; align-items:center; justify-content:center; gap:24px; border-radius:3px; font-size:13px; line-height:1.5; }
.case-button:hover { filter:brightness(1.08); }
.case-button.secondary { background:transparent; color:var(--text); border-color:#696b5e; }
.case-cover-wrap { background:var(--case-accent); overflow:hidden; border-radius:4px; }
.case-cover { width:100%; max-height:650px; object-fit:contain; }
.case-type-cover { min-height:330px; padding:7%; display:flex; align-items:center; justify-content:space-between; gap:30px; color:var(--bg); }
.case-type-cover>span { font-size:clamp(28px,5vw,72px); letter-spacing:-2px; }
.case-type-cover>i { font-size:100px; font-style:normal; }
.case-nav { position:sticky; top:0; z-index:5; background:#151613f5; backdrop-filter:blur(12px); border-bottom:1px solid var(--line); display:flex; gap:35px; padding:24px 0; font-size:12px; }
.case-nav a:hover { color:var(--accent); }
.case-section { padding:75px 0; border-bottom:1px solid var(--line); scroll-margin-top:72px; }
.case-section .eyebrow { display:block; color:var(--accent); margin-bottom:24px; }
.case-section h2 { font-size:clamp(30px,3.1vw,46px); line-height:1.15; letter-spacing:-1.4px; }
.case-section p { color:#bfc0b6; font-size:15px; }
.overview-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; }
.overview-grid h2 { max-width:540px; }
.case-section-title { max-width:760px; margin-bottom:34px; }
.case-section-title>p { margin-top:18px; }
.decision-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.decision-grid article { border-top:1px solid #626552; padding-top:20px; }
.decision-grid .tiny { color:var(--accent); }
.decision-grid h3 { font-size:21px; line-height:1.3; margin:20px 0 15px; letter-spacing:-.4px; }
.decision-grid p { font-size:14px; }
.flow-heading { margin:55px 0 24px; }
.flow-heading h3 { font-size:22px; }
.flow-heading p { font-size:12px; margin-top:9px; color:var(--muted); }
.user-flow { list-style:none; padding:0; margin:0; display:flex; gap:12px; }
.user-flow li { flex:1; min-width:0; border:1px solid var(--line); padding:20px; position:relative; }
.user-flow li+li::before { content:'→'; position:absolute; left:-14px; top:40%; color:var(--accent); background:var(--bg); }
.user-flow .tiny { color:var(--accent); }
.user-flow h3 { font-size:17px; margin:12px 0 8px; }
.user-flow p { font-size:12px; }
.evidence-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px 25px; }
.evidence-grid figure { margin:0; min-width:0; }
.evidence-grid figure:only-child { grid-column:1/-1; }
.evidence-grid figure>a { display:block; position:relative; overflow:hidden; background:#24251f; }
.evidence-grid img { width:100%; height:auto; }
.enlarge { position:absolute; right:12px; bottom:12px; background:var(--bg); border:1px solid var(--line); border-radius:50%; width:32px; height:32px; display:grid; place-items:center; }
.evidence-grid figcaption { padding-top:18px; }
.evidence-grid h3 { font-size:19px; margin-bottom:9px; }
.evidence-grid p { font-size:13px; }
.preview-shell { border:1px solid #4e5144; border-radius:6px; overflow:hidden; background:#22231e; }
.preview-toolbar { padding:14px 20px; display:flex; justify-content:space-between; align-items:center; gap:15px; border-bottom:1px solid var(--line); }
.preview-toolbar>.tiny { color:var(--muted); font-size:10px; }
.device-switch { display:flex; gap:5px; }
.device-switch button { border:1px solid transparent; border-radius:3px; background:transparent; color:#bcbfb2; padding:9px 12px; font-size:12px; }
.device-switch button[aria-pressed=true] { background:var(--accent); color:var(--bg); }
.preview-stage { position:relative; overflow:hidden; min-height:300px; margin:auto; width:100%; }
.preview-placeholder { position:relative; height:480px; display:grid; place-items:center; }
.preview-placeholder>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.3; filter:blur(2px); }
.preview-placeholder>div { z-index:1; display:flex; flex-direction:column; align-items:center; gap:22px; background:#151613eb; padding:34px; border:1px solid #656851; border-radius:5px; text-align:center; }
.preview-placeholder .tiny { color:#c5c9bb; font-size:10px; }
.preview-stage iframe { display:block; border:0; background:white; transform-origin:top left; }
.preview-footer { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:15px 20px; flex-wrap:wrap; }
.preview-footer #preview-status { flex:1; min-width:180px; font-size:11px; }
.preview-footer>a,.preview-footer>button { font-size:12px; color:var(--accent); background:transparent; border:0; padding:6px 0; }
.preview-footer [hidden] { display:none; }
.case-actions { margin-top:23px; display:flex; flex-wrap:wrap; gap:12px; }
.design-scroll { height:630px; overflow:auto; background:#33352d; overscroll-behavior:contain; }
.design-scroll img { width:100%; margin:auto; }
.design-scroll.mobile img { width:min(100%,390px); }
.preview-footnote { padding:14px 20px; font-size:12px!important; }
.source-panel { padding:42px; background:var(--panel); margin-top:40px; }
.source-panel p { max-width:620px; margin-top:20px; }
.reflection>p { max-width:850px; margin-top:25px; line-height:1.85; }
.next-project { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; padding:60px 0; }
.next-project>.eyebrow { grid-column:1/-1; color:var(--muted); }
.next-project>span:nth-child(2) { font-size:clamp(30px,4vw,60px); letter-spacing:-1.5px; }
.next-project>b { font-size:50px; font-weight:400; color:var(--accent); }
.case-page .footer { border-top:1px solid var(--line); font-size:12px; }
@media(max-width:700px) {
 .case-header { min-height:80px; gap:12px; }.case-header .contact-pill { margin:0; font-size:10px; padding:10px; }.back-link { font-size:11px; }
 .case-hero { padding-top:35px; }.case-hero>.eyebrow { font-size:9px; }.case-hero h1 { font-size:clamp(43px,10vw,64px); margin:25px 0 30px; }
 .case-intro,.overview-grid { grid-template-columns:1fr; gap:24px; }.case-intro p { font-size:14px; }.case-intro h2 { font-size:31px; }
 .case-facts { grid-template-columns:1fr; gap:22px; margin-top:30px; }.case-facts dd { font-size:13px; }.case-facts dt { font-size:9px; }
 .case-nav { gap:18px; overflow-x:auto; white-space:nowrap; padding:19px 0; font-size:10px; }.case-section { padding-block:48px; scroll-margin-top:60px; }
 .case-section h2 { font-size:31px; }.case-section .eyebrow { font-size:9px; margin-bottom:19px; }.case-section p { font-size:14px; }
 .decision-grid { grid-template-columns:1fr; gap:28px; }.decision-grid h3 { margin-top:14px; }.user-flow { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.user-flow li { padding:15px; }.user-flow li+li::before { content:none; }.user-flow h3 { font-size:15px; }.user-flow p { font-size:12px; }
 .evidence-grid { grid-template-columns:1fr; gap:30px; }.evidence-grid p { font-size:12px; }.preview-toolbar { padding:12px; flex-wrap:wrap; }.preview-toolbar>.tiny { font-size:8px; }.device-switch button { font-size:11px; padding:8px; }
 .preview-placeholder { height:290px; }.preview-placeholder>div { padding:23px 15px; }.preview-placeholder .tiny { font-size:8px; }.preview-footer { padding:12px; }.preview-footer p { font-size:11px; }.design-scroll { height:510px; }
 .source-panel { padding:28px 20px; }.case-actions { flex-direction:column; align-items:stretch; }.case-button { font-size:12px; padding:13px 17px; }.case-type-cover { min-height:230px; }.case-type-cover>i { font-size:60px; }
 .next-project { padding:40px 0; }.next-project>b { font-size:34px; }.next-project>span:nth-child(2) { font-size:30px; }.case-page .footer p { width:auto; }
}
#gallery-preview{width:100%;height:auto;max-height:720px;object-fit:contain;background:#f5f5f0}
.video-stage{position:relative;aspect-ratio:16/9;background:#171917;display:grid;place-items:center}.video-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.65}.video-stage>.case-button{position:relative;z-index:1}.video-stage iframe{width:100%;height:100%;border:0;position:absolute;inset:0}.video-stage [hidden]{display:none}.case-page[style*="#dfdfb9"] .evidence-grid figure:last-child>a{background:#e5e6c9}.case-page[style*="#dfdfb9"] .evidence-grid figure:last-child img{height:360px;object-fit:contain;padding:40px}.case-cover{object-fit:contain}.user-flow{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
