:root{--color-bg:#fbfaf7;--color-bg-dark:#0a0a0a;--color-text:#1a1a1a;--color-text-on-dark:#f5f2ec;--color-muted:#6b6862;--color-muted-on-dark:#98948c;--color-border:#e3e0d8;--color-border-on-dark:#2a2a28;--accent-system:#6229ff;--accent-product:#2f9fe0;--accent-conversation:#ff4a1c;--accent-neutral:#d8d4c9;--accent-card-4:#e0a72f;--accent-card-5:#1c9c82;--accent-card-6:#c93b7a;--font-display:"Arsenal", Georgia, serif;--font-text:Georgia, serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--measure:68ch;--measure-narrow:58ch;--space:1.5rem;--nav-width:180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg-dark);margin:0}.site-content{color:var(--color-text);background:var(--color-bg);font-family:var(--font-text);font-size:1.125rem;line-height:1.6;display:none}html.unlocked .site-content{display:block}html.unlocked .password-gate{display:none}.password-gate{z-index:100;background:var(--color-bg-dark);color:var(--color-text-on-dark);font-family:var(--font-sans);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.password-gate form{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;display:flex}.gate-message{font-family:var(--font-display);margin:0;font-size:1.75rem}.gate-submessage{color:var(--color-muted-on-dark);margin:0 0 1.5rem;font-size:.95rem}.password-gate input{border:none;border-bottom:1px solid var(--color-border-on-dark);color:var(--color-text-on-dark);font-family:var(--font-sans);text-align:center;background:0 0;outline:none;width:14rem;padding:.5rem;font-size:1rem}.password-gate input:focus{border-color:var(--color-text-on-dark)}.password-gate button{border:1px solid var(--color-text-on-dark);color:var(--color-text-on-dark);font-family:var(--font-sans);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;margin-top:1.5rem;padding:.6rem 1.75rem;font-size:.85rem;transition:background .2s,color .2s}.password-gate button:hover{background:var(--color-text-on-dark);color:var(--color-bg-dark)}.gate-error{color:var(--accent-conversation);min-height:1.2em;margin-top:1rem;font-size:.85rem}h1,h2,h3{line-height:1.2;font-family:var(--font-display);font-weight:400}strong,b{font-weight:400}.case-study h1,.intro-statement,.work-card-title{font-weight:700}a{color:inherit}.page-nav{max-width:var(--measure);padding:var(--space) 1.5rem 0;margin:0 auto}.page-nav a{font-family:var(--font-sans);letter-spacing:.02em;font-size:.95rem;font-weight:400;text-decoration:none}main{max-width:var(--measure);padding:var(--space) 1.5rem 6rem;margin:0 auto}.case-study{max-width:var(--measure-narrow);margin:0 auto}.breadcrumb{text-align:left;font-family:var(--font-sans);color:var(--color-muted);margin-bottom:3rem;font-size:.85rem;text-decoration:none;display:block}.breadcrumb:hover{color:var(--color-text)}.case-study h1{text-align:left;margin-bottom:.5rem;font-size:clamp(2rem,5vw,2.75rem)}.case-study .meta{color:var(--color-muted);font-family:var(--font-sans);text-align:left;border:none;margin:0 0 4rem;padding:0;font-size:1rem}.case-study h2{margin-top:3.5rem;margin-bottom:1rem;font-size:1.4rem;font-style:normal}.case-study p{margin-bottom:1.25rem}.case-study .meta+p,.case-study .meta+p+p{border-left:2px solid var(--color-border);margin-top:0;margin-bottom:0;padding-left:1.25rem}.case-study .meta+p+p{margin-top:1rem;margin-bottom:1.25rem}.case-study .meta+p strong,.case-study .meta+p+p strong{font-weight:700}.case-study em{color:var(--color-muted)}.case-study ul,.case-study ol{padding-left:1.5rem}.figure,.figure-row{width:100%;margin-top:3rem;margin-bottom:3rem}.figure img{border:1px solid var(--color-border);border-radius:4px;width:100%;display:block}.figure-row{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;display:flex}.figure-row .figure-caption{flex-basis:100%}.figure-row>img,.figure-row>div{flex:1;min-width:0}.figure-row img{border:1px solid var(--color-border);border-radius:4px;width:100%;display:block}.figure-row p:not(.figure-caption){font-family:var(--font-text);margin:0;font-size:1.1rem;line-height:1.6}.figure-caption{font-family:var(--font-sans);color:var(--color-muted);text-align:left;margin-top:.75rem;font-size:.85rem}@media (width<=780px){.figure-row{flex-direction:column}}.scrollpage{scroll-snap-type:y proximity}.section{min-height:100vh;padding:6rem max(4rem, 8vw) 6rem calc(var(--nav-width) + 4vw);scroll-snap-align:start;flex-direction:column;justify-content:center;display:flex}.section--dark{background:var(--color-bg-dark);color:var(--color-text-on-dark)}.section--sparse{text-align:left;align-items:flex-start}.section-label{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin-bottom:1.5rem;font-size:.8rem}.section--dark .section-label{color:var(--color-muted-on-dark)}.intro-statement{font-family:var(--font-display);max-width:20ch;font-size:clamp(2.25rem,6vw,4.5rem);line-height:1.15}.work-list{flex-direction:column;gap:1.5rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.work-list li{border-top:1px solid var(--color-border)}.work-list li:last-child{border-bottom:1px solid var(--color-border)}.work-card{color:inherit;grid-template-columns:120px 1fr;align-items:center;gap:2rem;padding:2rem 0;text-decoration:none;transition:transform .3s;display:grid}.work-card:hover{transform:translate(.75rem)}.work-card-index{width:120px;height:120px;font-family:var(--font-sans);color:var(--color-text-on-dark);border-radius:4px;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.work-card-title{font-family:var(--font-display);margin:0 0 .5rem;font-size:clamp(1.5rem,3vw,2.25rem)}.work-card-summary{font-family:var(--font-sans);color:var(--color-muted);margin:0;font-size:1rem}.work-card-tag{font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;margin-top:.75rem;padding:.15rem .6rem;font-size:.7rem;display:inline-block}.sparse-copy{font-family:var(--font-text);max-width:var(--measure-narrow);font-size:1.35rem;line-height:1.7}.sparse-copy em{font-style:italic}.contact-links{font-family:var(--font-sans);justify-content:flex-start;gap:1.5rem;margin-top:2rem;display:flex}.contact-links a{text-underline-offset:3px;text-decoration:underline}.floating-nav{z-index:10;font-family:var(--font-sans);flex-direction:column;gap:.4rem;display:flex;position:fixed;top:50%;left:1.25rem;transform:translateY(-50%)}.floating-nav a{color:var(--color-muted);letter-spacing:.02em;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:.6rem;min-height:2.25rem;padding:.5rem .9rem;font-size:.85rem;font-weight:400;text-decoration:none;transition:background .35s cubic-bezier(.65,0,.35,1),color .35s cubic-bezier(.65,0,.35,1);display:flex}.floating-nav a .nav-index{opacity:.6;flex-shrink:0;font-size:.7rem}.floating-nav a .nav-label{opacity:1}.floating-nav a.is-active{color:var(--color-text-on-dark);background:var(--nav-active-color,var(--accent-system))}.floating-nav a:hover{color:var(--color-text)}.site-footer{padding:1.5rem max(4rem, 8vw) 2rem calc(var(--nav-width) + 4vw);background:var(--color-bg-dark)}.site-footer button{color:var(--color-muted-on-dark);font-family:var(--font-sans);letter-spacing:.03em;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;text-decoration:underline}.site-footer button:hover{color:var(--color-text-on-dark)}@media (width<=780px){.section{padding:5rem 1.5rem}.floating-nav{flex-direction:row;justify-content:center;inset:auto 0 .75rem;transform:none}.work-card{grid-template-columns:72px 1fr;gap:1rem}.work-card-index{width:72px;height:72px;font-size:1rem}}
