@import"https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600;1,700&family=Manrope:wght@300;400;500;600&display=swap";:root{--bg: #f4f5f7;--ink: #111317;--body: #2d323d;--muted: #4a5568;--meta: #7a8394;--faint: #9aa2b0;--border: #dde0e6;--surface: #eaecf0;--card-dark: #111317;--spotify: #ED7117;--serif: "EB Garamond", "Times New Roman", serif;--sans: "Manrope", system-ui, sans-serif;--container: 1180px;--gutter: 56px;--radius: 14px;--radius-sm: 10px;--radius-pill: 999px}html[data-theme=dark]{--bg: #111317;--ink: #eef0f4;--body: #c0c8d4;--muted: #7a8394;--meta: #5a6472;--faint: #3a4250;--border: #222830;--surface: #191d24;--card-dark: #0c0e11}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--bg);transition:background .22s ease,color .22s ease}body{font-family:var(--sans);font-weight:300;color:var(--body);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.55;letter-spacing:-.005em}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}.shell{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}header.site{padding-top:44px;padding-bottom:56px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:inline-flex;align-items:center;gap:12px;line-height:1;text-decoration:none}.wordmark .cats-mark{width:100px;height:auto;display:block;flex-shrink:0;margin:-4px 0;transition:transform .32s cubic-bezier(.3,.7,.4,1)}.wordmark:hover .cats-mark{transform:rotate(-3deg) scale(1.05)}nav.pills{display:flex;gap:28px;background:transparent}nav.pills a,nav.pills button{position:relative;font-family:var(--sans);font-weight:500;font-size:13.5px;color:var(--meta);padding:6px 0;border-radius:0;transition:color .18s ease;letter-spacing:-.005em;text-decoration:none;display:inline-block}nav.pills a:after,nav.pills button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .26s cubic-bezier(.3,.7,.4,1)}nav.pills a:hover,nav.pills button:hover{color:var(--ink)}nav.pills a:hover:after,nav.pills button:hover:after{transform:scaleX(1)}nav.pills a.active,nav.pills button.active{color:var(--ink)}nav.pills a.active:after,nav.pills button.active:after{transform:scaleX(1);background:var(--ink)}.eyebrow{font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--meta)}.home-grid{display:grid;grid-template-columns:1fr 1.18fr;gap:80px;align-items:start;padding-bottom:90px}.home-left .name{font-family:var(--serif);font-weight:700;font-size:96px;line-height:.92;letter-spacing:-.045em;color:var(--ink);font-variation-settings:"opsz" 144;margin:0 0 36px}.home-left .name .dot{color:#ed7117}.bio{max-width:440px}.bio p{margin:0 0 14px;color:var(--body);font-size:15.5px;line-height:1.62}.bio p:last-child{margin-bottom:0}.bio p a{text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;transition:color .16s ease,text-decoration-color .16s ease}.bio p a:hover{color:var(--ink);text-decoration-color:var(--muted)}.bio em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--ink)}.contacts{margin-top:36px;display:flex;flex-direction:column;gap:9px;max-width:440px}.contacts a{display:flex;align-items:center;justify-content:space-between;padding:11px 2px;border-bottom:1px solid var(--border);font-size:14px;color:var(--muted);transition:color .16s ease,padding .16s ease}.contacts a .lbl{font-weight:400}.contacts a .val{color:var(--ink);font-weight:400;display:inline-flex;align-items:center;gap:10px}.contacts a:first-child{border-top:1px solid var(--border)}.contacts a:hover{color:var(--ink);padding-left:6px}.ci-stage{position:relative;width:28px;height:16px;overflow:visible;display:inline-flex;align-items:center;justify-content:flex-end;color:var(--faint)}.ci-stage svg{display:block;overflow:visible}.contacts a:hover .ci-stage{color:var(--ink)}.ci-plane{width:16px;height:16px;transition:transform .2s ease}.ci-plane path{fill:currentColor;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round}.ci-plane .fold{fill:none;opacity:.55}.contacts a:hover .ci-plane{animation:planeFly 1.1s cubic-bezier(.4,0,.2,1) infinite}@keyframes planeFly{0%{transform:translate(-14px,6px) rotate(-18deg);opacity:0}18%{opacity:1}65%{opacity:1}to{transform:translate(16px,-10px) rotate(-30deg);opacity:0}}.ci-trail{position:absolute;inset:0;pointer-events:none}.ci-trail i{position:absolute;width:2px;height:2px;border-radius:50%;background:currentColor;opacity:0;top:50%}.ci-trail i:nth-child(1){left:0}.ci-trail i:nth-child(2){left:6px}.ci-trail i:nth-child(3){left:12px}.ci-trail i:nth-child(4){left:18px}.contacts a:hover .ci-trail i{animation:trailDot 1.1s linear infinite}.contacts a:hover .ci-trail i:nth-child(1){animation-delay:0ms}.contacts a:hover .ci-trail i:nth-child(2){animation-delay:.12s}.contacts a:hover .ci-trail i:nth-child(3){animation-delay:.24s}.contacts a:hover .ci-trail i:nth-child(4){animation-delay:.36s}@keyframes trailDot{0%,to{opacity:0;transform:translateY(2px)}40%{opacity:.55;transform:translateY(-2px)}70%{opacity:0;transform:translateY(-4px)}}.ci-chevs{width:22px;height:14px}.ci-chevs path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.35;transition:opacity .22s ease,transform .32s cubic-bezier(.3,.7,.4,1);transform-box:fill-box;transform-origin:center}.contacts a:hover .ci-chevs path{opacity:1}.contacts a:hover .ci-chevs path:nth-child(1){animation:chevPush .9s ease-in-out infinite;animation-delay:0ms}.contacts a:hover .ci-chevs path:nth-child(2){animation:chevPush .9s ease-in-out infinite;animation-delay:.12s}.contacts a:hover .ci-chevs path:nth-child(3){animation:chevPush .9s ease-in-out infinite;animation-delay:.24s}@keyframes chevPush{0%,to{transform:translate(0);opacity:.2}50%{transform:translate(3px);opacity:1}}.ci-branch{width:16px;height:16px}.ci-branch path{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;pathLength:1;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)}.ci-branch circle{fill:currentColor;transform-origin:center;transition:transform .32s cubic-bezier(.3,.7,.4,1)}.contacts a .ci-branch .b2{stroke-dashoffset:1}.contacts a:hover .ci-branch .b2{stroke-dashoffset:0}.contacts a .ci-branch .tip{transform:scale(0)}.contacts a:hover .ci-branch .tip{transform:scale(1);transition-delay:.38s}.now-playing{margin-top:44px;background:var(--surface);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;gap:14px;max-width:440px;min-height:68px}.eq{display:flex;align-items:flex-end;gap:3px;width:22px;height:22px;flex-shrink:0}.eq span{display:block;width:3px;background:var(--spotify);border-radius:2px;transform-origin:bottom}.eq.playing span{animation:eq .9s ease-in-out infinite}.eq span:nth-child(1){animation-delay:0ms;height:60%}.eq span:nth-child(2){animation-delay:.14s;height:100%}.eq span:nth-child(3){animation-delay:.28s;height:70%}.eq span:nth-child(4){animation-delay:.42s;height:85%}.eq.paused span{height:35%}@keyframes eq{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.np-text{min-width:0;flex:1}.np-eyebrow{font-family:var(--sans);font-weight:500;font-size:9.5px;letter-spacing:.16em;color:var(--meta);text-transform:uppercase;margin-bottom:3px}.np-track{font-weight:500;color:var(--ink);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np-artist{font-weight:300;color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np-mark{font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--spotify);flex-shrink:0}.home-right{padding-top:12px}.featured{background:var(--card-dark);color:#fff;border-radius:var(--radius);padding:36px 36px 32px;display:block;transition:opacity .2s ease;position:relative;overflow:hidden}.featured:hover{opacity:.85}.featured .feat-eyebrow{font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#7a8394;margin-bottom:22px;display:flex;align-items:center;gap:10px}.featured .feat-eyebrow .dot-sep{color:#4a5568}.featured h2{font-family:var(--serif);font-weight:500;font-size:42px;line-height:1.05;letter-spacing:-.025em;margin:0 0 18px;color:#fff;font-variation-settings:"opsz" 120}.featured .excerpt{color:#c2c7d0;font-size:14.5px;font-weight:300;line-height:1.6;margin:0 0 28px;max-width:92%}.featured .cta{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#9aa2b0;letter-spacing:.01em}.featured .cta .arr{transition:transform .2s ease}.featured:hover .cta .arr{transform:translate(4px)}.older{margin-top:34px;border-top:1px solid var(--border)}.post-row{display:grid;grid-template-columns:88px 1fr auto;gap:20px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--border);transition:opacity .18s ease;cursor:pointer;text-decoration:none;color:inherit}.post-row:hover{opacity:.55}.post-row .tag{font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--meta)}.post-row .title{font-family:var(--serif);font-weight:500;font-size:19px;color:var(--ink);letter-spacing:-.015em;line-height:1.25;font-variation-settings:"opsz" 60}.post-row .date{font-family:var(--sans);font-weight:400;font-size:12.5px;color:var(--faint);white-space:nowrap}.reviews-head{padding-bottom:56px;max-width:720px}.reviews-head .eyebrow{margin-bottom:22px}.reviews-head .intro{font-family:var(--serif);font-style:italic;font-weight:400;font-size:30px;line-height:1.32;color:var(--ink);letter-spacing:-.02em;margin:0;font-variation-settings:"opsz" 100}.reviews-list{border-top:1px solid var(--border);padding-bottom:100px}.reviews-list .post-row{grid-template-columns:130px 1fr auto;padding:22px 0}.reviews-list .post-row .title{font-size:22px}.post{padding-bottom:100px;max-width:720px;margin:0 auto}.post .kicker{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--meta);margin-bottom:22px}.post h1{font-family:var(--serif);font-weight:500;font-size:56px;line-height:1.04;letter-spacing:-.03em;color:var(--ink);margin:0 0 24px;font-variation-settings:"opsz" 144}.post .meta{display:flex;gap:10px;align-items:center;color:var(--faint);font-size:13px;margin-bottom:48px}.post .meta .sep{color:var(--faint);opacity:.6}.post .meta .author{color:var(--muted);font-weight:400}.post .body p{font-weight:300;color:var(--body);font-size:16.5px;line-height:1.72;margin:0 0 22px}.post .body p:first-child:first-letter{font-family:var(--serif);font-style:italic;font-weight:600;font-size:3.2em;float:left;line-height:.9;padding:6px 10px 0 0;color:var(--ink)}.callout{background:var(--surface);border-radius:var(--radius);padding:32px 36px;margin:36px 0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:22px;line-height:1.4;color:var(--ink);letter-spacing:-.015em;font-variation-settings:"opsz" 80}.callout .lead{display:block;font-family:var(--sans);font-style:normal;font-weight:500;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--meta);margin-bottom:12px}.post .back{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:32px;transition:color .16s ease}.post .back:hover{color:var(--ink)}.work-head{padding-bottom:56px;max-width:720px}.work-head .eyebrow{margin-bottom:22px}.work-head .intro{font-family:var(--serif);font-style:italic;font-weight:400;font-size:30px;line-height:1.32;color:var(--ink);letter-spacing:-.02em;margin:0;font-variation-settings:"opsz" 100}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-bottom:100px}.work-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:28px 28px 26px;transition:border-color .2s ease;display:flex;flex-direction:column;min-height:220px}.work-card:hover{border-color:#9aa2b0}.work-card .wc-eyebrow{font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--meta);margin-bottom:18px;display:flex;justify-content:space-between;align-items:center}.work-card h3{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.1;letter-spacing:-.02em;margin:0 0 12px;color:var(--ink);font-variation-settings:"opsz" 100}.work-card .desc{font-weight:300;color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 22px;flex:1}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font-family:var(--sans);font-weight:500;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface);padding:5px 9px;border-radius:var(--radius-pill)}footer.site{border-top:1px solid var(--border);padding:28px 0 56px;display:flex;align-items:center;justify-content:space-between;gap:24px}footer.site .links{display:flex;gap:22px}footer.site .links a{font-size:13px;color:var(--muted);font-weight:400;transition:color .16s ease}footer.site .links a:hover{color:var(--ink)}.theme-toggle{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:12px;font-weight:500;color:var(--muted);background:var(--surface);padding:8px 14px;border-radius:var(--radius-pill);transition:background .16s ease,color .16s ease;cursor:pointer;border:none}.theme-toggle:hover{background:var(--border);color:var(--ink)}.static{max-width:520px;padding-bottom:100px}.static .back{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:28px;transition:color .16s ease}.static .back:hover{color:var(--ink)}.static .eyebrow{margin-bottom:26px}.static .body p{font-weight:300;color:var(--body);font-size:16px;line-height:1.72;margin:0 0 18px}.static .body p.dim{color:var(--meta)}.static .body p.dim em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--muted)}.static .stamp{margin-top:48px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:14px;color:var(--faint);font-variation-settings:"opsz" 60}.static .intro{font-family:var(--serif);font-style:italic;font-weight:400;font-size:22px;line-height:1.4;color:var(--ink);letter-spacing:-.015em;margin:0 0 34px;font-variation-settings:"opsz" 80}.credits-list{border-top:1px solid var(--border)}.credits-list a{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:24px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--border);transition:opacity .18s ease}.credits-list a:hover{opacity:.55}.credits-list .name{font-family:var(--serif);font-style:italic;font-weight:500;font-size:19px;color:var(--ink);letter-spacing:-.015em;font-variation-settings:"opsz" 60}.credits-list .desc{font-family:var(--sans);font-weight:300;font-size:13.5px;color:var(--muted);line-height:1.55}@media (max-width: 960px){:root{--gutter: 28px}.home-grid{grid-template-columns:1fr;gap:56px}.home-left .name{font-size:76px}.featured h2{font-size:34px}.post h1{font-size:44px}.work-grid{grid-template-columns:1fr}.reviews-list .post-row{grid-template-columns:90px 1fr auto}}@media (max-width: 560px){header.site{flex-direction:column;align-items:flex-start;gap:18px;padding-top:32px;padding-bottom:36px}.home-left .name{font-size:60px}.post h1{font-size:34px}.post-row{grid-template-columns:1fr auto}.post-row .tag{grid-column:1 / -1}.reviews-list .post-row{grid-template-columns:1fr auto}.reviews-list .post-row .tag{grid-column:1 / -1}}
