:root{--paper:#f3eee5;--paper-deep:#e8dfd1;--paper-light:#faf7f1;--ink:#24231f;--muted:#706b63;--brick:#9b3f2f;--brick-dark:#743125;--sage:#7f8c70;--sage-light:#dfe3d8;--line:#24231f29;--serif:"Noto Serif SC", "Songti SC", SimSun, Georgia, serif;--sans:Inter, "PingFang SC", "Microsoft YaHei", sans-serif;--content:1180px;--reading:700px;--motion-reveal-duration:.85s;--motion-hover-duration:1.25s;--motion-fluid-ease:cubic-bezier(.37, 0, .63, 1);--motion-sheen:linear-gradient(108deg, transparent 18%, #ffffff14 35%, #ffffffb8 48%, #dfe3d857 56%, transparent 74%)}*,:before,:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{background:radial-gradient(circle at 17% 8%, #fff9, transparent 28rem), repeating-linear-gradient(0deg, #24231f03 0 1px, transparent 1px 4px), var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;font-size:16px;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--brick);outline-offset:5px}::selection{background:var(--brick);color:var(--paper-light)}.shell{max-width:calc(var(--content) + 48px);width:100%;margin-inline:auto;padding-inline:24px}.skip-link{background:var(--ink);color:var(--paper-light);z-index:100;padding:10px 14px;transition:top .16s;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:82px;display:flex}.wordmark{font-family:var(--serif);letter-spacing:.08em;align-items:center;gap:10px;font-size:1.14rem;display:inline-flex}.wordmark-dot{background:var(--brick);border-radius:50%;width:9px;height:9px}.main-nav{align-items:center;gap:clamp(18px,3vw,40px);display:flex}.main-nav a{color:var(--muted);letter-spacing:.12em;padding-block:8px;font-size:.8rem;position:relative}.main-nav a:after{background:linear-gradient(90deg, var(--brick), var(--sage));content:"";transform-origin:100%;height:1px;transition:transform .36s var(--motion-fluid-ease);width:100%;position:absolute;bottom:2px;left:0;transform:scaleX(0)}.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--brick-dark)}.main-nav a:hover:after,.main-nav a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;margin-top:100px;padding-block:38px 42px;display:flex}.footer-signature{font-family:var(--serif);letter-spacing:.12em;margin:0;font-size:1.05rem}.footer-meta{color:var(--muted);align-items:center;gap:24px;font-size:.72rem;display:flex}.footer-meta a{color:var(--brick-dark)}.section-label{color:var(--brick);letter-spacing:.18em;align-items:center;gap:12px;margin:0 0 24px;font-size:.72rem;display:flex}.section-label:before{content:"";background:currentColor;width:28px;height:1px}.section-title{font-family:var(--serif);letter-spacing:-.04em;margin:0;font-size:clamp(2.4rem,5vw,4.8rem);font-weight:400;line-height:1.1}.text-link{color:var(--brick-dark);letter-spacing:.08em;gap:10px;font-size:.8rem;display:inline-flex}.text-link:hover{text-underline-offset:5px;text-decoration:underline}[data-reveal]{--reveal-delay:0s}.motion-ready [data-reveal]{opacity:0;transition:opacity var(--motion-reveal-duration) var(--motion-fluid-ease) var(--reveal-delay), transform var(--motion-reveal-duration) var(--motion-fluid-ease) var(--reveal-delay);transform:translateY(7px)}.motion-ready [data-reveal].is-visible{opacity:1;transform:translate(0,0)}@media (width<=900px){.site-header{flex-direction:column;align-items:flex-start;gap:12px;padding-block:22px 18px}.main-nav{gap:18px;width:100%;padding-bottom:2px;overflow-x:auto}.main-nav a{flex:none}}@media (width<=640px){body{font-size:15px}.shell{padding-inline:18px}.site-footer{flex-direction:column;align-items:flex-start;gap:24px;margin-top:72px}.footer-meta{flex-direction:column;align-items:flex-start;gap:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.motion-ready [data-reveal],.motion-ready [data-reveal].is-visible{opacity:1;transform:none}}
