@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Serif+SC:wght@400;500;600;700&display=swap');
:root{--paper:#f4f5f1;--ink:#1e252b;--muted:#68747b;--line:#cbd3cf;--signal:#b94832;--field:#e5ebe7;--max:1180px;--serif:'Noto Serif SC',Georgia,serif;--sans:'DM Sans','Noto Sans SC',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--signal);outline-offset:4px}.skip{position:absolute;left:1rem;top:-4rem;background:var(--ink);color:white;padding:.6rem 1rem;z-index:10}.skip:focus{top:1rem}.site-header{max-width:var(--max);margin:auto;padding:1.4rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--ink)}.brand{text-decoration:none;font-weight:700;letter-spacing:-.03em}.brand span{font-weight:400;color:var(--muted)}nav{display:flex;gap:1.6rem}nav a{text-decoration:none;color:var(--muted)}nav a:hover,nav a.active{color:var(--ink)}main{max-width:var(--max);margin:auto;padding:0 2rem}.hero{min-height:650px;display:grid;grid-template-columns:1.45fr .75fr;gap:5rem;align-items:center;padding:6rem 0 7rem}.kicker{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--signal);font-weight:700;margin:0 0 1.25rem}.hero h1,.page-intro h1{font-family:var(--serif);font-size:clamp(3rem,6.8vw,6.9rem);line-height:1.04;letter-spacing:-.065em;font-weight:500;margin:0 0 2rem}.hero h1 em{font-style:normal;color:var(--signal)}.lede{font-size:1.18rem;max-width:62ch;color:#3f4a50;line-height:1.7}.actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.button{background:var(--signal);color:#fff;text-decoration:none;padding:.85rem 1.15rem;font-weight:700}.button.secondary{background:transparent;color:var(--ink);border:2px solid var(--ink)}.hero-note{align-self:end;background:var(--field);padding:2rem;border-left:7px solid var(--signal);max-width:340px}.note-label,.aside-label{display:block;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.hero-note strong{font-family:var(--serif);font-size:1.6rem;line-height:1.35;font-weight:600;display:block}.section{padding:6rem 0}.section-heading{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:2.2rem}.section-heading .kicker{grid-column:1/-1}.section-heading h2,.split-section h2,.about-grid h2{font-family:var(--serif);font-size:clamp(2rem,3.3vw,3.5rem);line-height:1.15;letter-spacing:-.04em;font-weight:500;margin:0}.text-link{font-weight:700;text-decoration:none;color:var(--signal);white-space:nowrap}.text-link span{display:inline-block;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.project-card{background:var(--field);padding:1.7rem;min-height:325px;display:flex;flex-direction:column}.project-card:nth-child(2){background:#dfe7e4}.project-card:nth-child(3){background:#e9e1d9}.card-top,.writing-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.project-card h2{font-family:var(--serif);font-size:2rem;line-height:1.15;font-weight:500;margin:3rem 0 1rem}.project-card h2 a,.writing-row h2 a{text-decoration:none}.project-card p{color:#435057;margin:0}.card-signal{border-top:2px solid var(--ink);margin-top:auto;padding-top:.8rem;display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.project-card .text-link{margin-top:1.4rem}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:6rem;padding:6rem 0;background:var(--ink);color:var(--paper);margin-left:calc((var(--max) - 100vw)/2);margin-right:calc((var(--max) - 100vw)/2);padding-left:max(2rem,calc((100vw - var(--max))/2 + 2rem));padding-right:max(2rem,calc((100vw - var(--max))/2 + 2rem))}.split-section h2{font-size:clamp(2.2rem,4vw,4.5rem)}.quote-block{border-left:5px solid var(--signal);padding-left:2rem;align-self:center}.quote-block p{font-family:var(--serif);font-size:1.65rem;line-height:1.5}.writing-list{display:grid}.writing-row{display:grid;grid-template-columns:140px 1fr auto;gap:2rem;border-top:2px solid var(--ink);padding:1.8rem 0;align-items:start}.writing-row h2{font-family:var(--serif);font-size:1.65rem;line-height:1.2;font-weight:500;margin:0 0 .4rem}.writing-row p{margin:.3rem 0;color:var(--muted);max-width:68ch}.writing-row .text-link{align-self:center}.english-title{font-size:.95rem;color:var(--signal)!important}.page-intro{padding:7rem 0 5rem;max-width:820px}.page-intro h1{font-size:clamp(3rem,6vw,6.3rem)}.project-grid-wide{padding-bottom:7rem}.article{padding:5rem 0 8rem}.article-head{max-width:850px;border-bottom:2px solid var(--ink);padding-bottom:3rem}.article-head h1{font-family:var(--serif);font-size:clamp(2.8rem,6vw,6rem);line-height:1.06;letter-spacing:-.06em;font-weight:500;margin:.5rem 0 1rem}.article-head .english-title{font-size:1.25rem}.dek,.english-summary{font-size:1.25rem;line-height:1.6;color:#526066;max-width:64ch}.evidence-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--field);padding:1.5rem;margin:2rem 0 4rem;gap:1rem}.evidence-strip span{display:block;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.evidence-strip strong{font-size:.95rem}.article-grid{display:grid;grid-template-columns:minmax(0,750px) 250px;gap:5rem}.prose{font-family:var(--serif);font-size:1.1rem;line-height:1.9}.prose h2{font-family:var(--sans);font-size:1.7rem;line-height:1.3;margin:3rem 0 1rem}.prose h3{font-family:var(--sans);font-size:1.25rem}.prose p{margin:1.1rem 0}.prose a{color:var(--signal)}.prose code{font-family:monospace;background:var(--field);padding:.15rem .3rem}.prose pre{font-family:monospace;background:var(--ink);color:#e7eee9;padding:1.2rem;overflow:auto;line-height:1.5}.article-aside{border-top:2px solid var(--ink);align-self:start}.article-aside>div{padding:1.3rem 0;border-bottom:2px solid var(--line)}.article-aside p{margin:0;color:#536067}.article-tags{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0}.article-tags span{background:var(--field);padding:.35rem .65rem;font-size:.78rem;color:var(--muted)}.about-grid{display:grid;grid-template-columns:1fr .8fr;gap:6rem;padding:2rem 0 7rem}.about-grid p{font-family:var(--serif);font-size:1.2rem;line-height:1.8}.cv-sheet{background:var(--ink);color:var(--paper);padding:2rem}.cv-sheet h2{font-family:var(--sans);font-size:1.5rem}.cv-sheet li{margin:1rem 0}.pending{border-top:1px solid #637078;padding-top:1rem;color:#bbc5c4!important;font-family:var(--sans)!important;font-size:.9rem!important;line-height:1.5!important}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.method-grid>div{border-top:3px solid var(--signal);padding-top:1rem}.method-grid strong{font-size:1.3rem}.method-grid p{color:var(--muted)}footer{max-width:var(--max);margin:auto;border-top:2px solid var(--ink);padding:2rem;display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.85rem}footer strong{color:var(--ink)}
@media(max-width:800px){.site-header{padding:1.1rem 1.2rem;display:block}.brand{display:block;margin-bottom:1rem}nav{gap:1rem;font-size:.9rem}main{padding:0 1.2rem}.hero{display:block;padding:4rem 0 5rem;min-height:auto}.hero h1,.page-intro h1{font-size:clamp(2.8rem,13vw,5rem)}.hero-note{margin-top:3rem;max-width:none}.section{padding:4.5rem 0}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:1rem}.project-grid,.method-grid,.about-grid,.split-section{grid-template-columns:1fr;gap:2rem}.split-section{margin-left:-1.2rem;margin-right:-1.2rem;padding:4rem 1.2rem}.writing-row{grid-template-columns:1fr;gap:.5rem}.writing-row .text-link{margin-top:.5rem}.page-intro{padding:4rem 0 3rem}.article{padding:3rem 0 5rem}.article-head h1{font-size:clamp(2.5rem,12vw,4.5rem)}.evidence-strip{grid-template-columns:1fr;gap:1.3rem}.article-grid{grid-template-columns:1fr;gap:2rem}.article-aside{order:-1}.prose{font-size:1.05rem}.about-grid{padding-bottom:4rem}footer{padding:1.5rem 1.2rem;display:block}footer div+div{margin-top:.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.text-link span{transition:none}}
