:root{--ink:#0c0c0c;--ink-soft:#0c0c0c8c;--muted:#9aa0a6;--line:#a8791f47;--gold:#a8791f;--paper:#f7f2e6}.site-header{z-index:40;backdrop-filter:blur(8px);border-bottom:.5px solid var(--line);background:#ffffffdb;position:sticky;top:0}.site-header-inner{align-items:center;gap:2rem;max-width:1600px;margin:0 auto;padding:0 1.5rem;display:flex}@media (width>=768px){.site-header-inner{padding:0 2.5rem}}.site-header .wordmark img{width:auto;height:18px;display:block}.site-header nav ul{align-items:center;gap:1.25rem;list-style:none;display:flex}@media (width>=768px){.site-header nav ul{gap:2.25rem}}.site-header nav a{color:var(--ink);flex-direction:column;align-items:center;padding:1.1rem 0;line-height:1;text-decoration:none;display:inline-flex}.site-header nav a .cn{padding-bottom:4px;font-size:.95rem;position:relative}.site-header nav a .cn:after{content:"";background:var(--gold);transform-origin:0;height:1px;transition:transform .3s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover .cn:after{transform:scaleX(1)}.site-header nav a .nav-en{letter-spacing:.3em;color:var(--muted);text-transform:uppercase;margin-top:3px;font-family:Playfair Display,Noto Serif SC,serif;font-size:.5em}.page-hero{text-align:center;padding:4.5rem 1.5rem 3rem}@media (width>=768px){.page-hero{padding:6rem 2.5rem 3.5rem}}.page-hero .eyebrow{text-transform:uppercase;letter-spacing:.25em;color:var(--gold);margin-bottom:1rem;font-family:Playfair Display,Noto Serif SC,serif;font-size:.8rem;display:block}.page-hero .eyebrow:after{content:"";background:var(--gold);width:clamp(60px,8vw,120px);height:1px;margin:1rem auto 0;display:block}.page-hero h1{letter-spacing:-.02em;background:linear-gradient(#2a2e35 0%,#0c0c0c 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Noto Serif SC,serif;font-size:clamp(3rem,10vw,7rem);font-weight:900;line-height:1.05}.page-hero .sub{max-width:560px;color:var(--ink-soft);margin-top:1.25rem;margin-left:auto;margin-right:auto;font-size:clamp(.9rem,1.3vw,1.1rem);line-height:1.8}@keyframes page-hero-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.page-hero .eyebrow,.page-hero h1,.page-hero .sub{animation:.7s cubic-bezier(.22,1,.36,1) both page-hero-in}.page-hero h1{animation-delay:.12s}.page-hero .sub{animation-delay:.24s}@media (prefers-reduced-motion:reduce){.page-hero .eyebrow,.page-hero h1,.page-hero .sub{animation:none}}.site-footer{margin-top:5rem;padding:0 1.5rem 3rem}@media (width>=768px){.site-footer{padding:0 2.5rem 3rem}}.site-footer-inner{border-top:.5px solid var(--gold);flex-direction:row;justify-content:space-between;align-items:flex-end;gap:1rem;max-width:1600px;margin:0 auto;padding-top:2rem;display:flex}.footer-wordmark{align-items:flex-end;transition:opacity .2s;display:inline-flex}.footer-wordmark:hover{opacity:.65}.footer-wordmark img{-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto;height:14px}@media (width>=640px){.footer-wordmark img{height:16px}}@media (width>=768px){.footer-wordmark img{height:20px}}@media (width>=1024px){.footer-wordmark img{height:22px}}.footer-copy{text-transform:uppercase;letter-spacing:.25em;color:#6b7280;font-family:Playfair Display,Noto Serif SC,serif;font-size:.7rem;font-weight:300}@media (width>=640px){.footer-copy{font-size:.75rem}}.writing-post{max-width:42rem;margin:0 auto;padding:0 1.5rem 3rem}@media (width>=768px){.writing-post{padding:0 2rem 4rem}}.writing-post .post-header{text-align:center;border-bottom:1px solid var(--gold);margin-bottom:2.25rem;padding:3rem 0 2.25rem}.writing-post .post-header .eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;font-family:Playfair Display,Noto Serif SC,serif;font-size:.72rem;display:block}.writing-post .post-header h1{letter-spacing:.01em;color:var(--ink);margin:0 0 1.1rem;font-family:Noto Serif SC,serif;font-size:clamp(1.6rem,4.6vw,2.4rem);font-weight:600;line-height:1.45}.writing-post .post-header .lead{color:var(--muted);margin:0;font-size:.95rem;line-height:1.9}.writing-post .post-meta{letter-spacing:.15em;color:var(--line);margin-top:1.1rem;font-family:Playfair Display,Noto Serif SC,serif;font-size:.72rem}.writing-post .post-meta .tag a{color:var(--gold);text-decoration:none}.writing-post .post-meta .tag a:hover{text-decoration:underline}.writing-body{color:var(--ink);font-family:Noto Serif SC,serif}.writing-body p{text-indent:2em;letter-spacing:.01em;margin:0 0 1.6em;font-size:1.02rem;line-height:1.95}.writing-body h2{color:var(--ink);border-bottom:1.5px solid var(--gold);margin:2.4em 0 1.1em;padding-bottom:.55em;font-size:1.3rem;font-weight:600;line-height:1.4}.writing-body blockquote{background:var(--paper);border-left:3px solid var(--gold);color:var(--ink);margin:2em 0;padding:1.1em 1.3em;font-size:.98rem;line-height:1.9}.writing-body blockquote p{text-indent:0;margin:0 0 .8em}.writing-body blockquote p:last-child{margin-bottom:0}.writing-body hr.writing-sep{text-align:center;border:0;height:0;margin:2.4em 0}.writing-body hr.writing-sep:after{content:"· · ·";color:var(--line);letter-spacing:.5em;font-family:Playfair Display,Noto Serif SC,serif;font-size:1rem}.writing-body figure{margin:2em 0}.writing-body figure img{width:100%;display:block}.writing-body figure figcaption{text-align:center;color:var(--muted);margin-top:.6em;font-size:.75rem;line-height:1.6}.writing-body .stat-grid{border:.5px solid var(--line);margin:2em 0;display:flex}.writing-body .stat-grid .stat{text-align:center;border-right:.5px solid var(--line);flex:1;padding:1em .5em}.writing-body .stat-grid .stat:last-child{border-right:0}.writing-body .stat-grid .stat-label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:.4em;font-family:Playfair Display,Noto Serif SC,serif;font-size:.6rem;display:block}.writing-body .stat-grid .stat-value{color:var(--gold);font-family:Playfair Display,Noto Serif SC,serif;font-size:1.4rem;display:block}.writing-body .stat-grid .stat:first-child .stat-value,.writing-body .stat-grid .stat:nth-child(2) .stat-value{color:var(--ink)}.writing-body .article-caption{color:var(--muted);text-align:center;text-indent:0;font-size:.75rem;line-height:1.6}.writing-body .chat .bubble:first-child{animation:8s infinite chat-bubble-in}.writing-body .chat .bubble:nth-child(2){animation:8s 1.6s infinite chat-echo}.writing-body .chat .bubble:nth-child(3){animation:8s 3.2s infinite chat-bubble-in}@keyframes chat-bubble-in{0%{opacity:0;transform:translateY(8px)}5%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}94%{opacity:0;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}@keyframes chat-echo{0%{opacity:0;transform:translateY(8px)}5%{opacity:1;transform:translate(0)}10%{transform:translate(-4px)}13%{transform:translate(4px)}16%{transform:translate(0)}85%{opacity:1}94%{opacity:0}to{opacity:0}}@media (prefers-reduced-motion:reduce){.writing-body .chat .bubble{animation:none}}.post-end{background:var(--paper);border-left:3px solid var(--gold);text-align:center;margin-top:3.5rem;padding:1.8rem 1.5rem}.post-end .label-en{color:var(--gold);font-size:.7rem}.post-end p{color:var(--ink);margin-top:.8rem;font-size:1rem;line-height:1.9}.post-back{text-align:center;margin-top:2.5rem}.post-back a{color:var(--gold);letter-spacing:.05em;font-size:.9rem;text-decoration:none}.post-back a:hover{text-decoration:underline}.writing-list{max-width:46rem;margin:0 auto;padding:0 1.5rem 3rem}.writing-list-item{border-bottom:.5px solid var(--line);color:inherit;padding:2.2rem 0;text-decoration:none;display:block}.writing-list-item:hover h2{color:var(--gold)}.writing-list-item .meta{letter-spacing:.18em;color:var(--muted);margin-bottom:.7rem;font-family:Playfair Display,Noto Serif SC,serif;font-size:.72rem}.writing-list-item .meta .eyebrow{color:var(--gold);margin-right:.9rem}.writing-list-item h2{color:var(--ink);margin-bottom:.7rem;font-family:Noto Serif SC,serif;font-size:clamp(1.3rem,3vw,1.8rem);font-weight:600;line-height:1.4;transition:color .2s}.writing-list-item p{color:var(--ink-soft);margin-bottom:.9rem;font-size:.95rem;line-height:1.85}.writing-list-item .tags{flex-wrap:wrap;gap:.6rem;display:flex}.writing-list-item .tags a,.tag-chip{letter-spacing:.05em;color:var(--gold);border:.5px solid var(--gold);border-radius:999px;padding:.2em .8em;font-size:.72rem;text-decoration:none;display:inline-block}.writing-list-item .tags a:hover,.tag-chip:hover{background:var(--gold);color:#fff}.writing-tag-banner{text-align:center;padding:2.5rem 1.5rem .5rem}.writing-tag-banner .label-en{color:var(--gold)}.writing-tag-banner h2{margin-top:.5rem;font-family:Noto Serif SC,serif;font-size:2rem}.works-grid{grid-template-columns:1fr;gap:2rem;max-width:72rem;margin:0 auto;padding:0 1.5rem 3rem;display:grid}@media (width>=768px){.works-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem;padding:0 2.5rem 4rem}}.works-card{border:1px solid var(--ink);color:inherit;background:#fff;border-radius:40px;text-decoration:none;transition:transform .25s,box-shadow .25s;display:block;overflow:hidden}.works-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #0c0c0c14}.works-card .cover{aspect-ratio:4/3;border-bottom:1px solid var(--ink);overflow:hidden}.works-card .cover img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.works-card .body{padding:1.8rem 1.8rem 2rem}.works-card .body .num{color:var(--ink);float:left;margin-right:1rem;font-family:Playfair Display,Noto Serif SC,serif;font-size:2.6rem;font-weight:900;line-height:1}.works-card .body .head .category{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-family:Playfair Display,Noto Serif SC,serif;font-size:.66rem}.works-card .body .head h3{color:var(--ink);margin:.3rem 0;font-family:Noto Serif SC,serif;font-size:1.7rem;font-weight:600}.works-card .body .head .title-en{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-family:Playfair Display,Noto Serif SC,serif;font-size:.72rem}.works-card .body p{color:var(--ink-soft);margin-top:1rem;font-size:.95rem;line-height:1.85}.works-card .body .go{letter-spacing:.05em;color:var(--gold);align-items:center;gap:.4rem;margin-top:1.2rem;font-size:.85rem;display:inline-flex}.works-card:hover .body .go{text-decoration:underline}.section-more{text-align:center;margin-top:2.5rem}.section-more a{color:var(--gold);letter-spacing:.05em;font-size:.9rem;text-decoration:none}.section-more a:hover{text-decoration:underline}.about-body{max-width:42rem;margin:0 auto;padding:0 1.5rem}.about-body p{text-indent:2em;color:var(--ink);margin-bottom:1.6em;font-size:1.08rem;line-height:2}.about-block{max-width:52rem;margin:3rem auto 0;padding:0 1.5rem}.block-eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.4rem;font-family:Playfair Display,Noto Serif SC,serif;font-size:.72rem;display:block}.about-timeline{border-left:1px solid var(--gold);padding-left:1.8rem}.timeline-item{gap:1.5rem;padding-bottom:2rem;display:flex;position:relative}.timeline-item:before{content:"";background:var(--gold);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:calc(-1.8rem - 4px)}.timeline-period{letter-spacing:.08em;width:8.5rem;color:var(--muted);flex:none;padding-top:.2rem;font-family:Playfair Display,Noto Serif SC,serif;font-size:.8rem}.timeline-item h3{color:var(--ink);margin-bottom:.35rem;font-family:Noto Serif SC,serif;font-size:1.15rem;font-weight:600}.timeline-item p{color:var(--ink-soft);font-size:.95rem;line-height:1.85}.about-contact{text-align:center;max-width:52rem;margin:4rem auto 0;padding:0 1.5rem 2rem}.about-contact-row{flex-direction:column;align-items:center;gap:1.6rem;display:flex}@media (width>=640px){.about-contact-row{flex-direction:row;justify-content:center;gap:3rem}}.about-qr{background:#fff;border:1px solid #0c0c0c1f;border-radius:16px;width:120px;height:120px;padding:4px}.about-contact-links{text-align:left;flex-direction:column;gap:.7rem;display:flex}.about-contact-links a{color:var(--ink);letter-spacing:.02em;font-family:Playfair Display,Noto Serif SC,serif;font-size:1.05rem;text-decoration:none;transition:opacity .2s}.about-contact-links a:hover{opacity:.65;text-decoration:underline}
