:root{--paper: #F2E6C7;--paper2: #EBDDB2;--paper-deep: #E0CB94;--ink: #1F1812;--ink2: #5A4632;--maroon: #7A1F1A;--red: #B8261C;--blue: #1F3A6E;--gold: #D29A2A;--ochre: #B8842A;--f-sans: "Noto Sans SC", -apple-system, "PingFang SC", "Heiti SC", system-ui, sans-serif;--f-serif: "Noto Serif SC", "Ma Shan Zheng", "Songti SC", "STSong", serif;--f-brush: "Ma Shan Zheng", "Noto Serif SC", "STKaiti", "KaiTi", "Songti SC", serif;--f-mono: "JetBrains Mono", ui-monospace, monospace;--page: 1280px;--pad-x: 64px}html[lang=en]{--f-sans: -apple-system, "Inter", system-ui, sans-serif;--f-serif: "EB Garamond", Georgia, "Noto Serif SC", serif;--f-brush: "Cormorant Garamond", "EB Garamond", Georgia, serif}html[lang=en] .brush,html[lang=en] h1,html[lang=en] h2,html[lang=en] h3{letter-spacing:.01em}html[lang=en] .hero-rail .v-title{text-orientation:sideways;font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:.32em;color:var(--ink2)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--f-sans);font-size:15px;line-height:1.75;position:relative;overflow-x:hidden;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin:0}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;z-index:0;background-image:radial-gradient(circle at 20% 30%,rgba(184,38,28,.04) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(31,58,110,.04) 0,transparent 50%),repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.018) 3px 4px)}.page{max-width:var(--page);margin:0 auto;position:relative;z-index:1}.brush{font-family:var(--f-brush)}.serif{font-family:var(--f-serif)}.mono{font-family:var(--f-mono);letter-spacing:.04em}.eyebrow-mono{font-family:var(--f-mono);font-size:11px;color:var(--maroon);letter-spacing:.2em;text-transform:uppercase}.section-head{display:flex;align-items:baseline;gap:14px}.section-head .han{font-family:var(--f-brush);font-size:56px;color:var(--maroon);line-height:.9;letter-spacing:.08em}.tri-stripe{display:flex}.tri-stripe.horizontal{height:4px;width:36px}.tri-stripe.vertical{flex-direction:column;width:4px;height:36px}.tri-stripe>span{flex:1;display:block}.tri-stripe>span:nth-child(1){background:var(--blue)}.tri-stripe>span:nth-child(2){background:var(--red)}.tri-stripe>span:nth-child(3){background:var(--gold)}.ornament{height:14px;width:100%;display:block}.btn{display:inline-block;border:none;font-family:var(--f-brush);font-size:17px;letter-spacing:.15em;padding:16px 28px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.btn-primary{background:var(--maroon);color:var(--paper);box-shadow:4px 4px 0 var(--gold)}.btn-primary:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--gold)}.btn-primary:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--gold)}.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink);padding:14.5px 26px}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.btn-sm{font-size:15px;padding:12px 22px;box-shadow:3px 3px 0 var(--gold)}.nav{position:relative;padding:24px var(--pad-x);display:flex;align-items:center;gap:16px}.nav .brand{display:flex;align-items:center;gap:16px}.nav .brand img{width:52px;height:52px;object-fit:contain}.nav .brand-text{border-left:1px solid rgba(90,70,50,.25);padding-left:16px}.nav .brand-zh{font-family:var(--f-brush);font-size:22px;font-weight:500;letter-spacing:.1em;color:var(--ink)}.nav .brand-py{font-family:var(--f-mono);font-size:10px;color:var(--ink2);letter-spacing:.25em;margin-top:2px}.nav-links{display:flex;gap:4px;align-items:center;margin:0 auto}.nav-links a{text-align:center;padding:4px 14px;display:block}.nav-links a .zh{font-family:var(--f-brush);font-size:16px;color:var(--ink);letter-spacing:.15em}.nav-links a .en{font-family:var(--f-mono);font-size:9px;color:var(--ink2);margin-top:2px;letter-spacing:.12em;text-transform:uppercase}.nav-links .divider{width:1px;height:24px;background:#5a463230}.nav-links a:hover .zh{color:var(--maroon)}.lang-toggle{font-family:var(--f-brush);font-size:14px;letter-spacing:.15em;padding:8px 12px;border:1px solid var(--ink2);color:var(--ink);background:transparent;margin-right:12px;text-decoration:none;display:inline-block;transition:background .12s ease,color .12s ease}.lang-toggle:hover{background:var(--ink);color:var(--paper)}.nav-links a .zh,.nav-links a .en{display:block}.nav-toggle{display:none}.hero{position:relative;padding:56px var(--pad-x) 80px;display:grid;grid-template-columns:64px 1fr 360px;gap:48px;align-items:start}.hero-rail{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:24px}.hero-rail .v-title{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--f-brush);font-size:24px;color:var(--maroon);letter-spacing:.4em;font-weight:500}.hero-rail .v-line{width:1px;flex:1;min-height:80px;background:#5a463240}.hero .tri-stripe.vertical{height:48px}.hero-eyebrow{display:inline-flex;align-items:center;gap:12px;padding:4px 14px;background:#7a1f1a14;border:1px solid rgba(122,31,26,.25)}.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--red)}.hero-eyebrow .label{font-family:var(--f-mono);font-size:10px;color:var(--maroon);letter-spacing:.18em;text-transform:uppercase}.hero h1{font-family:var(--f-brush);font-size:88px;line-height:1.08;font-weight:500;color:var(--ink);margin-top:28px;letter-spacing:.04em}.hero h1 .c-red{color:var(--red)}.hero h1 .c-blue{color:var(--blue)}.hero h1 .c-gold{color:var(--gold)}.hero-sub{font-family:var(--f-serif);font-size:28px;color:var(--ink2);margin-top:18px;letter-spacing:.08em}.hero-rule{width:80px;height:2px;background:var(--ink);margin:32px 0 24px}.hero-body{font-family:var(--f-serif);font-size:17px;color:var(--ink2);line-height:1.9;max-width:560px}.hero-body strong{color:var(--maroon);font-weight:600}.hero-actions{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}.scroll-card{position:relative}.scroll{background:var(--paper2);padding:14px 0;position:relative;box-shadow:inset 0 1px #b8842a40,inset 0 -1px #b8842a40}.scroll-rod{height:4px;background:linear-gradient(90deg,var(--maroon),var(--red),var(--gold),var(--blue))}.scroll-rod.flip{background:linear-gradient(90deg,var(--blue),var(--gold),var(--red),var(--maroon))}.scroll-inner{padding:14px 24px}.scroll-title{font-family:var(--f-brush);font-size:28px;color:var(--ink);margin-top:12px;letter-spacing:.04em;line-height:1.3}.scroll-title .sub{color:var(--red);font-size:22px}.scroll-hr{height:1px;background:#5a463230;margin:20px 0}.scroll-grid{display:grid;grid-template-columns:1fr;gap:12px}.scroll-grid .label{font-family:var(--f-mono);font-size:10px;color:var(--ink2);letter-spacing:.12em;text-transform:uppercase}.scroll-grid .value{font-family:var(--f-brush);font-size:18px;color:var(--ink);margin-top:4px}.scroll-cta{display:block;margin-top:18px;padding:12px 16px;background:var(--maroon);color:var(--paper);font-family:var(--f-brush);font-size:14px;text-align:center;letter-spacing:.15em;cursor:pointer;border:none;width:100%;text-decoration:none}.scroll-cta:hover{background:#6a1814}.seal{position:absolute;top:-16px;right:-16px;width:76px;height:76px;border-radius:4px;background:var(--red);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--f-brush);font-size:16px;letter-spacing:.05em;transform:rotate(8deg);text-align:center;line-height:1.1;box-shadow:2px 2px 4px #0003}.curriculum{padding:80px var(--pad-x) 100px;background:var(--paper2);position:relative}.curriculum-head{display:flex;align-items:baseline;gap:32px;margin-bottom:48px}.curriculum-head .han{font-family:var(--f-brush);font-size:64px;color:var(--maroon);line-height:.9;letter-spacing:.08em}.curriculum-head .sub-zh{font-family:var(--f-serif);font-size:22px;color:var(--ink);margin-top:6px}.curriculum-head .lede{font-family:var(--f-serif);font-size:14px;color:var(--ink2);max-width:380px;line-height:1.75;margin-left:auto}.cur-row{display:grid;grid-template-columns:90px 50px 1.1fr 1.5fr 80px;gap:28px;padding:36px 0;border-top:1px solid rgba(90,70,50,.19);align-items:center}.cur-row:last-child{border-bottom:1px solid rgba(90,70,50,.19)}.cur-row .han{font-family:var(--f-brush);font-size:56px;line-height:1;font-weight:500;display:flex;align-items:baseline;gap:4px}.cur-row .han small{font-family:var(--f-mono);font-size:11px;color:var(--ink2);font-weight:400}.cur-row .pip{width:3px;height:56px;margin:0 auto}.cur-row .stage-zh{font-family:var(--f-brush);font-size:26px;color:var(--ink);letter-spacing:.1em}.cur-row .stage-en{font-family:var(--f-mono);font-size:10px;color:var(--ink2);margin-top:6px;letter-spacing:.15em;text-transform:uppercase}.cur-row .book-zh{font-family:var(--f-serif);font-size:20px;color:var(--ink);font-weight:500}.cur-row .book-en{font-family:var(--f-mono);font-size:10px;color:var(--ink2);margin-top:4px}.cur-row .blurb{font-size:13px;color:var(--ink2);margin-top:10px;line-height:1.7}.cur-row .cta{text-align:right;font-family:var(--f-brush);font-size:14px;letter-spacing:.12em;cursor:pointer}.cur-row .cta:hover{text-decoration:underline}.cur-accent-1{color:var(--maroon)}.cur-accent-2{color:var(--red)}.cur-accent-3{color:var(--blue)}.cur-accent-4{color:var(--gold)}.cur-accent-5{color:var(--ochre)}.bg-accent-1{background:var(--maroon)}.bg-accent-2{background:var(--red)}.bg-accent-3{background:var(--blue)}.bg-accent-4{background:var(--gold)}.bg-accent-5{background:var(--ochre)}.cur-note{margin-top:32px;padding:16px 20px;background:#d29a2a21;border-left:3px solid var(--gold);font-family:var(--f-serif);font-size:14px;color:var(--ink2);font-style:italic}.features{padding:100px var(--pad-x);position:relative}.features .section-head{margin-bottom:12px}.features .lede{font-family:var(--f-serif);font-size:18px;color:var(--ink2);max-width:700px;margin-bottom:48px}.features-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink)}.feature{padding:40px 36px;position:relative;background:var(--paper)}.feature:nth-child(odd){border-right:1px solid var(--ink)}.feature:nth-child(-n+2){border-bottom:1px solid var(--ink)}.feature .corner{position:absolute;top:16px;right:20px;font-family:var(--f-brush);font-size:38px;line-height:1;opacity:.4}.feature .title{font-family:var(--f-brush);font-size:24px;color:var(--ink);letter-spacing:.1em;padding-bottom:8px;display:inline-block;border-bottom:2px solid var(--maroon)}.feature.f-2 .title{border-bottom-color:var(--blue)}.feature.f-3 .title{border-bottom-color:var(--gold)}.feature.f-4 .title{border-bottom-color:var(--red)}.feature .title-en{font-family:var(--f-mono);font-size:10px;color:var(--ink2);margin-top:8px;letter-spacing:.18em;text-transform:uppercase}.feature p{font-size:14px;color:var(--ink2);line-height:1.85;margin-top:14px;max-width:480px}.rhythm{padding:80px var(--pad-x) 100px;background:var(--paper-deep);display:grid;grid-template-columns:1fr 1.4fr;gap:56px}.rhythm h3{font-family:var(--f-brush);font-size:32px;color:var(--ink);margin:16px 0;letter-spacing:.06em;line-height:1.3}.rhythm p.lede{font-family:var(--f-serif);font-size:15px;color:var(--ink2);line-height:1.85;max-width:380px}.rhythm .cities{margin-top:28px;padding:20px 22px;background:var(--paper);border:1px solid rgba(90,70,50,.25)}.rhythm .cities .label{font-family:var(--f-mono);font-size:10px;color:var(--maroon);letter-spacing:.2em;text-transform:uppercase}.rhythm .cities .list{font-family:var(--f-brush);font-size:16px;color:var(--ink);margin-top:8px;letter-spacing:.08em;line-height:1.7}.rhythm .cities .count{font-family:var(--f-mono);font-size:11px;color:var(--ink2);margin-top:10px}.rhythm-row{display:grid;grid-template-columns:60px 110px 100px 1fr;gap:20px;align-items:center;padding:24px 0;border-top:1px solid rgba(90,70,50,.19)}.rhythm-row:last-child{border-bottom:1px solid rgba(90,70,50,.19)}.rhythm-row .day{font-family:var(--f-brush);font-size:20px;color:var(--ink);letter-spacing:.08em}.rhythm-row .time{font-family:var(--f-mono);font-size:18px;color:var(--maroon)}.rhythm-row .kind{font-family:var(--f-brush);font-size:18px;color:var(--ink);letter-spacing:.06em}.rhythm-row .detail{font-size:13px;color:var(--ink2);margin-top:4px}.resources{padding:100px var(--pad-x)}.resources .lede{font-family:var(--f-serif);font-size:16px;color:var(--ink2);max-width:700px;margin:12px 0 40px}.res-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.res-card{padding:22px 24px;background:var(--paper2);border:1px solid rgba(90,70,50,.19);display:flex;align-items:center;gap:18px;transition:transform .12s ease,box-shadow .12s ease}.res-card:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #1f18121a}.res-card .badge{width:44px;height:44px;color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--f-brush);font-size:22px;flex-shrink:0}.res-card .meta{flex:1;min-width:0}.res-card .title{font-family:var(--f-brush);font-size:17px;color:var(--ink);letter-spacing:.08em}.res-card .url{font-family:var(--f-mono);font-size:11px;color:var(--ink2);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.res-card .arrow{font-family:var(--f-brush);font-size:18px;color:var(--maroon)}.join{padding:0 var(--pad-x) 80px}.join-card{background:var(--maroon);color:var(--paper);box-shadow:6px 6px 0 var(--gold)}.join-text{padding:64px 56px}.join-text .eyebrow{font-family:var(--f-mono);font-size:11px;color:var(--gold);letter-spacing:.22em;text-transform:uppercase}.join-text h2{font-family:var(--f-brush);font-size:56px;line-height:1.1;color:var(--paper);margin:16px 0;letter-spacing:.06em}.join-text h2 .accent{color:var(--gold)}.join-text p{font-family:var(--f-serif);font-size:16px;color:#f0e0bb;line-height:1.85;max-width:520px;margin-bottom:32px}.join-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-gold{background:var(--gold);color:var(--maroon);font-weight:600;padding:15px 26px;font-size:15px}.btn-gold:hover{background:#e0a83a}.btn-outline-light{background:transparent;color:var(--paper);border:1px solid rgba(242,230,199,.5);padding:14px 24px;font-size:15px}.btn-outline-light:hover{background:#f2e6c71a}.footer-wrap{background:var(--paper-deep)}.footer{padding:40px var(--pad-x);display:flex;align-items:center;gap:24px;flex-wrap:wrap}.footer img{width:40px;height:40px;object-fit:contain}.footer .label{font-family:var(--f-brush);font-size:18px;color:var(--ink);letter-spacing:.1em}.footer .sub{font-family:var(--f-mono);font-size:10px;color:var(--ink2);letter-spacing:.12em;margin-top:4px}.footer .spacer{flex:1}.footer .copyright{font-family:var(--f-mono);font-size:10px;color:var(--ink2);letter-spacing:.12em}.footer .tri-stripe.horizontal{width:80px}@media (max-width: 1100px){:root{--pad-x: 40px}.hero h1{font-size:72px}.hero-sub{font-size:24px}.curriculum-head .han,.features .section-head .han,.rhythm .section-head .han,.resources .section-head .han{font-size:48px}.join-text h2{font-size:44px}.scroll-card{max-width:360px}}@media (max-width: 900px){:root{--pad-x: 32px}.nav{flex-wrap:wrap;gap:12px}.nav-links{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:12px;border-top:1px solid rgba(90,70,50,.19)}.nav-links.open{display:flex}.nav-links a{padding:12px 8px;display:flex;gap:12px;align-items:baseline;border-bottom:1px solid rgba(90,70,50,.1)}.nav-links .divider{display:none}.nav-toggle{display:inline-flex;margin-left:auto;background:transparent;border:1px solid var(--ink);color:var(--ink);padding:8px 14px;font-family:var(--f-brush);font-size:14px;letter-spacing:.15em}.nav .btn-sm{display:none}.hero{grid-template-columns:1fr;padding:32px var(--pad-x) 56px;gap:32px}.hero-rail{flex-direction:row;padding-top:0;gap:16px}.hero-rail .v-title{writing-mode:horizontal-tb;font-size:18px;letter-spacing:.3em}.hero-rail .v-line{display:none}.hero .tri-stripe.vertical{flex-direction:row;width:36px;height:4px}.hero h1{font-size:56px}.hero-sub{font-size:20px}.scroll-card{max-width:100%}.curriculum-head{flex-wrap:wrap;gap:16px}.curriculum-head .lede{margin-left:0;max-width:none}.cur-row{grid-template-columns:70px 30px 1fr;grid-template-areas:"han pip stage" "han pip book" ".   .   cta";gap:12px 20px;padding:28px 0}.cur-row>:nth-child(1){grid-area:han}.cur-row>:nth-child(2){grid-area:pip}.cur-row>:nth-child(3){grid-area:stage}.cur-row>:nth-child(4){grid-area:book}.cur-row>:nth-child(5){grid-area:cta;text-align:left}.cur-row .han{font-size:44px}.features-grid{grid-template-columns:1fr}.feature{border-right:none!important;border-bottom:1px solid var(--ink)}.feature:last-child{border-bottom:none}.rhythm{grid-template-columns:1fr;gap:32px}.rhythm-row{grid-template-columns:40px 1fr;grid-template-areas:"stripe day" "stripe time" ".      kind";row-gap:6px}.rhythm-row>:nth-child(1){grid-area:stripe;align-self:start}.rhythm-row>:nth-child(2){grid-area:day}.rhythm-row>:nth-child(3){grid-area:time}.rhythm-row>:nth-child(4){grid-area:kind}.res-grid{grid-template-columns:1fr}.join-card{box-shadow:4px 4px 0 var(--gold)}.join-text{padding:40px 32px}.join-text h2{font-size:36px}}@media (max-width: 560px){:root{--pad-x: 20px}.hero h1{font-size:44px}.hero-sub{font-size:18px}.section-head .han,.curriculum-head .han{font-size:40px}.scroll-title{font-size:22px}}.cur-row[data-astro-cid-pmwbo5us] .book[data-astro-cid-pmwbo5us]{display:flex;gap:18px;align-items:flex-start}.cover-wrap[data-astro-cid-pmwbo5us]{flex-shrink:0;width:76px;height:108px;background:var(--paper-deep);box-shadow:3px 3px #1f18122e;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.cover-wrap[data-astro-cid-pmwbo5us] .cover[data-astro-cid-pmwbo5us]{display:block;width:100%;height:100%;object-fit:cover}.cover-wrap[data-astro-cid-pmwbo5us].placeholder{border:1px solid currentColor;padding:6px;text-align:center}.cover-wrap[data-astro-cid-pmwbo5us].placeholder .cover-text[data-astro-cid-pmwbo5us]{font-family:var(--f-brush);font-size:13px;line-height:1.2;letter-spacing:.05em;color:currentColor}html[lang=en] .cover-wrap[data-astro-cid-pmwbo5us].placeholder .cover-text[data-astro-cid-pmwbo5us]{font-size:11px;line-height:1.25}.book-text[data-astro-cid-pmwbo5us]{min-width:0;flex:1}@media (max-width: 900px){.cur-row[data-astro-cid-pmwbo5us] .book[data-astro-cid-pmwbo5us]{gap:12px}.cover-wrap[data-astro-cid-pmwbo5us]{width:56px;height:80px}}.rhythm-media[data-astro-cid-cw7wffar]{display:flex;flex-direction:column;align-items:center;gap:24px}.rhythm-media[data-astro-cid-cw7wffar] figure[data-astro-cid-cw7wffar]{margin:0;position:relative;width:min(320px,75%);box-shadow:5px 5px 0 var(--maroon, #7a1c18);border:1px solid rgba(31,24,18,.15)}.rhythm-media[data-astro-cid-cw7wffar] figure[data-astro-cid-cw7wffar]:after{content:"";position:absolute;inset:0;background:#aa6e3212;mix-blend-mode:multiply;pointer-events:none}.rhythm-media[data-astro-cid-cw7wffar] figure[data-astro-cid-cw7wffar] img[data-astro-cid-cw7wffar]{display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;filter:sepia(.12) saturate(.95)}@media (max-width: 900px){.rhythm-media[data-astro-cid-cw7wffar] figure[data-astro-cid-cw7wffar]{width:min(280px,80%)}}
