:root{
  --bg:#f5f2ed;--ink:#11110f;--muted:#6b6963;--line:#c9c5bd;--paper:#ece8e1;
  --shell:min(1180px, calc(100vw - 64px));--ease:cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}.shell{width:var(--shell);margin-inline:auto}.grain{position:fixed;inset:0;pointer-events:none;opacity:.03;z-index:50;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:40}.monogram{font-size:28px;font-weight:700;letter-spacing:-.06em}.nav{display:flex;gap:46px;font-size:12px;font-weight:700;letter-spacing:.02em}.nav a{position:relative}.nav a:after{content:"";position:absolute;height:1px;left:0;right:100%;bottom:-7px;background:var(--ink);transition:right .35s var(--ease)}.nav a:hover:after,.nav a.active:after{right:0}.nav-toggle{display:none;border:0;background:transparent;font:inherit;font-size:12px;font-weight:700}
.hero{min-height:625px;display:grid;grid-template-columns:1.06fr .94fr;gap:70px;padding-top:32px}.hero-name{align-self:start}.hero h1{font-family:"Oswald",sans-serif;font-size:clamp(82px,9vw,144px);line-height:.82;letter-spacing:-.055em;margin:0 0 31px;font-weight:600}.hero-rule{height:1px;background:#9c9993;max-width:520px;margin-bottom:24px}.hero-kicker{font-family:"Libre Caslon Text",serif;font-size:31px;line-height:1.25;margin:0 0 23px}.hero-bio{max-width:445px;font-size:14px;line-height:1.65}.tags{display:flex;flex-wrap:wrap;gap:7px 11px;margin-top:26px;font-size:9.5px;letter-spacing:.055em;color:#4e4c47}.tags i{font-style:normal}.hero-field{position:relative;min-height:500px;color:#8b8880}.contours{width:100%;height:100%;position:absolute;inset:0;transform:scale(1.12);transform-origin:center}.hero-thesis{position:absolute;left:35%;top:29%;font-size:15px;line-height:1.75;color:var(--ink);margin:0}
.section{scroll-margin-top:80px;margin-top:18px}.section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:15px}.section-head h2{font-size:21px;margin:0;font-weight:700}.section-note{font-size:10px;font-weight:700;letter-spacing:.08em}.project-list{overflow:visible}.project.is-hidden{display:none}.work-actions{display:flex;justify-content:flex-end;padding-top:16px}.work-more{appearance:none;border:0;background:transparent;color:var(--ink);font:inherit;font-size:10px;font-weight:700;letter-spacing:.08em;cursor:pointer;padding:8px 0 4px;display:inline-flex;align-items:center;gap:9px;border-bottom:1px solid transparent;transition:border-color .25s var(--ease),opacity .25s var(--ease)}.work-more:hover{border-color:var(--ink)}.work-more span{font-size:15px;font-weight:400;line-height:1;transition:transform .35s var(--ease)}.work-more[aria-expanded="true"] span{transform:rotate(45deg)}.project{display:grid;grid-template-columns:46% 6% 1fr;gap:0;border-bottom:1px solid var(--line);min-height:185px;position:relative;isolation:isolate;transition:background .35s var(--ease)}.project::before{content:"";position:absolute;inset:0;background:#ebe7df;transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--ease);z-index:-1}.project:hover::before{transform:scaleY(1)}.project-media{margin:0;overflow:hidden;background:#ddd;position:relative}.project-media img{display:block;width:100%;height:100%;min-height:185px;object-fit:cover;filter:saturate(.8) contrast(.98);transform:scale(1.001);transition:transform .9s var(--ease),filter .6s var(--ease)}.project:hover img{transform:scale(1.055);filter:saturate(.92) contrast(1.03)}.project-num{padding:38px 0 0 30px;font-size:12px}.project-copy{padding:34px 40px 28px 24px;display:flex;flex-direction:column;justify-content:center;transition:transform .45s var(--ease)}.project:hover .project-copy{transform:translateX(8px)}.project h3{font-size:21px;margin:0 0 8px;line-height:1.15}.project p{margin:0 0 14px;max-width:500px;font-size:13px;line-height:1.55}.project-tags{font-size:9.5px;letter-spacing:.05em;text-transform:uppercase}.project a.stretched{position:absolute;inset:0;z-index:2}.project[data-disabled="true"] a.stretched{display:none}
.writings{margin-top:52px}.writing-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:28px;margin-top:0}.writing-list{border-top:0}.writing-item{display:grid;text-decoration:none;color:inherit;grid-template-columns:1fr auto;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-family:"Libre Caslon Text",serif;font-size:15px}.writing-item time{font-family:"DM Sans",sans-serif;font-size:10px;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.featured-writing{min-height:420px;background:#1e2421;position:relative;overflow:hidden}.featured-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.featured-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.18) 75%);z-index:1}.featured-writing:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.16),transparent 34%),linear-gradient(115deg,transparent 35%,rgba(255,255,255,.05));mix-blend-mode:screen}.featured-copy{position:absolute;inset:0;padding:35px;color:white;z-index:2;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:.08em}.featured-copy h3{font-family:"Libre Caslon Text",serif;font-size:38px;line-height:1.08;max-width:560px;margin:18px 0}.featured-copy p{max-width:420px;font-size:14px}.featured-copy a{margin-top:auto;font-size:11px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}
.about{margin-top:58px;border-top:1px solid var(--line);padding-top:32px}.about-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:48px}.about h3{font-size:11px;margin:0 0 14px}.about p{font-size:12px;line-height:1.65;margin:0}.about p+p{margin-top:12px}.about a:hover{text-decoration:underline}.text-link{display:inline-block;margin-top:18px;font-size:10px;font-weight:700;letter-spacing:.04em;border-bottom:1px solid var(--ink)}.archive{padding:60px 0 48px}.archive-inner{display:flex;gap:35px;align-items:baseline;border-top:1px solid var(--line);padding-top:22px}.archive-inner span{font-weight:700;font-size:12px}.archive-inner p{margin:0;color:var(--muted);font-size:12px}.footer{border-top:1px solid var(--line);padding:24px 0 34px;display:flex;justify-content:space-between;font-size:11px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media (max-width:900px){:root{--shell:min(100% - 34px,1180px)}.site-header{height:78px}.nav-toggle{display:block}.nav{position:absolute;top:62px;right:0;background:var(--bg);border:1px solid var(--line);padding:18px 24px;display:none;flex-direction:column;gap:18px}.nav.open{display:flex}.hero{grid-template-columns:1fr;min-height:auto;padding-top:34px;gap:10px}.hero h1{font-size:clamp(74px,19vw,130px)}.hero-field{min-height:300px}.hero-thesis{left:33%;top:22%}.project{grid-template-columns:42% 8% 1fr}.project-copy{padding-right:16px}.writing-grid{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.hero-kicker{font-size:25px}.hero-field{min-height:240px}.hero-thesis{font-size:12px;left:24%;top:19%}.tags{line-height:1.8}.project-list{overflow:visible}.project{grid-template-columns:1fr;min-height:0}.project-media img{min-height:230px}.project-num{padding:15px 0 0}.project-copy{padding:8px 0 24px;transform:none!important}.project h3{font-size:20px}.writing-item{grid-template-columns:1fr}.featured-copy h3{font-size:33px}.about-grid{grid-template-columns:1fr;gap:28px}.footer{gap:20px;flex-direction:column}.section-head{align-items:center}.section-note{display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.project *,.project:before{transition:none!important}}

.project-link {
  position: relative;
  z-index: 2;
  display: inline-block;
  margin-top: 12px;
  margin-bottom: 22px;
  color: inherit;
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.project-link:hover {
  opacity: 0.55;
}