:root{--ease-out:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.side-nav a{position:relative;transition:color 180ms ease}
.side-nav a[aria-current='location']{color:#111}
.side-nav a::before{content:'';position:absolute;width:3px;height:3px;left:-11px;top:5px;border-radius:50%;background:currentColor;opacity:0;transition:opacity 180ms ease}
.side-nav a[aria-current='location']::before{opacity:1}
.case-heading{display:flex;justify-content:space-between;align-items:center;height:21px}
.carousel-controls{display:flex;gap:8px;align-items:center}
.carousel-count{font-size:10px;line-height:21px;font-variant-numeric:tabular-nums;color:#89909a;margin-right:7px}
.carousel-controls button{width:30px;height:30px;border:1px solid #e9ebee;border-radius:50%;display:grid;place-items:center;background:white;color:#111;cursor:pointer;transition:background 180ms ease,opacity 180ms ease}
.carousel-controls button:hover:not(:disabled){background:#f2f3f5}.carousel-controls button:disabled{opacity:.3;cursor:default}
.carousel-controls svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5}
.case-card-grid[data-carousel]{display:flex;align-items:stretch;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 30px;margin-bottom:-30px;overscroll-behavior-x:contain;scroll-behavior:smooth}
.case-card-grid[data-carousel]::-webkit-scrollbar{display:none}
[data-carousel]>.case-card{flex:0 0 calc((100% - 28px)/2);scroll-snap-align:start;scroll-snap-stop:always;padding-bottom:17.5px}
.case-card-media{transition:opacity 180ms ease}.case-card-media:hover{opacity:.94}
.personal-card a{text-decoration:none}.personal-card a:hover h3{text-decoration:underline;text-underline-offset:4px}
.study-preview{height:220px;margin-bottom:10.5px;border-radius:7px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}
.type-preview{background:#efece5;color:#e94823;gap:0;font-size:126px;line-height:1;letter-spacing:-12px}.type-preview b{font-family:Georgia,serif;font-weight:400;font-style:italic;transform:translateY(-5px)}.type-preview span{font-weight:600;transform:translateY(9px)}.type-preview::after{content:'FORM / LANGUAGE';font-size:8px;line-height:1;letter-spacing:1.6px;position:absolute;bottom:18px;left:19px;color:#8c746b}
.focus-preview{background:#202420;color:#e6eead}.mini-dial{width:132px;height:132px;border:1px solid #77835c;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:400;letter-spacing:-1px;position:relative}.mini-dial:before{content:'';position:absolute;inset:8px;border-radius:50%;border:1px dashed #849164}.mini-dial:after{content:'';position:absolute;top:-4px;left:62px;width:8px;height:8px;background:#e6eead;border-radius:50%}
.palette-preview{background:#e2e5dc;gap:0}.palette-preview i{width:19%;height:128px;box-shadow:0 10px 18px #0001;transform:rotate(-8deg);margin-left:-6px}.palette-preview i:nth-child(1){background:#eb532c;transform:rotate(-12deg)}.palette-preview i:nth-child(2){background:#efc86c;transform:rotate(-4deg)}.palette-preview i:nth-child(3){background:#a8bd9d;transform:rotate(4deg)}.palette-preview i:nth-child(4){background:#203c3c;transform:rotate(12deg)}
.motion-preview{background:#dcdff4;flex-direction:column;gap:23px;padding:35px 40px}.motion-preview i{height:1px;width:100%;background:#949bbc;position:relative}.motion-preview i:before{content:'';position:absolute;width:17px;height:17px;border-radius:50%;background:#4b4bad;top:-8px;left:var(--position)}.motion-preview i:nth-child(2):before{background:#8381cd}.motion-preview i:nth-child(3):before{background:#b1ace0}
.personal-caption{display:block;font-size:10px;color:#89909a;margin-top:5px}
.writing-list{width:546px;max-width:100%;margin-top:21px;display:grid;gap:28px}.writing-list article a{font-size:14px;text-decoration:none}.writing-list article a:hover{text-decoration:underline}.writing-list p{font-size:13px;line-height:21px;color:#69717d;margin-top:7px}.writing-meta{font-size:10px;color:#99a1af;margin-top:10px;display:block}
.glyph-run{display:inline}.glyph-word{display:inline-block;white-space:nowrap}.glyph{position:relative;display:inline-block}.glyph-core{display:inline-block}.glyph-ghost{position:absolute;inset:0;opacity:0;text-align:center;pointer-events:none}.variant-0{font-family:Georgia,serif;font-style:italic}.variant-1{font-family:'Courier New',monospace;font-weight:700}.variant-2{font-family:Georgia,serif;font-weight:400}
.type-ready:not(.type-settled) .glyph-core{opacity:0}
.type-playing .glyph-core{animation:letter-resolve 500ms var(--ease-out) both;animation-delay:var(--delay)}
.type-playing .glyph-ghost{animation:letter-impression 500ms var(--ease-out) both;animation-delay:var(--delay)}
.type-settled .glyph-core{opacity:1}.type-settled .glyph-ghost{display:none}
@keyframes letter-resolve{0%,35%{opacity:0;transform:translateY(4px)}75%,100%{opacity:1;transform:translateY(0)}}
@keyframes letter-impression{0%{opacity:0;transform:translateY(7px) scaleY(.85)}20%,40%{opacity:.8;transform:translateY(0) scaleY(1)}75%,100%{opacity:0;transform:translateY(-3px)}}
@media(max-width:640px){[data-carousel]>.case-card{flex-basis:100%;padding-bottom:0}.carousel-count{font-size:9px;margin-right:3px}.carousel-controls{gap:5px}.carousel-controls button{width:28px;height:28px}.study-preview{height:auto;aspect-ratio:1.48}.type-preview{font-size:82px;letter-spacing:-9px}.type-preview::after{font-size:6px;letter-spacing:.7px;bottom:10px;left:11px}.mini-dial{width:85px;height:85px;font-size:19px}.mini-dial:after{left:38px}.palette-preview i{height:80px}.motion-preview{padding:23px;gap:17px}.motion-preview i:before{width:12px;height:12px;top:-6px}.side-nav a::before{display:none}}
@media(prefers-reduced-motion:reduce){html,[data-carousel]{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:0s!important;transition-duration:0s!important}.type-ready .glyph-core{opacity:1!important}.glyph-ghost{display:none!important}}

.case-heading>.section-title{text-transform:uppercase}
.personal-card a>p{font-size:12.1px;line-height:17.5px;color:var(--muted);margin-top:3.5px}
[data-carousel]:focus-visible{outline:1px solid #8b91a3;outline-offset:7px;border-radius:4px}

/* Abstract artwork and independently editable project typography. */
.case-card-media,.project-cover{position:relative;overflow:hidden}
.cover-wordmark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(22px,2vw,32px);font-weight:600;letter-spacing:-.045em;white-space:nowrap;color:#281b35;pointer-events:none}
.cover-owodex{color:#fff}
.project-cover .cover-wordmark{font-size:clamp(32px,4vw,64px)}
.profile-image{object-fit:contain}

.type-preview{background:#ede9e2;color:#302336;display:flex;align-items:center;justify-content:center;position:relative}
.type-preview small{position:absolute;left:20px;top:18px;font:9px monospace;letter-spacing:.1em}
.type-preview b{font:italic 115px Georgia,serif;letter-spacing:-12px;position:static;transform:none}
.type-preview>span{position:absolute;bottom:18px;left:20px;top:auto;right:auto;font:11px Inter,sans-serif;transform:none}
.focus-preview{background:#ece8f3}.mini-dial{border-color:#796091;color:#352641}
.palette-preview{background:#eff0e9;transform:none}.palette-preview i:nth-child(1){background:#8c78a8}.palette-preview i:nth-child(2){background:#d6c6e4}.palette-preview i:nth-child(3){background:#b7c4a1}.palette-preview i:nth-child(4){background:#313e36}
.motion-preview{background:#eeeaf2}.motion-preview i{background:#6c4e85}
