/* Project studies use invented visual layouts and explicitly fictional scenarios. */
.portfolio-intro{max-width:850px}.portfolio-intro p{max-width:750px;line-height:1.7}
.case-filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 12px;align-items:center}
.case-filter-bar button{border:1px solid #52635f;border-radius:50px;background:transparent;color:var(--fg);padding:11px 18px;font-weight:750}
.case-filter-bar button[aria-pressed="true"]{background:var(--acid);color:#121814;border-color:var(--acid)}
.case-results{min-height:2em;font-size:.84rem;color:var(--muted)}
.case-exhibition{display:grid;gap:32px;margin:20px 0 76px}
.case-feature{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);background:#111d20;border:1px solid #425651;border-radius:23px;overflow:hidden;min-width:0}
.case-stage{padding:clamp(16px,3vw,36px);background:linear-gradient(145deg,#1d2c2d,#10181a);min-width:0}
.case-stage.clinic{background:radial-gradient(circle at 5% 0,#626d51 0,transparent 35%),linear-gradient(145deg,#314447,#111b1b)}
.case-stage.retail{background:radial-gradient(circle at 85% 5%,#51422e 0,transparent 42%),linear-gradient(145deg,#283230,#111718)}
.case-stage.hospitality{background:radial-gradient(circle at 5% 90%,#714d38 0,transparent 45%),linear-gradient(145deg,#39322d,#151917)}
.case-stage-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:18px;color:#e4edeb;font:700 .65rem ui-monospace,monospace;letter-spacing:.08em}
.case-visual{position:relative;aspect-ratio:1.43;background:#e6e1d6;border:7px solid #f5f5ef;border-radius:13px;overflow:hidden;color:#2d3832;isolation:isolate}
.case-before,.case-after{position:absolute;inset:0;display:flex;flex-direction:column;align-items:start;justify-content:space-between;padding:clamp(15px,3.5vw,35px);overflow:hidden}
.case-before{background:#e4e4dc;font-family:Arial,sans-serif;color:#505852}
.case-before strong{font-size:clamp(1rem,3vw,2.1rem);letter-spacing:-.05em}.case-before p{font-size:.7rem;max-width:230px}.case-before .fake-broken{background:#a0a7a1;color:#101910;padding:8px 12px;border-radius:2px}
.case-after{background:#e5ded0;color:#303d36}.case-after .art-label,.case-before .art-label{font:750 .65rem ui-monospace,monospace;letter-spacing:.08em;white-space:nowrap}
.case-after h3{font:500 clamp(1.65rem,4.7vw,4.5rem)/.97 Georgia,serif;letter-spacing:-.07em;margin:10px 0}.case-after p{font-size:.75rem;max-width:250px}
.case-after .case-pill{background:#243d36;color:#faf9ec;border-radius:100px;font-size:.71rem;padding:9px 13px}
.clinic .case-after{background:radial-gradient(circle at 85% 66%,#a6ad90 0 12%,transparent 12.2%),linear-gradient(120deg,#e8dccb,#b9c5b1)}
.retail .case-after{background:radial-gradient(ellipse at 85% 46%,#aa8c53 0 4%,#d9b978 5% 5.8%,transparent 6.2%),linear-gradient(120deg,#222928,#635440);color:#f1e6c9}
.retail .case-after .case-pill{background:#d7bd86;color:#1d1d1c}
.hospitality .case-after{background:radial-gradient(circle at 84% 72%,#b98260 0 15%,#f9e1bb 15.2% 18%,transparent 18.2%),linear-gradient(130deg,#6c3b2c,#a86546);color:#fff0d5}
.hospitality .case-after .case-pill{background:#f3e2c4;color:#352117}
.case-slider-label{display:block;margin-top:19px;color:#ecf3e8;font-size:.79rem;font-weight:700}
.case-slider{display:block;width:100%;accent-color:var(--acid);margin-top:7px}
.case-caption{font:.7rem ui-monospace,monospace;color:#becdc5;margin:10px 0 0}
.case-narrative{padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;align-items:start;gap:12px}
.case-narrative h2{margin:0;font-size:clamp(1.6rem,2.6vw,2.55rem);line-height:1.1;letter-spacing:-.055em}
.case-narrative p{color:#d5deda;font-size:.88rem;line-height:1.65;margin:0}
.case-meta{display:flex;flex-wrap:wrap;gap:8px;margin:7px 0}.case-meta span{border:1px solid #60716b;border-radius:100px;padding:6px 10px;font-size:.69rem;color:#d3e4db}
.case-details{border-top:1px solid #52635d;padding-top:15px;margin-top:5px;width:100%}
.case-details ul{padding-left:20px;color:#d6dfd8;font-size:.84rem;line-height:1.8}
.case-detail-toggle{border:1px solid #718376;border-radius:9px;background:transparent;color:#d9f973;padding:11px 15px;font-weight:800;margin-top:auto}
.case-prompt{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;padding:35px;background:#1c2c29;border:1px solid #667862;border-radius:20px;margin-bottom:80px}.case-prompt h2{font-size:clamp(1.8rem,4vw,3.1rem);letter-spacing:-.06em;margin:5px 0}
.case-note{font-size:.82rem;color:#dae6d8;background:#263631;border-left:4px solid var(--acid);padding:16px 18px;line-height:1.65}
@media(max-width:800px){.case-feature{grid-template-columns:1fr}.case-visual{aspect-ratio:1.35}}
@media(max-width:460px){.case-visual{aspect-ratio:1.12}.case-after h3{font-size:2.1rem}.case-after,.case-before{padding:15px}.case-stage{padding:14px}}
.quick-nav-trigger{position:fixed;right:18px;bottom:19px;z-index:70;border:1px solid #7a8b7b;background:#182621;color:#e9f4e6;border-radius:100px;padding:11px 18px;box-shadow:0 7px 30px #000b;font:750 .77rem ui-monospace,monospace;letter-spacing:.02em}
.quick-nav{background:#182622;color:#eef5e8;border:1px solid #73846f;border-radius:20px;width:min(550px,calc(100vw - 30px));max-height:min(650px,85dvh);padding:0;box-shadow:0 30px 110px #000b}
.quick-nav::backdrop{background:rgba(3,8,9,.82);backdrop-filter:blur(7px)}
.quick-nav-inner{padding:clamp(18px,5vw,30px)}.quick-nav h2{font-size:2rem;letter-spacing:-.06em;margin:0}
.quick-nav p{color:#c2d2c7;font-size:.85rem}.quick-nav input{width:100%;padding:15px;border-radius:10px;background:#0b1714;border:1px solid #99ab9e;color:white;min-height:48px;margin:10px 0}
.quick-nav-list{display:grid;gap:5px;max-height:42vh;overflow-y:auto}.quick-nav-list a{padding:11px 12px;border:1px solid #40554a;border-radius:9px;font-weight:650;font-size:.88rem}.quick-nav-list a:hover,.quick-nav-list a:focus-visible{background:#354b3c}
.quick-nav-close{background:none;color:#e8fbca;border:0;padding:12px 0;text-decoration:underline;margin-top:9px}
@media(max-width:620px){.quick-nav-trigger{bottom:9px;right:9px;padding:9px 12px;font-size:.68rem}.footer{padding-bottom:50px}}
@media(forced-colors:active){.case-visual,.case-feature,.quick-nav,.quick-nav-list a{border:2px solid CanvasText}}
@media(prefers-reduced-motion:reduce){.quick-nav,.quick-nav-trigger{animation:none;transition:none}}
