@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.19g-lkcx7iw64.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0-95eo-012xnf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.figtree_fdaea779-module__iJzVQW__className{font-family:Figtree,Figtree Fallback;font-style:normal}.figtree_fdaea779-module__iJzVQW__variable{--font-sans-face:"Figtree", "Figtree Fallback"}
@font-face{font-family:Gloock;font-style:normal;font-weight:400;font-display:swap;src:url(../media/93183b47530b2cc4-s.01e91l2mtoc1u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Gloock;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8c0d9f2c4c4d982a-s.19ml1ubcr4qga.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Gloock;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c5bca4b73401f535-s.p.1vembhq-bewbt.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Gloock Fallback;src:local(Times New Roman);ascent-override:84.82%;descent-override:19.57%;line-gap-override:0.0%;size-adjust:114.95%}.gloock_dc182a-module__Z_Fupa__className{font-family:Gloock,Gloock Fallback;font-style:normal;font-weight:400}.gloock_dc182a-module__Z_Fupa__variable{--font-serif-face:"Gloock", "Gloock Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--sans);--default-mono-font-family:var(--code)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.static{position:static}.contents{display:contents}.flex{display:flex}.grid{display:grid}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#fbfaf6;--fg:#1f3550;--fg-dim:#4f617a;--fg-faint:#66748a;--accent:#b8503c;--accent-2:#3e6c96;--line:#d8dfe7;--line-soft:#e6ebf0;--line-strong:#b9c6d4;--glass:#fff;--glass-solid:#fff;--chip:#f1f5f9;--code-bg:#eef2f6;--pre-bg:#f4f6f9;--shadow:#1f355024;--navbar:#1f3550;--navfg:#fbfaf6;--nav-hover:#fbfaf61a;--rope-1:#c8a874;--rope-2:#e9dcc2;--wave:#3e6c9629;--rose:#3e6c960d;--selection:#b8503c2e;--sans:var(--font-sans-face), ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--serif:var(--font-serif-face), "Iowan Old Style", "Palatino Linotype", Georgia, serif;--label:var(--sans);--code:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--pad:clamp(18px, 4vw, 44px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body,h1,h2,h3,h4,p,figure{margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain;font-weight:400}::selection{background:var(--selection)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.skip{z-index:200;background:var(--glass-solid);color:var(--fg);border-radius:0 0 10px;padding:12px 18px;font-size:13px;position:absolute;top:0;left:-9999px}.skip:focus{left:0}.backdrop{z-index:1;pointer-events:none;background:var(--bg);position:fixed;inset:0;overflow:hidden}.backdrop:after{content:"";background:var(--wave);-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:source-in;-webkit-mask-source-type:auto,auto;position:absolute;inset:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='90'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M-1 20 Q 60 4 120 20 T 241 20'/%3E%3Cpath d='M-1 50 Q 60 34 120 50 T 241 50'/%3E%3Cpath d='M-1 80 Q 60 64 120 80 T 241 80'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(82% 52% at 50% 18%,#000 20%,#0000 78%);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='90'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M-1 20 Q 60 4 120 20 T 241 20'/%3E%3Cpath d='M-1 50 Q 60 34 120 50 T 241 50'/%3E%3Cpath d='M-1 80 Q 60 64 120 80 T 241 80'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(82% 52% at 50% 18%,#000 20%,#0000 78%);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:240px 90px,auto;mask-size:240px 90px,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:border-box,border-box;mask-clip:border-box,border-box;-webkit-mask-origin:border-box,border-box;mask-origin:border-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.content{z-index:3;position:relative}.eyebrow{letter-spacing:.34em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:500;font-family:var(--label)}.mono{font-family:var(--label)}.topnav{z-index:50;padding:max(16px, env(safe-area-inset-top)) max(var(--pad), env(safe-area-inset-right)) 16px max(var(--pad), env(safe-area-inset-left));letter-spacing:.18em;text-transform:uppercase;background:var(--navbar);color:var(--navfg);font-size:12px;font-weight:500;font-family:var(--label);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.topnav a{color:inherit;text-decoration:none}.topnav .brand{letter-spacing:.24em;align-items:center;gap:10px;font-weight:600;display:inline-flex}.topnav .brand span{display:inline-flex}.topnav .links{gap:22px;display:flex}.topnav .links a{opacity:.8;transition:opacity .2s}.topnav .links a:hover{opacity:1}.nav-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:4px;width:36px;height:34px;padding:8px 6px;display:none}.nav-toggle span{background:var(--navfg);border-radius:2px;width:100%;height:2px;transition:transform .25s,opacity .2s;display:block}.topnav.open .nav-toggle span:first-child{transform:translateY(6px)rotate(45deg)}.topnav.open .nav-toggle span:nth-child(2){opacity:0}.topnav.open .nav-toggle span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@media (max-width:600px){.nav-toggle{display:flex}.topnav .links{top:calc(100% + 4px);right:var(--pad);background:var(--navbar);border:1px solid var(--nav-hover);min-width:172px;box-shadow:0 24px 60px -24px var(--shadow);opacity:0;transform-origin:100% 0;pointer-events:none;border-radius:14px;flex-direction:column;gap:0;padding:6px;transition:opacity .22s,transform .22s;position:absolute;transform:translateY(-8px)scale(.98)}.topnav.open .links{opacity:1;pointer-events:auto;transform:none}.topnav .links a{opacity:.92;border-radius:9px;padding:12px 14px}.topnav .links a:hover{background:var(--nav-hover)}}.hero{text-align:center;min-height:100dvh;padding:clamp(90px, 14vh, 140px) var(--pad) clamp(70px, 12vh, 110px);place-items:center;display:grid;position:relative}.hero:before{content:"";z-index:-1;background:repeating-conic-gradient(from 0deg, var(--rose) 0deg 1.2deg, transparent 1.2deg 15deg);width:min(920px,130vw);height:min(920px,130vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 68%);mask-image:radial-gradient(circle,#000 0%,#0000 68%)}.hero-copy{background:var(--glass);border:1px solid var(--line);max-width:680px;box-shadow:0 30px 80px -44px var(--shadow);will-change:transform, opacity, filter;border-radius:26px;padding:clamp(32px,5.5vw,54px) clamp(26px,6vw,58px);position:relative}.hero-copy .eyebrow{margin-bottom:20px;display:block}.hero .name{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(44px,9vw,96px);font-style:normal;font-weight:400;line-height:.98}.hero .aside{font-family:var(--sans);letter-spacing:.01em;color:var(--fg-dim);margin-top:20px;font-size:clamp(14px,2.3vw,17px);font-weight:400;line-height:1.55;display:block}.hero .aside em{font-style:italic;font-family:var(--serif);color:var(--accent-2)}.scrollcue{text-align:center;pointer-events:none;letter-spacing:.32em;text-transform:uppercase;color:var(--fg-dim);font-size:10px;font-family:var(--label);position:absolute;bottom:clamp(26px,5vh,46px);left:0;right:0}.scrollcue span{animation:2.6s ease-in-out infinite bob;display:inline-block}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media (prefers-reduced-motion:reduce){.scrollcue span{animation:none}}.about{padding:clamp(50px, 10vh, 110px) var(--pad) 0}.about-inner{max-width:1120px;margin:0 auto}.about-inner .eyebrow{margin-bottom:18px;display:block}.about p{max-width:720px;color:var(--fg-dim);font-size:clamp(16px,2vw,18px);line-height:1.7}.about p+p{margin-top:14px}.about p:first-of-type{color:var(--fg)}.work{padding:clamp(50px, 10vh, 110px) var(--pad) 0}.work-inner{max-width:1120px;margin:0 auto}.section-head{max-width:660px;margin-bottom:clamp(34px,6vh,60px)}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.section-head h2{font-family:var(--serif);letter-spacing:-.01em;margin-top:16px;font-size:clamp(26px,4.4vw,42px);font-weight:400;line-height:1.1}.section-head p{color:var(--fg-dim);margin-top:15px;font-size:15px;line-height:1.65}.work-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(14px,1.6vw,18px);display:grid}@media (min-width:720px){.work-grid>.wcard:only-child{grid-column:span 2}}.wcard{background:var(--glass);box-shadow:0 18px 40px -30px var(--shadow);border-radius:14px;flex-direction:column;padding:clamp(20px,2.2vw,24px);transition:transform .3s,box-shadow .3s;display:flex;position:relative}.wcard:before{content:"";border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(135deg, var(--rope-1) 0 4px, var(--rope-2) 4px 8px);-webkit-mask-composite:xor;-webkit-mask-composite:xor,source-over;-webkit-mask-composite:xor,source-over;padding:4px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.wcard:hover{box-shadow:0 24px 50px -30px var(--shadow);transform:translateY(-3px)}.wcard .meta{font-family:var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-faint);flex-wrap:wrap;align-items:baseline;gap:10px;font-size:10px;display:flex}.wcard .meta .org{color:var(--accent-2)}.wcard h3{letter-spacing:-.022em;margin-top:12px;font-size:clamp(19px,2.2vw,22px);font-weight:400;line-height:1.15}.wcard h3 a{color:inherit;text-decoration:none}.wcard h3 a:after{content:"";position:absolute;inset:0}.wcard:hover h3 a{color:var(--accent)}.wcard .blurb{color:var(--fg-dim);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-top:10px;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.wstat{color:var(--fg-faint);margin-top:14px;font-size:13px}.wstat .v{letter-spacing:-.015em;color:var(--fg);font-size:15px;font-weight:600}.wcard .tags{margin-top:14px}.wcard .foot{margin-top:auto;padding-top:18px}.wcard .more{font-family:var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.wcard .more span{transition:transform .25s}.wcard:hover .more span{transform:translate(4px)}.timeline{padding:clamp(60px, 12vh, 130px) var(--pad) 0}.tl-intro{text-align:center;max-width:660px;margin:0 auto clamp(48px,9vh,96px)}.tl-intro h2{font-family:var(--serif);letter-spacing:-.01em;margin-top:18px;font-size:clamp(26px,4.6vw,44px);font-weight:400;line-height:1.1}.tl-intro p{color:var(--fg-dim);margin-top:16px;font-size:clamp(14px,1.9vw,16px);line-height:1.65}.spine{max-width:1040px;margin:0 auto;padding-bottom:40px;position:relative}.spine:before{content:"";transform-origin:top;background:linear-gradient(180deg, transparent, var(--line) 6%, var(--line) 94%, transparent);width:1px;transition:transform 1.4s cubic-bezier(.22,1,.36,1);position:absolute;top:0;bottom:0;left:50%;transform:translate(-.5px)scaleY(0)}.spine.in:before{transform:translate(-.5px)scaleY(1)}.entry{opacity:0;grid-template-columns:1fr 64px 1fr;align-items:center;margin-bottom:clamp(28px,5vh,52px);transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1);display:grid;position:relative;transform:translateY(26px)}.entry.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.entry{opacity:1;transition:none;transform:none}.spine:before{transition:none;transform:translate(-.5px)scaleY(1)}}.entry.right .card{grid-area:1/3}.entry.right .side{text-align:right;grid-area:1/1}.entry.left .card{grid-area:1/1}.entry.left .side{text-align:left;grid-area:1/3}.entry:after{content:"";background:var(--bg);border:2px solid var(--accent-2);width:9px;height:9px;box-shadow:0 0 0 4px var(--bg);border-radius:50%;margin:-4.5px 0 0 -4.5px;transition:transform .4s;position:absolute;top:50%;left:50%}.entry.in:after{transform:scale(1)}.side{font-family:var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-faint);white-space:nowrap;padding:0 22px;font-size:11px}.card{background:var(--glass);border:1px solid var(--line);box-shadow:0 18px 40px -32px var(--shadow);border-radius:14px;padding:clamp(20px,2.6vw,28px);transition:border-color .3s,transform .3s,background .3s;position:relative}.card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.card .where{font-family:var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint);flex-direction:column;gap:3px;margin-bottom:12px;font-size:10.5px;display:flex}.card .where .org{color:var(--accent-2)}.card h3{letter-spacing:-.015em;font-size:clamp(19px,2.5vw,24px);font-weight:400;line-height:1.2}.card h3 a{color:inherit;text-decoration:none}.card h3 a:after{content:"";border-radius:14px;position:absolute;inset:0}.card h3 a:hover{color:var(--accent)}.card .blurb{color:var(--fg-dim);margin-top:10px;font-size:14.5px;line-height:1.62}.tags{flex-wrap:wrap;gap:7px;margin-top:15px;display:flex}.tags b{font-family:var(--label);letter-spacing:.1em;border:1px solid var(--line);color:var(--fg-dim);background:var(--chip);border-radius:999px;padding:4px 9px;font-size:10.5px;font-weight:400}.links-row{z-index:1;flex-wrap:wrap;gap:16px;margin-top:16px;display:flex;position:relative}.links-row a{font-family:var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);border-bottom:1px solid var(--line-soft);padding-bottom:2px;font-size:11px;text-decoration:none;transition:color .2s,border-color .2s}.links-row a:hover{color:var(--accent);border-color:var(--accent)}.card .more{font-family:var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:7px;margin-top:16px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.card .more span{transition:transform .25s}.card:hover .more span{transform:translate(4px)}.promo{place-items:center;margin:-14px 0 calc(clamp(28px,5vh,52px) - 14px);display:grid;position:relative}.promo .mark{font-family:var(--label);letter-spacing:.28em;text-transform:uppercase;color:var(--fg-faint);background:var(--bg);border:1px solid var(--line-soft);border-radius:999px;align-items:center;gap:8px;padding:4px 12px;font-size:9.5px;display:inline-flex}.promo .mark i{border-left:4px solid #0000;border-right:4px solid #0000;border-bottom:6px solid var(--accent);opacity:.85;width:0;height:0}.older{text-align:center;font-family:var(--label);letter-spacing:.34em;text-transform:uppercase;color:var(--fg-faint);margin:clamp(34px,7vh,72px) 0;font-size:10px}@media (max-width:780px){.spine:before{left:13px}.entry{grid-template-columns:1fr;margin-bottom:26px;padding-left:40px}.entry.right .card,.entry.left .card{grid-area:auto/1}.entry.right .side,.entry.left .side{text-align:left;order:-1;grid-area:auto/1;padding:0 0 8px}.entry:after{margin-top:0;top:12px;left:13px}.promo{justify-items:start;margin:-8px 0 18px;padding-left:40px}}.source{text-align:center;min-height:88vh;padding:clamp(60px, 12vh, 120px) var(--pad) clamp(60px, 14vh, 140px);place-items:center;display:grid}.source-inner{max-width:560px}.source h2{font-family:var(--serif);letter-spacing:-.01em;margin-top:18px;font-size:clamp(26px,4.6vw,42px);font-weight:400;line-height:1.12}.source p{color:var(--fg-dim);margin-top:16px;font-size:15px;line-height:1.65}.source-links{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;display:flex}.source-links a{font-family:var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--fg);border:1px solid var(--line-strong);background:var(--glass);border-radius:999px;padding:12px 22px;font-size:11px;text-decoration:none;transition:border-color .25s,color .25s,transform .25s}.source-links a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.colophon{padding:0 var(--pad) calc(34px + env(safe-area-inset-bottom));text-align:center;font-family:var(--label);letter-spacing:.24em;text-transform:uppercase;color:var(--fg-faint);font-size:10px}.skills{padding:clamp(40px, 8vh, 90px) var(--pad)}.skills-inner{max-width:1040px;margin:0 auto}.skills-grid{background:var(--line-soft);border:1px solid var(--line-soft);border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;margin-top:34px;display:grid;overflow:hidden}.skills-grid>div{background:var(--glass);padding:22px}.skills-grid h3{font-family:var(--label);letter-spacing:.28em;text-transform:uppercase;color:var(--accent-2);font-size:10px;font-weight:600}.skills-grid ul{flex-wrap:wrap;gap:7px;margin:14px 0 0;padding:0;list-style:none;display:flex}.skills-grid li{color:var(--fg-dim);margin-right:4px;padding:3px 0;font-size:13px}.skills-grid li:after{content:"·";opacity:.4;margin-left:8px}.skills-grid li:last-child:after{content:""}.detail{padding:calc(84px + env(safe-area-inset-top)) var(--pad) 0}.detail-inner{max-width:780px;margin:0 auto}.back{width:fit-content;font-family:var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim);align-items:center;gap:8px;margin-bottom:34px;font-size:11px;text-decoration:none;display:flex}.back:hover{color:var(--accent)}.back span{transition:transform .25s}.back:hover span{transform:translate(-4px)}.detail .eyebrow{display:block}.detail h1{font-family:var(--serif);letter-spacing:-.01em;margin-top:16px;font-size:clamp(38px,7vw,66px);font-weight:400;line-height:1.02}.detail .lede{color:var(--fg-dim);margin-top:20px;font-size:clamp(16px,2.2vw,19px);line-height:1.6}.detail .lede a{color:var(--accent);border-bottom:1px solid var(--line-strong);text-decoration:none}.metrics{background:var(--line-soft);border:1px solid var(--line-soft);border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:40px 0;display:grid;overflow:hidden}.metrics>div{background:var(--glass);padding:20px}.metrics .v{letter-spacing:-.02em;color:var(--accent);font-size:clamp(20px,3vw,27px);font-weight:400}.metrics .k{font-family:var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint);margin-top:7px;font-size:10px}.factbar{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:26px;margin-top:30px;padding:22px 0;display:flex}.factbar div{min-width:120px}.factbar .k{font-family:var(--label);letter-spacing:.22em;text-transform:uppercase;color:var(--fg-faint);font-size:9.5px}.factbar .v{color:var(--fg);margin-top:7px;font-size:14px}.highlights{gap:14px;margin:34px 0 0;padding:0;list-style:none;display:grid}.highlights li{color:var(--fg-dim);padding-left:26px;font-size:15px;line-height:1.6;position:relative}.highlights li:before{content:"";background:var(--accent);opacity:.9;border-radius:50%;width:6px;height:6px;position:absolute;top:10px;left:4px}.prose{color:var(--fg-dim);margin:44px 0 0;padding-bottom:90px;font-size:16px;line-height:1.75}.prose h2{letter-spacing:-.015em;color:var(--fg);margin:52px 0 16px;font-size:clamp(20px,3vw,26px);font-weight:400}.prose h3{color:var(--fg);margin:36px 0 12px;font-size:18px;font-weight:400}.prose p{margin:0 0 20px}.prose strong{color:var(--fg);font-weight:500}.prose em{color:var(--fg);font-style:italic}.prose a{color:var(--accent);border-bottom:1px solid var(--line-strong);text-decoration:none}.prose ul,.prose ol{margin:0 0 20px;padding-left:22px}.prose li{margin-bottom:10px}.prose li::marker{color:var(--fg-faint)}.prose code{font-family:var(--code);background:var(--code-bg);color:var(--accent);border-radius:5px;padding:2px 6px;font-size:.86em}.prose pre{background:var(--pre-bg);border:1px solid var(--line-soft);font-family:var(--code);border-radius:14px;margin:0 0 24px;padding:20px;font-size:13.5px;line-height:1.6;overflow-x:auto}.prose pre code{color:var(--fg);font-size:inherit;background:0 0;padding:0}.prose blockquote{border-left:2px solid var(--line);color:var(--fg-faint);margin:0 0 24px;padding:4px 0 4px 20px;font-style:italic}.prose table{border-collapse:collapse;width:100%;margin:0 0 24px;font-size:14.5px;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line-soft);padding:11px 14px}.prose th{font-family:var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);font-size:10px;font-weight:500}.prose hr{border:0;border-top:1px solid var(--line-soft);margin:40px 0}.pager{border-top:1px solid var(--line-soft);justify-content:space-between;gap:20px;padding:34px 0 90px;display:flex}.pager a{color:var(--fg-dim);max-width:46%;text-decoration:none}.pager .k{font-family:var(--label);letter-spacing:.22em;text-transform:uppercase;color:var(--fg-faint);font-size:9.5px}.pager .v{color:var(--fg);margin-top:7px;font-size:15px}.pager a:hover .v{color:var(--accent)}.pager .next{text-align:right;margin-left:auto}.resume{padding:calc(96px + env(safe-area-inset-top)) var(--pad) 90px}.resume-inner{max-width:800px;margin:0 auto}.resume-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.resume-head h1{font-family:var(--serif);letter-spacing:-.03em;font-size:clamp(34px,6vw,54px);font-weight:400;line-height:1}.resume-head .role{color:var(--fg-dim);margin-top:12px;font-size:16px}.resume-contact{font-family:var(--label);letter-spacing:.06em;color:var(--fg-dim);text-align:right;gap:6px;font-size:11.5px;display:grid}.resume-contact a{color:inherit;text-decoration:none}.resume-contact a:hover{color:var(--accent)}.save-pdf-btn{font-family:var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--fg);background:var(--glass);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:9px;margin-top:26px;padding:12px 20px;font-size:11px;transition:border-color .25s,color .25s;display:inline-flex}.save-pdf-btn:hover{border-color:var(--accent);color:var(--accent)}.rsection{margin-top:52px}.rsection>h2{font-family:var(--label);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--line-soft);padding-bottom:12px;font-size:10px;font-weight:500}.rsection>p{color:var(--fg-dim);margin-top:18px;font-size:15px;line-height:1.7}.rrole{page-break-inside:avoid;break-inside:avoid;margin-top:26px}.rrole-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 18px;display:flex}.rrole h3{letter-spacing:-.01em;font-size:17px;font-weight:500}.rrole .org{color:var(--fg-dim);font-size:15px}.rrole .when{font-family:var(--label);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);white-space:nowrap;font-size:11px}.rrole .blurb{color:var(--fg-dim);margin-top:9px;font-size:14.5px;line-height:1.6}.rrole ul{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.rrole li{color:var(--fg-dim);padding-left:20px;font-size:14.5px;line-height:1.6;position:relative}.rrole li:before{content:"";background:var(--accent);opacity:.75;border-radius:50%;width:5px;height:5px;position:absolute;top:9px;left:2px}.rskills{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:20px;display:grid}.rskills .k{font-family:var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-faint);font-size:10px}.rskills .v{color:var(--fg-dim);margin-top:7px;font-size:14.5px;line-height:1.55}@media print{.backdrop,.topnav,.save-pdf-btn,.colophon,.scrollcue{display:none!important}html,body{font-size:10.5pt;color:#111!important;background:#fff!important}.resume{padding:0!important}.resume-inner{max-width:none}a{text-decoration:none;color:#111!important}.rsection>h2{color:#111!important;border-color:#bbb!important}.rrole .blurb,.rrole li,.rsection>p,.rskills .v,.resume-head .role,.resume-contact{color:#333!important}.rrole .when,.rskills .k{color:#666!important}.rrole li:before{background:#666!important}.rsection{margin-top:22pt}@page{margin:14mm}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
