:root{--ink:#17211d;--muted:#6c776f;--paper:#f3f0e8;--panel:#faf8f2;--line:#d8d6cb;--accent:#d95b39;--sage:#c9d6c6;--dark:#12201b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,"Microsoft YaHei",sans-serif}.grain{position:fixed;inset:0;pointer-events:none;opacity:.13;z-index:2;background-image:url("data:image/svg+xml,%3Csvg width='160' height='160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}.site-shell{max-width:1240px;margin:auto;padding:28px 42px 56px;position:relative;z-index:1}.site-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}.brand{font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-.05em}.brand span{color:var(--accent)}.site-nav{display:flex;gap:28px;font-size:13px;color:var(--muted)}.site-nav a{color:inherit;text-decoration:none}.site-nav a.active,.site-nav a:hover{color:var(--ink)}.mode-toggle{border:1px solid var(--line);border-radius:99px;padding:8px 12px;background:transparent;color:var(--ink);font:12px "DM Mono",monospace;cursor:pointer}.hero{display:grid;grid-template-columns:1.16fr .84fr;gap:72px;padding:94px 0 82px;align-items:end}.eyebrow{font:11px "DM Mono",monospace;color:var(--accent);letter-spacing:.1em;text-transform:uppercase}.hero h1{font-size:clamp(58px,8vw,112px);line-height:.92;letter-spacing:-.075em;margin:18px 0 30px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.hero-intro{font-size:18px;line-height:1.7;max-width:550px;color:#4e5a52}.hero-actions{display:flex;gap:25px;margin-top:34px}.text-link{color:var(--ink);font:13px "DM Mono",monospace;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link span{color:var(--accent)}.muted-link{color:var(--muted);border-color:var(--muted)}.seal{justify-self:end;width:235px;height:235px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;transform:rotate(8deg);background:var(--sage);position:relative}.seal:after{content:"";position:absolute;inset:13px;border:1px dashed var(--ink);border-radius:50%}.seal b{font-size:58px;letter-spacing:-.12em;z-index:1}.seal span{position:absolute;z-index:1;font:11px "DM Mono";top:50%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);white-space:nowrap}.section{border-top:1px solid var(--line);padding-top:22px;margin-top:0}.section-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:22px}.section-head h2{font-size:15px;margin:0;letter-spacing:-.02em}.section-head span{font:11px "DM Mono";color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{background:var(--panel);border:1px solid var(--line);padding:25px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s,box-shadow .25s}.project-card:nth-child(2){background:#e4ebe0}.project-card:nth-child(3){background:#ede3d7}.project-card:hover{transform:translateY(-5px);box-shadow:8px 8px 0 var(--sage)}.project-num{font:11px "DM Mono";color:var(--accent)}.project-card h3{font-size:28px;line-height:1.05;letter-spacing:-.055em;margin:24px 0 12px}.project-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.card-meta{display:flex;justify-content:space-between;align-items:end;margin-top:28px;font:11px "DM Mono";color:var(--muted)}.tag{color:var(--ink);border:1px solid var(--line);padding:6px 8px;background:rgba(255,255,255,.35)}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:72px;margin-top:72px}.article-list{border-top:1px solid var(--line)}.article-row{display:flex;justify-content:space-between;gap:28px;padding:19px 0;border-bottom:1px solid var(--line);font-size:14px}.article-row a{color:var(--ink);text-decoration:none}.article-row span{font:11px "DM Mono";color:var(--muted)}.now-card{background:var(--dark);color:#f8f4e9;padding:28px;min-height:260px;position:relative}.now-card h2{font-size:30px;line-height:1.1;letter-spacing:-.06em;margin:20px 0 18px;max-width:410px}.now-card>p:not(.eyebrow){color:#bac6bb;line-height:1.7;font-size:14px;max-width:430px}.now-card time{position:absolute;right:24px;bottom:22px;color:#9cad9f;font:11px "DM Mono"}.timeline-list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-left:1px solid var(--line)}.timeline-item{padding:0 22px 0 20px;border-right:1px solid var(--line);min-height:130px}.timeline-item time{font:11px "DM Mono";color:var(--accent)}.timeline-item h3{font-size:16px;margin:14px 0 8px}.timeline-item p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:72px;border-top:1px solid var(--line);margin-top:72px;padding-top:30px}.about-section h2{font-size:42px;line-height:1.05;letter-spacing:-.06em;margin:22px 0}.about-copy{font-size:17px;line-height:1.75;max-width:520px}.about-meta{font:12px "DM Mono";color:var(--muted);margin-top:26px}.site-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:86px;padding-top:20px;color:var(--muted);font:12px "DM Mono"}.site-footer a{color:inherit;text-decoration:none}.reveal{animation:rise .8s both}.reveal:nth-child(2){animation-delay:.1s}.reveal:nth-child(3){animation-delay:.18s}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}body.dark{--ink:#edf0e7;--muted:#9ca99e;--paper:#17211d;--panel:#202b25;--line:#3b4940;--accent:#ed7956;--sage:#34473d;--dark:#0d1512}.dark .project-card:nth-child(2){background:#29382f}.dark .project-card:nth-child(3){background:#3a3028}.dark .hero-intro,.dark .project-card p{color:#bdc8bd}.dark .mode-toggle{color:var(--ink)}@media(max-width:850px){.site-shell{padding:20px}.site-nav{display:none}.hero{grid-template-columns:1fr;gap:38px;padding:65px 0}.seal{justify-self:start;width:160px;height:160px}.seal b{font-size:42px}.project-grid,.timeline-list{grid-template-columns:1fr 1fr}.split-section,.about-section{grid-template-columns:1fr;gap:35px}.site-footer{flex-direction:column;gap:12px}}@media(max-width:520px){.hero h1{font-size:62px}.project-grid,.timeline-list{grid-template-columns:1fr}.article-row{font-size:13px}.about-section h2{font-size:34px}}
