:root{--paper:#f3efe7;--paper-raised:#eae2d0;--paper-line:#e3dbc7;--ink:#171717;--ink-soft:#171717b3;--ink-faint:#1717177a;--vermilion:#f04e32;--vermilion-dim:#f04e3224;--graphite:#57534a;--paleblue:#a9b6c4;--paleblue-dim:#a9b6c447;--line:#17171729;--line-strong:#17171752;--font-display:"Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--container:1280px;--gutter:clamp(20px, 5vw, 64px);--ease:cubic-bezier(.16, 1, .3, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.6}h1,h2,h3{font-family:var(--font-display);color:var(--ink);margin:0;font-weight:600}p{margin:0}a{color:inherit}ul,ol{margin:0;padding:0;list-style:none}img,svg{max-width:100%;display:block}:focus-visible{outline:2.5px solid var(--vermilion);outline-offset:3px;border-radius:2px}.skip-link{z-index:100;background:var(--ink);color:var(--paper);font-family:var(--font-mono);transition:top .2s var(--ease);border-radius:4px;padding:12px 18px;font-size:14px;text-decoration:none;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.eyebrow{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:10px;margin:0 0 18px;font-size:12.5px;display:flex}.eyebrow__index{color:var(--vermilion);font-weight:500}.section{padding:clamp(64px, 10vw, 128px) var(--gutter) 0;max-width:var(--container);margin:0 auto;position:relative}.section__head{max-width:44rem;margin-bottom:clamp(32px,5vw,56px)}.section__title{letter-spacing:-.01em;font-size:clamp(28px,3.4vw,44px);line-height:1.05}.section-divider{width:100%;height:20px;color:var(--line-strong);margin-top:clamp(56px,9vw,108px)}.tag-list{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.03em;border:1px solid var(--line);color:var(--graphite);background:var(--paper-raised);border-radius:999px;padding:6px 10px;font-size:12px}.tag--accent{background:var(--vermilion);color:var(--ink);border-color:#0000;font-weight:500}.signal-line{width:100%;overflow:visible}.signal-line path{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.signal-line--mark{width:96px;height:32px;color:var(--vermilion)}@media (prefers-reduced-motion:no-preference){.signal-line path{stroke-dasharray:620;stroke-dashoffset:620px;animation:draw-signal 1.4s var(--ease) forwards;animation-delay:.15s}}@keyframes draw-signal{to{stroke-dashoffset:0}}.btn{font-family:var(--font-sans);cursor:pointer;transition:transform .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);border:1.5px solid #0000;border-radius:4px;align-items:center;gap:9px;padding:13px 22px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn svg{width:17px;height:17px}.btn--primary{background:var(--vermilion);color:var(--ink)}.btn--primary:hover{background:#ff5c3e;transform:translateY(-1px)}.btn--ghost{border-color:var(--line-strong);color:var(--ink);background:0 0}.btn--ghost:hover{border-color:var(--ink);transform:translateY(-1px)}.site-header{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#f3efe7e0;position:sticky;top:0}.site-header__inner{max-width:var(--container);padding:16px var(--gutter);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;display:flex}.site-header__mark{flex-direction:column;line-height:1.15;text-decoration:none;display:flex}.site-header__mark-name{font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:600}.site-header__mark-role{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.site-header__nav ul{gap:28px;display:flex}.site-header__nav a{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-soft);transition:color .15s var(--ease), border-color .15s var(--ease);border-bottom:1.5px solid #0000;padding:4px 2px;font-size:13px;text-decoration:none}.site-header__nav a:hover{color:var(--ink);border-color:var(--vermilion)}.site-header__actions{gap:18px;display:flex}.header-action{font-family:var(--font-mono);color:var(--ink);align-items:center;gap:6px;font-size:13px;text-decoration:none;display:flex}.header-action svg{width:15px;height:15px;color:var(--vermilion)}.header-action:hover{color:var(--vermilion)}@media (width<=760px){.site-header__nav{display:none}}@media (width<=480px){.header-action span{display:none}}.hero{padding:clamp(48px, 9vw, 96px) var(--gutter) 0;max-width:var(--container);margin:0 auto}.hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:start;gap:clamp(36px,7vw,96px);display:grid}.hero__lede{animation:rise .7s var(--ease) both;grid-column:1}.hero__name{letter-spacing:-.02em;margin:0 0 28px;font-size:clamp(56px,10vw,132px);font-weight:700;line-height:.92}.hero__statement{font-family:var(--font-display);color:var(--ink-soft);max-width:32rem;font-size:clamp(19px,2.1vw,27px);font-style:italic;font-weight:500;line-height:1.4}.hero__meta{border-top:1.5px solid var(--line-strong);animation:rise .7s var(--ease) both;grid-column:1/-1;grid-template-columns:minmax(0,1.3fr) minmax(220px,.8fr) auto;gap:24px clamp(24px,5vw,72px);padding-top:clamp(22px,3vw,34px);animation-delay:.15s;display:grid}.hero__mark{grid-column:1/-1;margin-bottom:0}.hero__portrait{width:100%;max-width:410px;animation:rise .7s var(--ease) both;grid-area:1/2;justify-self:end;margin:0;padding-top:0;animation-delay:80ms}.hero__portrait:before{content:"";background:var(--vermilion);width:42px;height:3px;margin-bottom:14px;display:block}.hero__portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center top;border:1.5px solid var(--line-strong);filter:grayscale(.1)sepia(.06)saturate(.92)contrast(1.03);width:100%;display:block}.hero__summary{color:var(--ink-soft);grid-column:1;margin-bottom:0;font-size:15.5px}.hero__facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-column:2;align-self:start;gap:12px;margin:0 0 30px;padding:18px 0;display:grid}.hero__facts>div{justify-content:space-between;gap:12px;font-size:13.5px;display:flex}.hero__facts dt{font-family:var(--font-mono);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}.hero__facts dd{text-align:right;margin:0;font-weight:500}.hero__contact{flex-direction:column;grid-column:3;align-self:start;align-items:flex-start;gap:18px;display:flex}.hero__actions{flex-wrap:wrap;gap:12px;margin:0;display:flex}.hero__links{flex-wrap:wrap;gap:20px;display:flex}.hero__links a{font-family:var(--font-mono);color:var(--ink-soft);align-items:center;gap:7px;font-size:13px;text-decoration:none;display:flex}.hero__links svg{width:15px;height:15px}.hero__links a:hover{color:var(--vermilion)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.hero__grid{grid-template-columns:1fr}.hero__portrait{grid-area:auto/1;justify-self:start;width:min(78vw,360px);margin:0}.hero__meta{border-top:1.5px solid var(--line-strong);grid-column:1;grid-template-columns:1fr;padding-top:24px}.hero__mark,.hero__summary,.hero__facts,.hero__contact{grid-column:1}}.work-list{flex-direction:column;gap:clamp(48px,8vw,88px);display:flex}.work-entry{grid-template-columns:auto 1.15fr 1fr;align-items:start;gap:clamp(20px,4vw,48px);scroll-margin-top:96px;display:grid}.work-entry:nth-child(2n){grid-template-columns:auto 1fr 1.15fr}.work-entry:nth-child(2n) .work-entry__cover{order:-1}.work-entry__index{font-family:var(--font-display);color:var(--vermilion);font-size:clamp(48px,6vw,84px);font-style:italic;font-weight:300;line-height:1}.work-entry__heading h3{letter-spacing:-.01em;margin-bottom:4px;font-size:clamp(24px,2.6vw,34px)}.work-entry__role{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:18px;font-size:12.5px}.work-entry__description{color:var(--ink-soft);max-width:34rem;margin-bottom:16px}.work-entry__recognition{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;font-size:14px;font-weight:500;display:flex}.work-entry__aside{border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:22px;padding-top:14px;font-size:14px;display:flex}.work-entry__aside p{margin:0}.text-link{color:var(--ink);font-family:var(--font-mono);white-space:nowrap;align-items:center;gap:7px;font-size:12px;text-decoration:none;display:inline-flex}.text-link svg{width:14px;height:14px;color:var(--vermilion)}.text-link:hover{color:var(--vermilion)}.work-entry__cover{align-self:stretch}.cover{border:1.5px solid var(--line-strong);background:var(--paper-raised);flex-direction:column;gap:18px;height:100%;min-height:220px;padding:22px 20px;display:flex}.cover__label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.cover--stack .cover__layers{flex-direction:column;flex:1;justify-content:center;gap:12px;display:flex}.cover__layer-bar{background:var(--paleblue);border-radius:2px;height:8px;display:block}.cover--stack li:first-child .cover__layer-bar{background:var(--vermilion);width:92%}.cover--stack li:nth-child(2) .cover__layer-bar{width:74%}.cover--stack li:nth-child(3) .cover__layer-bar{background:var(--graphite);width:100%}.cover--stack li:nth-child(4) .cover__layer-bar{width:58%}.cover__layer-name{font-family:var(--font-mono);color:var(--ink);margin-top:6px;font-size:12px;display:block}.cover--pipeline .cover__chain{flex-wrap:wrap;flex:1;align-items:center;gap:10px 8px;display:flex}.cover--pipeline li{align-items:center;gap:8px;display:flex}.cover__node{font-family:var(--font-mono);border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);padding:8px 10px;font-size:12px}.cover__arrow{color:var(--vermilion);font-family:var(--font-mono)}.cover--gallery{margin:0}.cover--gallery .cover__gallery-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.cover--gallery .cover__gallery-grid img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);filter:saturate(.8)contrast(1.02);width:100%;height:100%}.cover--gallery figcaption,.timeline-entry__media figcaption{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-faint);margin-top:10px;font-size:11px;line-height:1.5}@media (width<=820px){.work-entry,.work-entry:nth-child(2n){grid-template-columns:auto 1fr}.work-entry__cover,.work-entry:nth-child(2n) .work-entry__cover{order:0;grid-column:1/-1}}@media (width<=560px){.work-entry,.work-entry:nth-child(2n){grid-template-columns:1fr}.work-entry__index{font-size:40px}}.timeline{flex-direction:column;display:flex}.timeline-entry{border-top:1px solid var(--line);grid-template-columns:13rem 1fr;gap:24px;padding:28px 0;display:grid}.timeline-entry--with-media{grid-template-columns:13rem 1fr 18rem;align-items:center}.timeline-entry:last-child{border-bottom:1px solid var(--line)}.timeline-entry__date{font-family:var(--font-mono);color:var(--ink-faint);letter-spacing:.02em;font-size:13px}.timeline-entry__body h3{margin-bottom:8px;font-size:20px;font-weight:600}.timeline-entry__org{color:var(--ink-soft);font-weight:400}.timeline-entry__body p{color:var(--ink-soft);max-width:40rem}.timeline-entry__media{width:100%}.timeline-entry__media img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line-strong);filter:saturate(.78)sepia(.04);width:100%}@media (width<=860px){.timeline-entry--with-media{grid-template-columns:13rem 1fr;align-items:start}.timeline-entry--with-media .timeline-entry__media{grid-column:2;width:min(100%,27rem);margin-top:20px}}@media (width<=640px){.timeline-entry,.timeline-entry--with-media{grid-template-columns:1fr;gap:8px}.timeline-entry--with-media .timeline-entry__media{grid-column:1;width:100%;margin-top:16px}}.foundations-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;display:grid}.foundation-card{background:var(--paper);padding:30px 28px;position:relative}.foundation-card:before{content:"";background:var(--vermilion);width:34px;height:3px;position:absolute;top:0;left:0}.foundation-card__label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:16px;font-size:11px;display:block}.foundation-card h3{margin-bottom:6px;font-size:21px}.foundation-card__credential{color:var(--ink);margin-bottom:4px;font-weight:500}.foundation-card__meta{font-family:var(--font-mono);color:var(--ink-faint);margin-bottom:14px;font-size:12.5px}.foundation-card__description{color:var(--ink-soft);font-size:15px}.contact{padding-bottom:clamp(56px,9vw,96px)}.contact__statement{font-family:var(--font-display);max-width:38rem;color:var(--ink);margin-bottom:34px;font-size:clamp(20px,2.6vw,30px);font-style:italic;line-height:1.4}.contact__email{border-bottom:1.5px solid var(--vermilion);color:var(--ink);font-family:var(--font-mono);padding-bottom:8px;font-size:clamp(15px,1.8vw,20px);text-decoration:none;display:inline-block}.contact__email:hover{color:var(--vermilion)}.contact__actions{margin-bottom:40px}.contact__links{border-top:1px solid var(--line);flex-wrap:wrap;gap:28px;padding-top:28px;display:flex}.contact__links a{font-family:var(--font-mono);color:var(--ink-soft);align-items:center;gap:8px;font-size:14px;text-decoration:none;display:flex}.contact__links svg{width:16px;height:16px;color:var(--vermilion)}.contact__links a:hover{color:var(--vermilion)}.contact__foot{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:56px;padding-top:20px;font-size:12px;display:flex}
