:root{--ink: #1b1a17;--ink-soft: #544c40;--paper: #f6f1e5;--paper-deep: #ece2cf;--accent: #1f7fb5;--accent-soft: #2e96cf;--rust: #bd5a2f;--highlight: #ecea3e;--line: #d9cfba;--max: 1180px;--serif: "Noto Serif TC", serif;--display: "Fraunces", "Noto Serif TC", serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--serif);background:var(--paper);color:var(--ink);line-height:1.85;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");mix-blend-mode:multiply}img{max-width:100%;height:auto;display:block}.wrap{max-width:var(--max);margin:0 auto;padding:0 40px;position:relative;z-index:2}header.site{padding:38px 0 0}.topbar{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid var(--ink);padding-bottom:14px}.brand{display:flex;flex-direction:column;line-height:1;text-decoration:none;color:inherit}.brand .logo{width:48px;height:48px;border-radius:50%;object-fit:cover;margin-bottom:10px}.brand .en{font-family:var(--display);font-style:italic;font-weight:400;font-size:15px;letter-spacing:.12em;color:var(--accent);margin-bottom:8px}.brand .zh{font-family:var(--display);font-weight:500;font-size:34px;letter-spacing:.02em}.issue{text-align:right;font-size:12.5px;color:var(--ink-soft);letter-spacing:.05em;line-height:1.7}nav.main{display:flex;gap:30px;padding:16px 0;border-bottom:1px solid var(--line);justify-content:center;flex-wrap:wrap}nav.main a{color:var(--ink);text-decoration:none;font-size:15px;letter-spacing:.06em;position:relative;padding-bottom:3px;transition:.2s}nav.main a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:.3s}nav.main a:hover{color:var(--accent)}nav.main a:hover:after{width:100%}.hero{padding:40px 0;display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center}.hero .kicker{font-family:var(--display);font-style:italic;color:var(--accent);font-size:16px;margin-bottom:20px;letter-spacing:.04em}.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(38px,5vw,62px);line-height:1.12;letter-spacing:-.01em;margin-bottom:26px}.hero p.lead{font-size:18px;color:var(--ink-soft);max-width:34ch;margin-bottom:30px}.hero .cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-style:italic;font-size:17px;color:var(--paper);background:var(--ink);padding:13px 28px;text-decoration:none;border-radius:1px;transition:.3s}.hero .cta:hover{background:var(--accent);transform:translateY(-2px)}.hero-art{aspect-ratio:1/1;max-height:380px;background:linear-gradient(135deg,#2e96cf1f,#bd5a2f0f),var(--paper-deep);border:1px solid var(--line);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-art .hero-logo{width:74%;max-width:300px;height:auto;filter:drop-shadow(0 8px 20px rgba(28,24,21,.12))}.hero-art .label{position:absolute;bottom:18px;left:18px;font-size:12px;letter-spacing:.15em;color:var(--ink-soft);writing-mode:vertical-rl}.book-promo{background:var(--paper-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:60px 0;position:relative;z-index:2}.book-inner{display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:center}.book-cover img{width:100%;filter:drop-shadow(0 18px 44px rgba(28,24,21,.28))}.book-label{font-family:var(--display);font-style:italic;color:var(--rust);font-size:15px;margin-bottom:14px}.book-title{font-family:var(--display);font-weight:500;font-size:24px;line-height:1.45;margin-bottom:22px}.book-copy p{font-size:15.5px;color:var(--ink-soft);margin-bottom:12px;line-height:1.8}.book-copy .book-star{color:var(--accent);font-weight:500;margin-top:4px}.book-rec{font-size:13.5px;color:var(--ink-soft);line-height:1.95;margin:20px 0 24px;padding-top:18px;border-top:1px solid var(--line)}.book-rec strong{color:var(--ink)}.book-buy{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.book-buy a{font-family:var(--display);font-style:italic;color:var(--accent);text-decoration:none;font-size:16px;transition:color .2s}.book-buy a:hover{color:var(--rust)}.book-buy span{color:var(--line)}.sec-head{display:flex;align-items:center;gap:14px;margin:64px 0 34px}.sec-head .mark{display:inline-flex;color:var(--rust)}.sec-head h2{font-family:var(--display);font-weight:500;font-size:30px;letter-spacing:.02em}.sec-head .rule{flex:1;height:1px;background:var(--line);margin-left:6px}.feature{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;padding-bottom:16px;text-decoration:none;color:inherit}.feature .img{background:var(--paper-deep);border:1px solid var(--line);position:relative;overflow:hidden;align-self:start}.feature .img img{width:100%;height:auto;display:block}.feature .img:empty,.feature .img:not(:has(img)){aspect-ratio:4/3}.feature .img .tag{position:absolute;top:16px;left:16px;background:var(--accent);color:var(--paper);font-size:12px;padding:4px 12px;letter-spacing:.1em;z-index:2}.feature .meta{display:flex;flex-direction:column;justify-content:center}.feature .date{font-family:var(--display);font-style:italic;color:var(--accent);font-size:15px;margin-bottom:14px}.feature h3{font-family:var(--display);font-weight:400;font-size:34px;line-height:1.2;margin-bottom:18px;transition:.2s}.feature:hover h3{color:var(--accent)}.feature p{color:var(--ink-soft);font-size:16.5px;margin-bottom:22px}.feature .more{align-self:flex-end;font-family:var(--display);font-style:italic;font-size:16px;color:var(--accent);display:inline-flex;align-items:center;gap:6px}.feature .more:after{content:"→";transition:transform .25s}.feature:hover .more:after{transform:translate(4px)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:2px;background:var(--line)}.card{background:var(--paper);padding:32px 28px 36px;transition:.3s;position:relative;text-decoration:none;color:inherit;display:block}.card:hover{background:var(--paper-deep)}.card .cat{font-family:var(--display);font-style:italic;color:var(--accent);font-size:14px;margin-bottom:14px}.card .date{font-size:12.5px;color:var(--ink-soft);letter-spacing:.08em;margin-bottom:6px}.card h4{font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.45;margin-bottom:14px}.card p{font-size:14.5px;color:var(--ink-soft);line-height:1.7}.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cat-grid .card{background:var(--paper);border:1px solid var(--line);border-radius:2px}.cat-grid .card:hover{background:var(--paper-deep);border-color:var(--accent)}.services{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#2477a8;margin-top:2px}.svc{background:var(--blue);color:#fff;padding:48px 44px}.svc .num{font-family:var(--display);font-style:italic;font-size:15px;color:#fffc;margin-bottom:16px}.svc h3{font-family:var(--display);font-weight:400;font-size:28px;margin-bottom:8px}.svc .price{font-family:var(--display);font-size:40px;color:#fff;margin-bottom:20px}.svc p{color:#ffffffe0;font-size:15.5px}.svc a{display:inline-block;margin-top:26px;color:var(--ink);background:var(--highlight);padding:11px 26px;text-decoration:none;font-size:14px;letter-spacing:.08em;font-weight:500;transition:.3s}.svc a:hover{background:#fff;transform:translateY(-2px)}.quotes{columns:3;column-gap:24px}.quote{break-inside:avoid;margin:0 0 24px;padding:28px 26px;background:var(--paper-deep);border:1px solid var(--line);border-radius:2px;position:relative}.quote:before{content:"“";font-family:var(--display);font-size:52px;color:var(--accent);opacity:.35;line-height:1;position:absolute;top:10px;left:14px}.quote blockquote{font-size:15.5px;line-height:1.85;color:var(--ink);margin:18px 0 16px}.quote figcaption a{font-family:var(--display);font-style:italic;color:var(--accent);text-decoration:none;font-size:15px}.quote figcaption a:hover{color:var(--rust)}.news{text-align:center;padding:80px 0;border-top:1px solid var(--line);margin-top:70px}.news.news-hero{border-top:none;margin-top:0;padding:48px 0 60px}.news-hero .portrait{width:104px;height:104px;border-radius:50%;object-fit:cover;object-position:center 28%;margin:0 auto 22px;display:block;border:3px solid #fff;box-shadow:0 8px 22px #1c18152e}.news .en{font-family:var(--display);font-style:italic;color:var(--accent);font-size:17px;margin-bottom:14px}.news h2{font-family:var(--display);font-weight:400;font-size:40px;margin-bottom:16px}.news p{color:var(--ink-soft);max-width:42ch;margin:0 auto 30px}.news a{display:inline-flex;align-items:center;gap:10px;background:var(--highlight);color:var(--ink);padding:14px 34px;text-decoration:none;font-family:var(--display);font-style:italic;font-size:17px;border-radius:1px;transition:.3s}.news a:hover{background:var(--accent-soft);color:var(--paper);transform:translateY(-2px)}footer.site-footer{background:var(--ink);color:#b8ac96;padding:54px 0 40px;margin-top:72px}footer.site-footer .wrap{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:30px}.fbrand{display:flex;align-items:center;gap:16px}.flogo{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}footer.site-footer .zh{font-family:var(--display);font-weight:500;font-size:24px;color:var(--paper);margin-bottom:10px}footer.site-footer .soc{display:flex;gap:18px;align-items:center}footer.site-footer .soc a{color:#b8ac96;text-decoration:none;font-size:14px;letter-spacing:.06em}footer.site-footer .soc a:hover{color:var(--accent-soft)}footer.site-footer .copy{font-size:12.5px;color:#7a6f5e;width:100%;border-top:1px solid #38322a;padding-top:24px;margin-top:10px}.article{max-width:720px;margin:0 auto;padding:70px 40px 40px;position:relative;z-index:2}.article .back{font-family:var(--display);font-style:italic;color:var(--accent);font-size:15px;text-decoration:none;display:inline-block;margin-bottom:40px}.article .a-cat{font-family:var(--display);font-style:italic;color:var(--accent);font-size:16px;text-align:center;margin-bottom:18px}.article h1{font-family:var(--display);font-weight:400;font-size:clamp(32px,4.5vw,46px);line-height:1.22;text-align:center;margin-bottom:24px}.article .a-meta{text-align:center;color:var(--ink-soft);font-size:14px;letter-spacing:.06em;padding-bottom:36px;margin-bottom:46px;border-bottom:1px solid var(--line)}.article .a-meta:after{content:"❦";display:block;color:var(--accent);font-size:18px;margin-top:24px}.article .body p{font-size:18px;margin-bottom:26px;color:#2a251f}.article .body h2{font-family:var(--display);font-weight:500;font-size:28px;margin:44px 0 16px}.article .body h3{font-family:var(--display);font-weight:500;font-size:23px;margin:34px 0 14px}.article .body img{margin:30px auto;border:1px solid var(--line)}.article .body a{color:var(--accent);text-underline-offset:3px}.article .body a:has(img){display:block;cursor:zoom-in}#lightbox{position:fixed;inset:0;background:#1b1a17eb;display:none;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out;padding:40px}#lightbox.open{display:flex}#lightbox img{max-width:95%;max-height:95%;box-shadow:0 14px 60px #00000080}.article .body ul,.article .body ol{margin:0 0 26px 1.5em;font-size:18px}.article .body li{margin-bottom:8px}.article .body blockquote{padding-left:24px;border-left:3px solid var(--accent);color:var(--ink-soft);font-style:italic;margin:30px 0}.article .body hr{border:none;text-align:center;margin:40px 0}.article .body hr:after{content:"❦";color:var(--accent);font-size:20px}.article .a-foot{border-top:1px solid var(--line);padding-top:30px;margin-top:46px;color:var(--ink-soft);font-size:15px}.page{max-width:720px;margin:0 auto;padding:60px 40px 20px;position:relative;z-index:2}.page h1{font-family:var(--display);font-weight:400;font-size:clamp(30px,4vw,44px);margin-bottom:28px}.page .body p{font-size:18px;margin-bottom:24px}.page .body h2{font-family:var(--display);font-weight:500;font-size:27px;margin:44px 0 16px}.page .body h3{font-family:var(--display);font-weight:500;font-size:23px;margin:36px 0 14px}.page .body h4{font-family:var(--display);font-weight:500;font-size:20px;margin:30px 0 12px}.page .body h5,.page .body h6{font-family:var(--display);font-weight:600;font-size:19px;margin:32px 0 14px;color:var(--ink)}.page .body a{color:var(--accent)}.page .body img{margin:24px 0}.works{display:flex;flex-direction:column;gap:28px;margin:28px 0 36px}.work{display:grid;grid-template-columns:110px 1fr;gap:24px;align-items:start}.work img{width:110px;margin:0;border:1px solid var(--line);box-shadow:0 6px 16px #1c18151f}.work figcaption h4{font-family:var(--display);font-weight:500;font-size:19px;margin:0 0 8px}.work figcaption h4 a{color:var(--accent);text-decoration:none}.work figcaption h4 a:hover{color:var(--rust)}.work figcaption p{font-size:15px;color:var(--ink-soft);line-height:1.8;margin:0}@media(max-width:640px){.work{grid-template-columns:84px 1fr;gap:16px}.work img{width:84px}}.archive-head{padding-top:20px}@media(max-width:860px){.hero,.feature,.services,.grid,.cat-grid{grid-template-columns:1fr}.hero-art{display:none}.wrap{padding:0 24px}.book-inner{grid-template-columns:1fr;gap:32px}.book-cover{max-width:240px;margin:0 auto}.quotes{columns:1}}@media(min-width:861px)and (max-width:1100px){.quotes{columns:2}}.social[data-astro-cid-yxtifmrq]{display:flex;gap:10px}.social-btn[data-astro-cid-yxtifmrq]{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid #6b6052;color:#b8ac96;transition:.25s;text-decoration:none}.social-btn[data-astro-cid-yxtifmrq]:hover{background:#2e96cf;border-color:#2e96cf;color:#fff}
