:root {
  --paper: #f7f8f4;
  --white: #ffffff;
  --ink: #182b28;
  --muted: #61736d;
  --forest: #245c4e;
  --deep: #183f36;
  --sage: #dce8dc;
  --line: #e4ebe5;
  --orange: #e0a174;
  --radius: 24px;
  --shadow: 0 22px 65px rgba(21,49,39,.075);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family: -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft Yahei","Noto Sans CJK SC",sans-serif; font-size:16px; -webkit-font-smoothing:antialiased; line-height:1.75; }
a { text-decoration:none; color:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a:focus-visible,summary:focus-visible { outline:3px solid #8bc6ab; outline-offset:4px; border-radius:5px; }
img { max-width:100%; }
::selection { background:#c2decb; color:#173b31; }
.container { width:min(1180px,calc(100% - 64px)); margin:0 auto; }
.skip { position:absolute; z-index:30; left:12px; top:-70px; background:white; padding:10px 16px; }
.skip:focus { top:10px; }
.eyebrow-bar { font-size:12px; letter-spacing:.05em; background:var(--deep); color:#d5eae0; text-align:center; padding:6px 12px; }
.site-header { position:relative; z-index:10; border-bottom:1px solid rgba(27,61,49,.065); background:rgba(247,248,244,.94); }
.header-inner { height:86px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:11px; font-weight:750; letter-spacing:.08em; font-size:19px; white-space:nowrap; }
.brand-mark { height:39px; width:39px; display:inline-grid; place-items:center; background:var(--forest); color:#f4f9f0; border-radius:13px; box-shadow:0 7px 17px rgba(36,92,78,.15); }
.brand-mark svg { width:23px; height:23px; }
.brand em { color:var(--muted); font-size:11px; font-style:normal; letter-spacing:.14em; margin-left:1px; font-weight:500; vertical-align:middle; }
.desktop-nav { display:flex; align-items:center; gap:35px; margin-left:auto; }
.desktop-nav a { color:#546b61; font-size:14px; font-weight:600; transition:color .2s; }
.desktop-nav a:hover,.desktop-nav a[aria-current="page"] { color:var(--forest); }
.header-cta { display:inline-flex; align-items:center; gap:11px; border:1px solid #c9d9ce; padding:10px 17px; border-radius:100px; font-size:13px; font-weight:700; color:#285a4a; white-space:nowrap; }
.header-cta:hover { background:#e5eee7; }
.mobile-menu { display:none; }

.hero { padding:75px 0 48px; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns: minmax(0,1.06fr) minmax(0,.94fr); align-items:center; gap:55px; }
.small-label { display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:750; letter-spacing:.12em; color:var(--forest); }
.small-label::before { content:""; width:24px; height:2px; background:var(--orange); display:inline-block; }
.hero-title { font-family: Georgia,"Source Han Serif SC","Noto Serif CJK SC","Songti SC",serif; font-weight:650; font-size:clamp(42px,4.45vw,70px); line-height:1.34; letter-spacing:-.035em; margin:23px 0 22px; }
.hero-title span { color:var(--forest); }
.hero-copy { max-width:515px; color:#5b7066; font-size:16px; line-height:2.05; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:32px; }
.btn-primary { background:var(--forest); color:white; padding:13px 25px; border-radius:100px; font-weight:700; font-size:14px; display:inline-flex; align-items:center; gap:14px; box-shadow:0 11px 26px rgba(36,92,78,.18); transition: transform .2s,background .2s; }
.btn-primary:hover { transform:translateY(-2px); background:#174837; }
.text-link { font-size:14px; font-weight:700; border-bottom:1px solid #9db9a8; padding:8px 0; }
.text-link:hover { color:var(--forest); }
.hero-foot { color:#87958c; font-size:12px; margin-top:50px; letter-spacing:.02em; }
.hero-foot .dot { color:#bf8b67; margin:0 10px; }
.hero-art { position:relative; min-height:520px; border-radius:36px; background:radial-gradient(circle at 78% 18%,#f6e5d0 0%,transparent 42%),linear-gradient(145deg,#e5eee3,#d1e1d1 68%,#bdd1c2); overflow:hidden; isolation:isolate; box-shadow:var(--shadow); }
.hero-art::before { content:""; position:absolute; inset:0; opacity:.37; background-image:radial-gradient(#759a80 .8px,transparent .8px); background-size:20px 20px; }
.hero-art::after { content:""; position:absolute; width:390px; height:390px; right:-185px; bottom:-225px; border:64px solid #f7f4e8; opacity:.6; border-radius:50%; }
.hero-stamp { position:absolute; top:37px; left:38px; font-size:12px; color:#4c6c5e; letter-spacing:.17em; font-weight:800; }
.paper-sheet { position:absolute; width:74%; left:13%; top:18%; bottom:10%; background:#fdfcf5; border-radius:3px 20px 20px 3px; box-shadow:0 28px 45px rgba(31,66,48,.15); transform:rotate(-6deg); padding:46px 33px; border-left:12px solid #e5e6d9; }
.paper-sheet::before { content:""; position:absolute; left:37px; right:37px; bottom:54px; height:95px; background:repeating-linear-gradient(to bottom, transparent 0 30px,#e0e9df 31px 32px); }
.paper-top { color:#9da9a0; font-size:12px; letter-spacing:.19em; font-weight:700; }
.paper-flower { position:relative; width:105px; height:105px; margin:22px auto 14px; border:1px solid #bed4c3; border-radius:50%; display:grid; place-items:center; font-family:Georgia,serif; font-size:64px; color:#6a987c; transform:rotate(-16deg); }
.paper-text { text-align:center; font-family:Georgia,"Songti SC",serif; font-size:28px; font-weight:650; line-height:1.45; letter-spacing:.13em; }
.paper-sub { text-align:center; color:#8c9d91; font-size:11px; letter-spacing:.15em; margin-top:14px; }
.card-note { position:absolute; right:16px; bottom:48px; background:var(--forest); color:white; font-size:12px; padding:13px 20px; border-radius:12px; box-shadow:0 12px 35px rgba(15,61,44,.19); transform:rotate(8deg); letter-spacing:.08em; }

.section { padding:69px 0; }
.section-title-row { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:27px; }
.section-kicker { font-size:12px; font-weight:800; letter-spacing:.18em; color:var(--forest); text-transform:uppercase; }
h2.section-title { font-family:Georgia,"Songti SC",serif; font-size:clamp(28px,3vw,39px); line-height:1.3; margin:9px 0 0; letter-spacing:-.035em; }
.section-sub { color:var(--muted); max-width:520px; font-size:14px; }
.section-more { font-size:13px; font-weight:750; color:var(--forest); white-space:nowrap; border-bottom:1px solid #9db9a8; padding-bottom:5px; }
.section-more:hover { color:#173e33; }
.topic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.topic { min-height:185px; background:var(--white); border:1px solid var(--line); border-radius:23px; padding:28px 26px; display:flex; flex-direction:column; align-items:flex-start; transition:box-shadow .2s, transform .2s; }
.topic:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.topic-symbol { width:43px; height:43px; display:grid; place-items:center; border-radius:12px; background:#e6efe4; color:var(--forest); font-size:22px; font-family:Georgia,serif; }
.topic h3 { font-size:18px; margin:14px 0 5px; font-weight:760; }
.topic p { color:#71817a; font-size:13px; line-height:1.8; margin:0; }
.topic-arrow { margin-top:auto; align-self:flex-end; color:#94ad9b; font-size:20px; }
.posts-section { background:#eef2eb; padding:78px 0 82px; margin-top:14px; }
.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.post-card { border-radius:22px; background:white; overflow:hidden; border:1px solid #e1e9df; display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s; }
.post-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.post-visual { height:214px; position:relative; overflow:hidden; padding:25px; }
.post-visual.visual-a { background:linear-gradient(125deg,#b6cfc2,#dbebd7); }
.post-visual.visual-b { background:linear-gradient(125deg,#efd9c1,#f9e9d6); }
.post-visual.visual-c { background:linear-gradient(125deg,#ced9e5,#e6eef3); }
.post-visual .visual-no { font-size:13px; font-weight:800; letter-spacing:.1em; color:rgba(31,64,55,.6); }
.post-visual .orb { position:absolute; width:155px; height:155px; border-radius:50%; top:38px; right:36px; border:25px solid rgba(255,255,255,.62); }
.post-visual .line-a,.post-visual .line-b { position:absolute; border-radius:100px; background:rgba(255,255,255,.82); height:12px; left:28px; }
.post-visual .line-a { bottom:56px; width:140px; }
.post-visual .line-b { bottom:33px; width:92px; }
.post-visual.visual-b .orb { width:128px; height:150px; border-radius:65px 65px 8px 8px; background:#f8efdf; border:8px solid rgba(167,122,88,.15); transform:rotate(16deg); }
.post-visual.visual-c .orb { width:146px; height:115px; border-radius:12px; border:16px solid #e9f0f5; transform:rotate(-10deg); }
.post-copy { padding:24px 26px 27px; flex:1; display:flex; flex-direction:column; }
.post-meta { color:#8a9b91; font-size:11px; letter-spacing:.055em; display:flex; gap:13px; align-items:center; }
.post-meta .meta-dot { height:3px; width:3px; border-radius:50%; background:#a5b1a8; }
.post-copy h3 { font-family:Georgia,"Songti SC",serif; font-size:22px; line-height:1.47; margin:13px 0 11px; }
.post-copy p { color:#697e71; font-size:13px; line-height:1.9; margin:0 0 24px; }
.post-read { display:flex; align-items:center; justify-content:space-between; color:var(--forest); font-size:13px; font-weight:750; margin-top:auto; }
.note-panel { margin:0 auto; max-width:1100px; padding:60px 63px; border-radius:30px; background:#214f43; color:white; position:relative; overflow:hidden; }
.note-panel::after { content:""; position:absolute; height:320px; width:320px; right:-100px; top:-160px; border:70px solid rgba(255,255,255,.07); border-radius:50%; }
.note-panel h2 { font-family:Georgia,"Songti SC",serif; font-size:clamp(28px,3vw,38px); max-width:660px; line-height:1.5; margin:15px 0; }
.note-panel p { color:#cae2d5; max-width:630px; font-size:14px; }
.note-panel a { display:inline-block; border-radius:100px; padding:11px 22px; background:#f2f5ec; color:#225242; font-size:13px; font-weight:750; margin-top:10px; }
.site-footer { padding:60px 0 30px; background:#f7f8f4; }
.footer-main { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; align-items:start; }
.footer-desc { max-width:380px; margin-top:13px; color:#7b8c80; font-size:13px; }
.footer-col h3 { margin:0 0 14px; font-size:13px; font-weight:800; }
.footer-col a { display:block; color:#6b7f72; font-size:13px; margin-bottom:11px; }
.footer-col a:hover { color:var(--forest); }
.footer-bottom { border-top:1px solid #e2e9e2; padding-top:24px; margin-top:46px; display:flex; justify-content:space-between; gap:24px; font-size:11px; color:#93a196; }

.page-intro { padding:78px 0 61px; }
.page-intro .inner { max-width:850px; }
.crumb { font-size:12px; color:#8d9b91; margin-bottom:25px; }
.crumb a { color:#4e7865; }
.crumb span { margin:0 10px; }
.page-title { font-family:Georgia,"Songti SC",serif; font-size:clamp(38px,4.5vw,62px); letter-spacing:-.035em; font-weight:660; line-height:1.3; margin:12px 0 17px; }
.page-lead { color:#63776b; line-height:2; font-size:17px; max-width:780px; }
.page-meta { color:#91a096; font-size:12px; margin-top:27px; }
.article-area { padding:0 0 95px; }
.article-shell { display:grid; grid-template-columns:minmax(0,780px) 260px; gap:58px; align-items:start; }
.article-body { background:#fff; border:1px solid var(--line); padding:48px 56px 64px; border-radius:25px; font-size:15px; line-height:2.15; }
.article-body h2 { font-family:Georgia,"Songti SC",serif; font-size:27px; line-height:1.45; margin:38px 0 16px; scroll-margin-top:30px; }
.article-body h2:first-child { margin-top:0; }
.article-body h3 { font-size:18px; margin:28px 0 10px; }
.article-body p { color:#495f55; margin:0 0 20px; }
.article-body ul,.article-body ol { color:#495f55; padding-left:26px; }
.article-body li { margin:7px 0; }
.article-body strong { color:#1e473b; }
.article-body .callout { background:#f0f5ee; border-left:3px solid #679a7d; padding:18px 23px; border-radius:0 10px 10px 0; color:#416454; margin:29px 0; }
.article-body .callout p { margin:0; }
.article-body hr { border:0; border-top:1px solid #e9ede7; margin:35px 0; }
.article-aside { position:sticky; top:28px; padding:22px 21px; border:1px solid var(--line); background:#fff; border-radius:20px; }
.article-aside strong { display:block; font-size:13px; color:#355d4c; letter-spacing:.1em; margin-bottom:10px; }
.article-aside a { display:block; padding:8px 0; color:#718479; font-size:13px; border-bottom:1px solid #eef0ea; }
.article-aside a:last-of-type { border:0; }
.article-aside a:hover { color:var(--forest); }
.article-aside .aside-home { border-top:1px solid #e9eee9; margin-top:20px; padding-top:16px; font-weight:700; color:var(--forest); }
.related { padding:0 0 80px; }
.related-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:18px; }
.related-tile { display:block; background:#fff; border:1px solid var(--line); border-radius:18px; padding:25px 30px; }
.related-tile span { color:#8e9d91; font-size:12px; }
.related-tile strong { display:block; font-size:18px; margin:6px 0; }
.related-tile:hover { border-color:#b6cfbd; }
.about-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:28px; padding-bottom:95px; }
.about-card { background:white; border:1px solid var(--line); border-radius:25px; padding:42px 46px; }
.about-card h2 { font-family:Georgia,"Songti SC",serif; font-size:28px; margin:0 0 16px; }
.about-card p { color:#66786b; font-size:15px; line-height:2.2; }
.about-side { background:#dfe9db; border-radius:25px; padding:42px; }
.about-side .big-glyph { font-size:78px; font-family:Georgia,serif; color:#5e9476; line-height:1; margin-bottom:23px; }
.about-side h3 { font-size:20px; margin:0 0 16px; }
.about-side p { color:#5e7663; font-size:14px; line-height:2; }
.about-values { padding:0 0 105px; }
.about-values .topic { min-height:180px; }

@media (max-width:1050px) {
 .hero-grid { gap:30px; }
 .hero-art { min-height:470px; }
 .paper-sheet { width:80%; left:10%; }
 .article-shell { grid-template-columns:minmax(0,1fr) 220px; gap:25px; }
 .article-body { padding:40px 38px; }
}
@media (max-width:760px) {
 .container { width:min(100% - 36px,520px); }
 .header-inner { height:72px; }
 .brand { font-size:17px; }
 .brand em { display:none; }
 .desktop-nav,.header-cta { display:none; }
 .mobile-menu { display:block; position:relative; color:var(--forest); font-size:14px; font-weight:750; }
 .mobile-menu summary { cursor:pointer; list-style:none; border:1px solid #cbdbce; border-radius:30px; padding:7px 15px; }
 .mobile-menu summary::-webkit-details-marker { display:none; }
 .mobile-menu nav { position:absolute; top:47px; right:0; display:flex; flex-direction:column; width:172px; padding:14px; background:white; border-radius:15px; box-shadow:var(--shadow); border:1px solid var(--line); }
 .mobile-menu nav a { padding:8px 12px; }
 .hero { padding:49px 0 44px; }
 .hero-grid { grid-template-columns:1fr; gap:38px; }
 .hero-title { font-size:44px; line-height:1.31; }
 .hero-copy { font-size:14px; }
 .hero-foot { margin-top:30px; }
 .hero-art { min-height:365px; border-radius:24px; }
 .paper-sheet { padding:27px 23px; }
 .paper-flower { width:75px; height:75px; font-size:46px; margin:14px auto; }
 .paper-text { font-size:23px; }
 .paper-sheet::before { bottom:35px; height:65px; background-size:100% 24px; }
 .card-note { bottom:29px; }
 .section { padding:46px 0; }
 .section-title-row { align-items:start; }
 .section-sub { display:none; }
 .topic-grid,.post-grid { grid-template-columns:1fr; gap:14px; }
 .topic { min-height:140px; padding:20px 22px; }
 .topic h3 { margin-top:11px; }
 .topic-arrow { display:none; }
 .posts-section { padding:54px 0; }
 .post-visual { height:185px; }
 .post-copy { padding:21px 23px; }
 .post-copy h3 { font-size:21px; }
 .note-panel { border-radius:22px; padding:35px 28px; }
 .footer-main { grid-template-columns:1fr 1fr; gap:28px; }
 .footer-brand { grid-column:1/-1; }
 .footer-bottom { flex-direction:column; gap:5px; }
 .page-intro { padding:51px 0 45px; }
 .page-title { font-size:38px; }
 .page-lead { font-size:15px; }
 .article-shell { grid-template-columns:1fr; }
 .article-body { padding:28px 23px; font-size:14px; }
 .article-body h2 { font-size:23px; }
 .article-aside { position:static; order:-1; }
 .article-aside a { display:inline-block; padding-right:12px; border:0; }
 .article-aside .aside-home { display:none; }
 .related-grid,.about-grid { grid-template-columns:1fr; }
 .about-card,.about-side { padding:29px 26px; }
 .related { padding-bottom:60px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { transition:none !important; animation:none !important; }
}
