:root{--ink:#17252a;--muted:#667278;--paper:#f7f7f2;--white:#fff;--line:#d8ddd9;--accent:#e76f51;--dark:#18353b;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:microsoft yahei,pingfang sc,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}.shell{width:min(var(--max),calc(100% - 48px));margin:auto}.site-header{border-bottom:1px solid var(--line);background:rgba(247,247,242,.95)}.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-family:Georgia,serif;font-size:28px;font-weight:700;letter-spacing:0}.wordmark span{color:var(--accent)}nav{display:flex;gap:28px}nav a{color:var(--muted);font-size:14px}nav a:hover,nav a.active{color:var(--ink)}.hero{padding:112px 0 100px}.eyebrow,.card-meta,.period{margin:0;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,songti sc,serif;font-weight:700;letter-spacing:0;line-height:1.15}.hero h1{max-width:780px;margin:16px 0 36px;font-size:clamp(44px,7vw,84px)}.hero-intro{max-width:570px;color:var(--muted);font-size:18px}.hero-intro p{margin-bottom:24px}.text-link{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--ink);padding-bottom:3px;font-size:14px;font-weight:700}.text-link span{color:var(--accent);font-size:20px;line-height:1;transition:transform .2s ease}.text-link:hover span{transform:translateX(4px)}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-strip div{min-height:132px;padding:26px 20px;border-right:1px solid var(--line)}.proof-strip div:first-child{border-left:1px solid var(--line)}.proof-strip strong{display:block;font-family:Georgia,songti sc,serif;font-size:33px;line-height:1.2}.proof-strip span{display:block;margin-top:8px;color:var(--muted);font-size:13px}.section{padding:92px 0}.section-heading{margin-bottom:38px}.section-heading h2{margin:10px 0 0;font-size:36px}.inline-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.timeline{border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:210px 1fr;gap:28px;padding:30px 0;border-bottom:1px solid var(--line)}.timeline h3{margin-bottom:7px;font-size:24px}.timeline div p{margin:0;color:var(--muted);max-width:610px}.project-band{background:var(--dark);color:var(--white)}.project-band .text-link{border-color:var(--white)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.25)}.project-card{position:relative;min-height:265px;padding:28px 28px 48px;border-right:1px solid rgba(255,255,255,.25);transition:background .2s ease}.project-card:first-child{border-left:1px solid rgba(255,255,255,.25)}.project-card:hover{background:rgba(255,255,255,8%)}.project-card h3{font-size:27px;margin:16px 0 14px}.project-card p:not(.card-meta){color:#cfdbd8;margin:0}.arrow{color:var(--accent);font-size:26px;line-height:1}.project-card .arrow{position:absolute;bottom:24px;left:28px}.post-list{border-top:1px solid var(--line)}.post-row{display:grid;grid-template-columns:120px minmax(160px,1.25fr)2fr 32px;align-items:center;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.post-row:hover h3{color:var(--accent)}.post-row h3{margin:0;font-size:22px;transition:color .2s ease}.post-row p{margin:0;color:var(--muted)}.post-date,.article-date{color:var(--muted);font-size:13px}.site-footer{padding:30px 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.site-footer .shell{display:flex;justify-content:space-between;gap:16px}.archive-header{padding:100px 0 65px}.archive-header h1{max-width:650px;margin:14px 0 0;font-size:48px}.archive-list{padding-bottom:100px}.archive-item{display:grid;grid-template-columns:150px 1fr 32px;gap:28px;align-items:start;padding:30px 0;border-top:1px solid var(--line)}.archive-item:last-child{border-bottom:1px solid var(--line)}.archive-item h2{margin:7px 0 10px;font-size:28px}.archive-item h2 a:hover{color:var(--accent)}.archive-item div>p:last-child{margin:0;color:var(--muted)}.link-arrow{padding-top:24px}.article{max-width:800px;padding:100px 0}.article header{max-width:700px;border-bottom:1px solid var(--line);padding-bottom:35px}.article h1{margin:14px 0 24px;font-size:54px}.article-date{margin:0}.article-content{max-width:680px;padding:45px 0;font-size:17px}.article-content h2{font-size:30px;margin:42px 0 16px}.article-content p{margin-bottom:22px}.article-content ul{padding-left:22px;margin-bottom:24px}.back-link{margin-top:10px}@media(max-width:700px){.shell{width:min(var(--max),calc(100% - 32px))}.nav-wrap{min-height:64px}.wordmark{font-size:24px}nav{gap:16px}nav a{font-size:13px}.hero{padding:72px 0}.hero h1{font-size:46px}.hero-intro{font-size:16px}.section{padding:64px 0}.section-heading h2{font-size:31px}.inline-heading{align-items:start;flex-direction:column;gap:16px}.timeline article{grid-template-columns:1fr;gap:8px;padding:24px 0}.project-grid{grid-template-columns:1fr}.project-card,.project-card:first-child{min-height:210px;border-left:0;border-bottom:1px solid rgba(255,255,255,.25)}.project-card:last-child{border-bottom:0}.post-row{grid-template-columns:1fr 26px;gap:8px 16px;padding:22px 0}.post-date{grid-column:1}.post-row h3{grid-column:1;font-size:21px}.post-row p{grid-column:1}.post-row .arrow{grid-column:2;grid-row:1/span 3;align-self:center}.site-footer .shell{flex-direction:column;gap:5px}.archive-header{padding:70px 0 48px}.archive-header h1,.article h1{font-size:39px}.archive-list{padding-bottom:70px}.archive-item{grid-template-columns:1fr 28px;gap:10px 16px}.archive-item .post-date{grid-column:1}.archive-item div{grid-column:1}.link-arrow{grid-column:2;grid-row:1/span 2;align-self:center;padding:0}.article{padding:70px 0}.article-content{padding:36px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}@media(max-width:700px){.proof-strip{grid-template-columns:repeat(2,1fr)}.proof-strip div:nth-child(3){border-left:1px solid var(--line)}.proof-strip div{min-height:110px;padding:20px 16px}.proof-strip strong{font-size:28px}}