*{box-sizing:border-box}
:root{color-scheme:light;--ink:#3e4145;--muted:#777b80;--line:#e7e5e1;--paper:#fbfaf8;--accent:#087fc1;--panel:#fff}
html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 "Segoe UI",Arial,sans-serif}a{color:inherit}
.landing{min-height:100vh;display:grid;grid-template-columns:minmax(300px,38%) minmax(0,62%);gap:clamp(24px,4vw,64px);padding:clamp(20px,4vw,56px);align-items:stretch}
.landing-nav{display:flex;flex-direction:column;min-width:0;padding:clamp(8px,2vw,28px) 0}.identity{margin-bottom:clamp(22px,4vh,42px)}
.eyebrow{font-size:.75rem;letter-spacing:.15em;font-weight:700;color:var(--muted);margin:0 0 12px}.identity h1{font-size:clamp(2rem,3.3vw,3.25rem);font-weight:500;letter-spacing:-.045em;line-height:1.08;margin:0 0 14px}.tagline{color:var(--muted);font-size:clamp(.95rem,1.4vw,1.1rem);max-width:28rem;margin:0}
.main-links{display:flex;flex-direction:column;align-items:stretch;gap:17px;font-size:clamp(1.05rem,1.55vw,1.35rem)}.main-links a{text-decoration:none;transition:color .15s ease}.main-links a:hover,.main-links a:focus-visible{color:var(--accent)}
.nav-group{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.nav-heading{margin-bottom:2px}.main-links .sub-link{padding-left:clamp(20px,4vw,54px);font-size:.94em;color:#555a60}.main-links .sub-link:hover,.main-links .sub-link:focus-visible{color:var(--accent)}.pdf-tag{font-size:.62em;letter-spacing:.06em;color:#8b8d91;margin-left:5px}
.landing-footer{margin-top:auto;padding-top:30px;color:var(--muted);font-size:.86rem}.landing-image{position:relative;min-height:460px;max-height:calc(100vh - 2 * clamp(20px,4vw,56px));overflow:hidden;background:#e9e6e0}.landing-image img{display:block;width:100%;height:100%;min-height:460px;object-fit:cover;object-position:center}
.image-caption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 22px;background:linear-gradient(transparent,rgba(0,0,0,.66));color:white;font-size:.8rem}
.page-shell{max-width:1500px;margin:0 auto;padding:28px clamp(18px,4vw,60px) 64px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.back-link{color:var(--muted);text-decoration:none}.back-link:hover{color:var(--accent)}.page-header h1{font-size:clamp(2rem,4vw,3rem);font-weight:500;letter-spacing:-.04em;margin:10px 0 0}
.tabs{position:sticky;top:0;z-index:5;display:flex;gap:clamp(20px,4vw,56px);padding:0 clamp(18px,4vw,60px);border-bottom:1px solid var(--line);background:#fbfaf8ed;backdrop-filter:blur(12px)}.tabs button{appearance:none;background:none;border:0;border-bottom:3px solid transparent;padding:17px 0 13px;color:var(--muted);font:inherit;font-size:clamp(1rem,1.7vw,1.2rem);cursor:pointer}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}
.case-list{padding:26px clamp(18px,4vw,60px) 64px}.case-study{margin:8px 0 34px}.case-study h2{font-size:clamp(1.15rem,2vw,1.5rem);font-weight:500;margin:0 0 13px}.thumb-row{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 14px;scroll-snap-type:x proximity}.thumb{flex:0 0 190px;width:190px;height:124px;padding:0;overflow:hidden;background:#eee;border:1px solid #d8d6d1;border-radius:2px;cursor:pointer;scroll-snap-align:start}.thumb img,.thumb video{display:block;width:100%;height:100%;object-fit:cover}.thumb:hover{border-color:var(--accent);transform:translateY(-2px)}
.viewer[hidden]{display:none}.viewer{position:fixed;inset:0;z-index:20;background:rgba(10,12,14,.96);display:grid;grid-template-columns:60px minmax(0,1fr) 60px;align-items:center;padding:52px 12px 20px}.viewer figure{margin:0;min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;height:100%;justify-content:center}.viewer figure img,.viewer figure video{max-width:100%;max-height:calc(100vh - 200px);object-fit:contain}.viewer figcaption{max-width:900px;color:#fff;white-space:pre-wrap}.count{color:#b9bec3;font-size:12px}.close{position:absolute;right:22px;top:12px;background:none;border:0;color:white;font-size:38px;cursor:pointer}.nav{border:1px solid #68717b;background:#20252b;color:white;border-radius:50%;width:46px;height:46px;font-size:32px;cursor:pointer}.nav:hover,.close:hover{color:#7ecbff}
.loading,.no-media{color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}.gallery-card{border:1px solid var(--line);background:white;min-width:0}.gallery-card button{display:block;width:100%;padding:0;border:0;background:#eee;cursor:pointer}.gallery-card img,.gallery-card video{display:block;width:100%;height:190px;object-fit:cover}.gallery-card p{padding:0 14px;margin:12px 0 15px;color:#555;font-size:.92rem;white-space:pre-wrap}.gallery-tools{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 24px}.gallery-tools a{border:1px solid var(--line);padding:8px 12px;text-decoration:none;background:white}.gallery-tools a[aria-current=true]{border-color:var(--accent);color:var(--accent)}.pdf-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.pdf-card{display:block;background:white;border:1px solid var(--line);padding:20px;text-decoration:none}.pdf-card:hover{border-color:var(--accent)}.pdf-card small{display:block;color:var(--muted);margin-top:8px}
@media(max-width:760px){.landing{grid-template-columns:1fr;padding:22px;gap:24px}.landing-image{grid-row:1;min-height:48vh;max-height:none}.landing-image img{min-height:48vh}.landing-nav{padding:4px 0}.identity{margin-bottom:24px}.main-links{gap:14px}.landing-footer{margin-top:28px}.image-caption{font-size:.72rem}.viewer{grid-template-columns:40px minmax(0,1fr) 40px;padding-left:4px;padding-right:4px}.nav{width:34px;height:34px;font-size:24px}.viewer figure img,.viewer figure video{max-height:calc(100vh - 220px)}}