*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-shrink,.shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.running{animation-play-state:running}:root{--bg:#f8fbfd;--surface:#fff;--surface-2:#f3f5f8;--surface-3:#edeff3;--fg:#12161c;--muted:#5e646b;--faint:#8e9399;--border:#dfe1e5;--border-2:#ced1d6;--accent:#3764cd;--accent-2:#dd8f5e;--accent-soft:#3764cd17;--ink-shadow:#3d485e1a;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", system-ui, sans-serif;--font-serif:"Baskerville", "Hoefler Text", "Palatino", "Palatino Linotype", Georgia, serif;--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-label:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;--maxw:1140px;--pad:clamp(20px, 5vw, 56px);--radius:16px;--radius-lg:22px;--shadow-1:0 1px 2px var(--ink-shadow);--shadow-2:0 12px 40px -12px var(--ink-shadow), 0 2px 8px -4px var(--ink-shadow)}@supports (color:lab(0% 0 0)){:root{--bg:lab(98.373% -.443995 -1.43218);--surface:lab(100% 0 0);--surface-2:lab(96.5103% -.411868 -1.83771);--surface-3:lab(94.416% -.388414 -2.23091);--fg:lab(7.17743% -.58306 -5.02638);--muted:lab(41.9672% -.914916 -4.75523);--faint:lab(60.5339% -.80514 -4.03961);--border:lab(89.5468% -.457227 -2.21338);--border-2:lab(83.742% -.603139 -2.94753);--accent:lab(43.7131% 12.99 -60.0338);--accent-2:lab(66.9287% 26.9925 38.6563);--accent-soft:lab(43.7131% 12.99 -60.0338/.09);--ink-shadow:lab(30.1707% -.0193715 -14.6083/.1)}}[data-theme=dark]{--bg:#0a0d13;--surface:#13161c;--surface-2:#1a1d23;--surface-3:#20242b;--fg:#eff2f5;--muted:#a0a5ac;--faint:#6a6f76;--border:#282b32;--border-2:#373b42;--accent:#82a8ff;--accent-2:#eda570;--accent-soft:#82a8ff29;--ink-shadow:#00000073}@supports (color:lab(0% 0 0)){[data-theme=dark]{--bg:lab(3.66556% -.14329 -2.98999);--surface:lab(7.17039% -.281163 -4.72627);--surface-2:lab(10.6219% -.338167 -4.7926);--surface-3:lab(14.0981% -.375941 -5.16611);--fg:lab(95.3503% -.411779 -1.83766);--muted:lab(67.4916% -.878364 -4.40683);--faint:lab(46.6105% -.858247 -4.39636);--border:lab(17.5846% -.385717 -4.81281);--border-2:lab(24.5415% -.436336 -5.19248);--accent:lab(68.7251% 5.68521 -50.3059);--accent-2:lab(74.0196% 23.662 38.343);--accent-soft:lab(68.7251% 5.68521 -50.3059/.16);--ink-shadow:lab(0% 0 0/.45)}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--bg);min-height:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.62;transition:background .4s,color .4s;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(120% 70% at 88% -8%, var(--accent-soft) 0%, transparent 52%), radial-gradient(90% 60% at -6% 8%, #dd8f5e0d 0%, transparent 50%);position:fixed;inset:0}@supports (color:lab(0% 0 0)){body:before{background:radial-gradient(120% 70% at 88% -8%, var(--accent-soft) 0%, transparent 52%), radial-gradient(90% 60% at -6% 8%, lab(66.9287% 26.9925 38.6563/.05) 0%, transparent 50%)}}.wrap{max-width:var(--maxw);padding-inline:var(--pad);margin-inline:auto}h1,h2,h3{letter-spacing:-.02em;font-weight:500;line-height:1.1}.eyebrow{font-family:var(--font-label);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;font-size:12.5px;font-weight:500;display:inline-flex}.eyebrow .ix{color:var(--accent)}.eyebrow:before{content:none}.lead{color:var(--muted);max-width:60ch;font-size:clamp(18px,2.1vw,21px);line-height:1.58}a{color:inherit;text-decoration:none}.ph{isolation:isolate;background:linear-gradient(135deg, var(--surface-3), var(--surface-2));border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.ph:after{content:attr(data-label);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);text-align:center;padding:8px;font-size:10.5px}.ph.tint:before{content:"";z-index:-1;opacity:.9;background:linear-gradient(150deg,#3764cd24,#0000 60%),linear-gradient(330deg,#dd8f5e1f,#0000 55%);background:linear-gradient(150deg,lab(43.7131% 12.99 -60.0338/.14),#0000 60%),linear-gradient(330deg,lab(66.9287% 26.9925 38.6563/.12),#0000 55%);position:absolute;inset:0}.btn{letter-spacing:.005em;cursor:pointer;font-size:14px;font-weight:500;font-family:var(--font-body);border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:12px 20px;transition:transform .18s cubic-bezier(.2,.7,.3,1),background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff;color:lab(100% 0 0);box-shadow:var(--shadow-1)}.btn-primary:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}[data-theme=dark] .btn-primary{color:#0a0d13;color:lab(3.66556% -.14329 -2.98999)}.btn-ghost{border-color:var(--border-2);color:var(--fg);background:var(--surface)}.btn-ghost:hover{border-color:var(--faint);transform:translateY(-1px)}header.nav{z-index:50;background:color-mix(in oklch, var(--bg) 78%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);border-bottom:1px solid #0000;transition:border-color .3s,background .3s;position:sticky;top:0}header.nav.scrolled{border-bottom-color:var(--border)}.nav-inner{justify-content:space-between;align-items:center;height:68px;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:11px;font-size:16px;font-weight:600;display:flex}.brand .mark{background:var(--fg);width:32px;height:32px;color:var(--bg);font-size:13px;font-weight:600;font-family:var(--font-serif);letter-spacing:0;border-radius:9px;place-items:center;transition:background .3s;display:grid}.nav-links{align-items:center;gap:2px;display:flex}.nav-links a{color:var(--muted);border-radius:8px;padding:8px 13px;font-size:14px;transition:color .2s;position:relative}.nav-links a:hover{color:var(--fg)}.nav-links a:after{content:"";background:var(--accent);transform-origin:0;border-radius:2px;height:1.5px;transition:transform .25s;position:absolute;bottom:4px;left:13px;right:13px;transform:scaleX(0)}.nav-links a.active{color:var(--fg)}.nav-links a.active:after{transform:scaleX(1)}.nav-right{align-items:center;gap:10px;display:flex}.icon-btn{border:1px solid var(--border-2);background:var(--surface);width:40px;height:40px;color:var(--muted);cursor:pointer;border-radius:10px;place-items:center;transition:color .2s,border-color .2s,transform .2s;display:grid}.icon-btn:hover{color:var(--fg);border-color:var(--faint)}.icon-btn svg{width:17px;height:17px}[data-theme=dark] .sun-ico,.moon-ico{display:none}[data-theme=dark] .moon-ico{display:block}.hamburger{display:none}.nav-cta{height:40px}section{padding-block:clamp(64px,9.5vw,116px);position:relative}.sec-head{flex-direction:column;gap:16px;max-width:62ch;margin-bottom:52px;display:flex}.sec-head h2{font-family:var(--font-display);letter-spacing:-.016em;font-size:clamp(29px,4.2vw,44px);font-weight:480}.sec-head h2 em{font-family:var(--font-serif);letter-spacing:0;font-style:italic;font-weight:400}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1);transform:translateY(20px)}.reveal.in{opacity:1;transform:none}.reveal.d1{transition-delay:70ms}.reveal.d2{transition-delay:.14s}.reveal.d3{transition-delay:.21s}@media (prefers-reduced-motion:reduce){.reveal{transition:none;opacity:1!important;transform:none!important}}.hero{padding-top:clamp(44px,7vw,80px);padding-bottom:clamp(56px,9vw,104px)}.hero-grid{grid-template-columns:1.45fr 1fr;align-items:center;gap:clamp(36px,6vw,84px);display:grid}.hero h1{font-family:var(--font-serif);letter-spacing:-.008em;font-size:clamp(42px,6.6vw,80px);font-weight:400;line-height:1.1}.hero h1 em{font-style:italic}.hero h1 .accent{color:var(--accent);font-style:italic}.avail{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);border:1px solid var(--border-2);background:var(--surface);box-shadow:var(--shadow-1);border-radius:999px;align-items:center;gap:9px;padding:7px 14px;font-size:12px;display:inline-flex}.avail .live-dot{background:#03a14a;background:lab(58.0286% -51.707 34.5419);border-radius:50%;width:7px;height:7px;animation:2.4s infinite pulse;box-shadow:0 0 #03a14a80;box-shadow:0 0 lab(58.0286% -51.707 34.5419/.5)}@keyframes pulse{0%{box-shadow:0 0 #03a14a80;box-shadow:0 0 lab(58.0286% -51.707 34.5419/.5)}70%{box-shadow:0 0 0 7px #03a14a00;box-shadow:0 0 0 7px lab(58.0286% -51.707 34.5419/0)}to{box-shadow:0 0 #03a14a00;box-shadow:0 0 lab(58.0286% -51.707 34.5419/0)}}@media (prefers-reduced-motion:reduce){.avail .live-dot{animation:none}}.hero .role{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:24px;font-size:15px;display:flex}.hero .role .dot{background:var(--faint);border-radius:50%;width:4px;height:4px}.hero .lead{margin-top:26px}.hero-cta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:34px;display:flex}.social-row{align-items:center;gap:10px;margin-top:36px;display:flex}.social-row .label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-right:6px;font-size:11px}.social-row a{border:1px solid var(--border-2);background:var(--surface);width:42px;height:42px;color:var(--muted);border-radius:11px;place-items:center;transition:color .2s,border-color .2s,transform .2s,box-shadow .2s;display:grid}.social-row a:hover{color:var(--fg);border-color:var(--faint);box-shadow:var(--shadow-1);transform:translateY(-3px)}.social-row svg{width:18px;height:18px}.portrait-frame{aspect-ratio:4/5;border-radius:var(--radius-lg);box-shadow:var(--shadow-2);border:1px solid var(--border);background:radial-gradient(130% 100% at 75% 12%, #dd8f5e38, transparent 55%), linear-gradient(155deg, #3764cd4d, #3764cd0d 55%), linear-gradient(155deg, var(--surface-3), var(--surface-2));min-height:340px;position:relative;overflow:hidden}@supports (color:lab(0% 0 0)){.portrait-frame{background:radial-gradient(130% 100% at 75% 12%, lab(66.9287% 26.9925 38.6563/.22), transparent 55%), linear-gradient(155deg, lab(43.7131% 12.99 -60.0338/.3), lab(43.7131% 12.99 -60.0338/.05) 55%), linear-gradient(155deg, var(--surface-3), var(--surface-2))}}.portrait-frame .mono-fw{font-family:var(--font-serif);color:#ffffff80;color:lab(100% 0 0/.5);letter-spacing:-.03em;place-items:center;font-size:clamp(90px,16vw,150px);font-style:italic;display:grid;position:absolute;inset:0}[data-theme=dark] .portrait-frame .mono-fw{color:#ffffff24;color:lab(100% 0 0/.14)}.portrait-frame .corner{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffffd9;color:lab(100% 0 0/.85);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#12161c73;background:lab(7.17743% -.58306 -5.02638/.45);border-radius:999px;padding:6px 11px;font-size:10.5px;position:absolute;bottom:16px;left:16px}.portrait-frame .badge-float{position:absolute;top:16px;right:16px}.signature{font-family:var(--font-serif);color:#ffffffe6;color:lab(100% 0 0/.9);font-size:26px;font-style:italic;position:absolute;bottom:16px;right:18px;transform:rotate(-4deg)}.about-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:clamp(32px,5vw,72px);display:grid}.about-body p{color:var(--muted);margin-bottom:20px;font-size:17.5px;line-height:1.66}.about-body p.intro{font-family:var(--font-serif);color:var(--fg);letter-spacing:0;font-size:clamp(22px,2.7vw,28px);font-weight:400;line-height:1.45}.about-body p strong{color:var(--fg);font-weight:560}.stat-cards{grid-template-columns:1fr 1fr;gap:14px;display:grid}.stat{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1);padding:22px;transition:transform .2s,box-shadow .2s}.stat:hover{box-shadow:var(--shadow-2);transform:translateY(-3px)}.stat .num{font-family:var(--font-serif);letter-spacing:0;color:var(--fg);font-size:36px;font-weight:400}.stat .num span{color:var(--accent)}.stat .lbl{color:var(--muted);margin-top:6px;font-size:13.5px;line-height:1.4}.pill-row{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.skill-pill{font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted);border:1px solid var(--border-2);background:var(--surface);border-radius:8px;padding:6px 11px;font-size:11.5px}.timeline{flex-direction:column;display:flex;position:relative}.tl-item{border-top:1px solid var(--border);grid-template-columns:160px 1fr;gap:32px;padding:28px 0;transition:background .2s;display:grid}.tl-item:last-child{border-bottom:1px solid var(--border)}.tl-when{font-family:var(--font-mono);color:var(--muted);padding-top:4px;font-size:13px}.tl-when .now{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-soft);background:var(--accent-soft);border-radius:999px;margin-top:7px;padding:2px 8px;font-size:10.5px;display:inline-block}.tl-body h3{font-family:var(--font-display);letter-spacing:-.015em;font-size:20px;font-weight:560}.tl-body .org{color:var(--accent);margin-top:4px;font-size:14.5px;font-weight:500}.tl-body p{color:var(--muted);max-width:64ch;margin-top:12px;font-size:15.5px;line-height:1.6}.tl-tags{flex-wrap:wrap;gap:7px;margin-top:16px;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted);border:1px solid var(--border-2);background:var(--surface);border-radius:7px;padding:4px 10px;font-size:11px}.work-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;display:grid}.work-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1);transition:border-color .2s,transform .25s,box-shadow .25s;overflow:hidden}.work-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-2);transform:translateY(-4px)}.work-card .thumb{aspect-ratio:16/10;border-radius:0}.work-card .meta{padding:18px 20px 22px}.work-card .ktag{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:10.5px}.work-card h3{font-family:var(--font-display);letter-spacing:-.01em;margin-top:7px;font-size:17px;font-weight:560}.work-card p{color:var(--muted);margin-top:7px;font-size:13.5px;line-height:1.5}.feeds-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.feed-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:290px;box-shadow:var(--shadow-1);flex-direction:column;gap:18px;padding:24px;transition:transform .2s,box-shadow .2s;display:flex}.feed-card:hover{box-shadow:var(--shadow-2);transform:translateY(-3px)}.feed-head{justify-content:space-between;align-items:center;display:flex}.feed-head .left{align-items:center;gap:12px;display:flex}.feed-ico{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.feed-ico svg{width:18px;height:18px;color:var(--fg)}.feed-head .name{font-size:14.5px;font-weight:560}.feed-head .handle{color:var(--muted);margin-top:1px;font-size:12px}.feed-badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:7px;padding:5px 9px;font-size:10px}.feed-badge.live{background:var(--accent-soft);color:var(--accent)}.feed-badge.linkout{background:var(--surface-2);color:var(--muted);border:1px solid var(--border-2)}.feed-items{flex-direction:column;flex:1;gap:4px;display:flex}.feed-entry{border-top:1px dashed var(--border);align-items:flex-start;gap:13px;padding:11px 0;display:flex}.feed-entry:first-child{border-top:none}.feed-entry .fthumb{flex-shrink:0;width:50px;height:50px}.feed-entry .ftext{flex:1;min-width:0}.feed-entry .ftitle{letter-spacing:-.005em;color:var(--fg);font-size:14px;font-weight:520;line-height:1.35}.feed-entry .fdesc{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12.5px;overflow:hidden}.feed-meta{font-family:var(--font-mono);color:var(--faint);margin-top:6px;font-size:11px}.feed-center{text-align:center;color:var(--muted);justify-content:center;align-items:center;padding:8px;font-size:14px;line-height:1.5}.feed-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.feed-foot a{color:var(--accent);gap:4px;font-size:13px;font-weight:500;transition:gap .2s;display:inline-flex}.feed-foot a:hover{gap:8px}.feed-state{font-family:var(--font-mono);color:var(--faint);letter-spacing:.03em;font-size:10.5px}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:32px;display:flex}.chip{border:1px solid var(--border-2);background:var(--surface);color:var(--muted);cursor:pointer;font-size:13px;font-family:var(--font-body);border-radius:999px;padding:8px 15px;transition:all .2s}.chip:hover{color:var(--fg);border-color:var(--faint)}.chip.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.post-list{gap:2px;display:grid}.post{border-top:1px solid var(--border);cursor:pointer;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:28px 10px;transition:background .25s,padding .25s;display:grid}.post:hover{background:var(--surface);box-shadow:var(--shadow-1);padding-inline:20px}.post:last-child{border-bottom:1px solid var(--border)}.post .p-num{font-family:var(--font-mono);color:var(--faint);align-self:start;padding-top:4px;font-size:13px}.post .p-tags{gap:7px;margin-bottom:12px;display:flex}.post h3{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(20px,2.4vw,25px);font-weight:500}.post .excerpt{color:var(--muted);max-width:66ch;margin-top:9px;font-size:15px;line-height:1.55}.post .p-meta{font-family:var(--font-mono);color:var(--faint);gap:16px;margin-top:14px;font-size:12px;display:flex}.post .arrow{color:var(--faint);align-self:center;transition:color .2s,transform .2s}.post:hover .arrow{color:var(--accent);transform:translate(4px)}.speak-head-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.event{border-top:1px solid var(--border);border-radius:10px;grid-template-columns:92px 1fr auto;align-items:center;gap:28px;padding:24px 0;transition:background .2s,padding .2s;display:grid}.event:hover{background:var(--surface);padding-inline:14px}.event:last-child{border-bottom:1px solid var(--border)}.ev-date{text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:10px 6px}.ev-date .mon{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:11.5px}.ev-date .day{font-family:var(--font-serif);font-size:27px;font-weight:400;line-height:1.1}.ev-date .yr{color:var(--faint);font-size:10.5px;font-family:var(--font-mono)}.ev-body h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:18.5px;font-weight:560}.ev-body .ev-loc{color:var(--muted);margin-top:5px;font-size:14px}.ev-body .ev-links{gap:14px;margin-top:11px;display:flex}.ev-body .ev-links a{color:var(--accent);gap:4px;font-size:13px;font-weight:500;transition:gap .2s;display:inline-flex}.ev-body .ev-links a:hover{gap:8px}.ev-status{justify-self:end}.badge{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:10.5px}.badge.upcoming{background:var(--accent-soft);color:var(--accent)}.badge.past{background:var(--surface-2);color:var(--muted);border:1px solid var(--border-2)}.contact-grid{grid-template-columns:1fr 1.05fr;align-items:start;gap:clamp(32px,5vw,64px);display:grid}.contact-aside .contact-list{flex-direction:column;gap:4px;margin-top:28px;display:flex}.contact-aside .crow{border-top:1px solid var(--border);align-items:center;gap:14px;padding:16px 0;display:flex}.contact-aside .crow:last-child{border-bottom:1px solid var(--border)}.contact-aside .crow .ci{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.contact-aside .crow .ci svg{width:17px;height:17px}.contact-aside .crow .ct .k{font-size:12px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.contact-aside .crow .ct .v{color:var(--fg);margin-top:2px;font-size:15px}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:clamp(24px,4vw,36px)}.form{flex-direction:column;gap:18px;display:flex}.field{flex-direction:column;gap:8px;display:flex}.field label{color:var(--fg);font-size:13px;font-weight:520}.field input,.field textarea{font-family:var(--font-body);color:var(--fg);background:var(--bg);border:1px solid var(--border-2);border-radius:10px;padding:12px 14px;font-size:15px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field textarea{resize:vertical;min-height:130px}.honeypot{opacity:0;position:absolute;left:-9999px}.form-note{color:var(--faint);font-size:12px;font-family:var(--font-mono);letter-spacing:.02em}.form-status{min-height:18px;font-size:13px}.form-status.ok{color:#0e8c41;color:lab(50.824% -45.5785 30.3918)}.form-status.err{color:#de3b3d;color:lab(51.5803% 63.2457 38.9399)}.news-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);background:linear-gradient(150deg, var(--surface), var(--surface-2));padding:clamp(28px,5vw,52px);position:relative;overflow:hidden}.news-card:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 120% at 100% 0%, var(--accent-soft), transparent 55%);position:absolute;inset:0}.news-inner{z-index:1;max-width:620px;position:relative}.news-card h3{font-family:var(--font-serif);letter-spacing:-.005em;font-size:clamp(27px,3.5vw,37px);font-weight:400}.news-card p{color:var(--muted);max-width:48ch;margin-top:12px;font-size:15.5px}.news-form{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.news-form input{min-width:220px;font-family:var(--font-body);background:var(--surface);border:1px solid var(--border-2);color:var(--fg);border-radius:10px;flex:1;padding:13px 15px;font-size:15px}.news-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.consent{color:var(--muted);align-items:flex-start;gap:10px;margin-top:18px;font-size:12.5px;line-height:1.5;display:flex}.consent input{accent-color:var(--accent);margin-top:3px}footer.site{border-top:1px solid var(--border);background:var(--surface);margin-top:48px;padding-block:64px 40px}.foot-grid{grid-template-columns:2fr 1fr 1fr 1.2fr;gap:40px;display:grid}.foot-brand p{color:var(--muted);max-width:34ch;margin-top:16px;font-size:14px;line-height:1.6}.foot-col h4{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:16px;font-size:11px}.foot-col a{color:var(--muted);padding:6px 0;font-size:14px;transition:color .2s;display:block}.foot-col a:hover{color:var(--fg)}.foot-bottom{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:52px;padding-top:24px;display:flex}.foot-bottom p{color:var(--faint);font-size:13px;font-family:var(--font-mono)}.foot-bottom .up{color:var(--muted);font-family:var(--font-body);cursor:pointer;align-items:center;gap:7px;display:inline-flex}.foot-bottom .up:hover{color:var(--fg)}.drawer{z-index:70;visibility:hidden;position:fixed;inset:0}.drawer .scrim{opacity:0;background:#0000006b;background:lab(0% 0 0/.42);transition:opacity .3s;position:absolute;inset:0}.drawer .panel{background:var(--bg);border-left:1px solid var(--border);flex-direction:column;gap:4px;width:min(82vw,340px);padding:24px;transition:transform .32s cubic-bezier(.2,.7,.3,1);display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.drawer.open{visibility:visible}.drawer.open .scrim{opacity:1}.drawer.open .panel{transform:none}.drawer .panel a{color:var(--fg);border-bottom:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:14px 8px;font-size:16px;display:flex}.drawer .panel a .di{font-family:var(--font-mono);color:var(--faint);font-size:12px}.drawer .panel .close{align-self:flex-end;margin-bottom:16px}@media (max-width:940px){.hero-grid{grid-template-columns:1fr}.portrait-frame{aspect-ratio:16/10;order:-1;min-height:240px;max-height:360px}.signature,.portrait-frame .mono-fw{font-size:clamp(70px,18vw,120px)}.about-grid,.contact-grid{grid-template-columns:1fr}.work-grid{grid-template-columns:1fr 1fr}.feeds-grid{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}.nav-links{display:none}.hamburger{display:grid}.nav-cta{display:none}}@media (max-width:580px){.work-grid,.foot-grid{grid-template-columns:1fr}.tl-item{grid-template-columns:1fr;gap:10px}.event{grid-template-columns:72px 1fr}.ev-status{grid-column:2;justify-self:start;margin-top:4px}.post{grid-template-columns:1fr;gap:0}.post .p-num,.post .arrow{display:none}}
