/* 紫丁香计划 · 统一品牌视觉层 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700;900&display=swap');
:root{--zd-ink:#2b2033;--zd-plum:#211726;--zd-violet:#8f62a2;--zd-lilac:#d7b5de;--zd-cream:#faf6f1;--zd-paper:#f4edf3;--zd-gold:#e8c593}
html{scroll-behavior:smooth}
body{background:var(--zd-plum)}
body::selection{background:#ad78bb;color:white}
.site-grain{opacity:.055}

/* 研究院与计划合并为一个品牌页头 */
.premium-header{box-shadow:0 12px 38px #1b102219}
.institute-lockup{display:inline-flex;align-items:center;gap:17px;min-width:0;text-decoration:none}
.institute-logo-frame{display:grid;place-items:center;width:178px;height:73px;padding:7px 10px;background:#fff;border:1px solid #e9dfeb;border-radius:12px;box-shadow:0 6px 22px #331c3a0d;flex:none}
.institute-logo-frame img{display:block;width:100%;height:100%;object-fit:contain}
.lockup-rule{width:1px;height:48px;background:linear-gradient(transparent,#b990c2,transparent);flex:none}
.plan-wordmark{display:grid;gap:4px;min-width:0;white-space:nowrap}
.plan-wordmark small{font-size:9px;line-height:1.25;letter-spacing:.1em;color:#8c748f}
.plan-wordmark b{font-family:'Noto Serif SC',serif;font-size:26px;line-height:1.12;letter-spacing:.12em;color:#50355d}
.plan-wordmark b span{font-family:Georgia,serif;font-size:17px;color:#b688be;margin-left:6px}
.site-header.premium-header{height:auto;padding:0 5.2vw;display:block;background:#fbf8f7f5;border-bottom:1px solid #e6dce7;color:var(--zd-ink);position:relative;z-index:20}
.site-header .header-top{max-width:1512px;margin:auto;min-height:102px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.site-header .header-actions{gap:13px;flex:none}
.site-header .signin{font-size:12px;color:#5c4666;font-weight:700}
.site-header .signin span{color:#9863a8}
.site-header .join-button,.community-header .header-join{background:#583766;color:#fff;border:1px solid #583766;border-radius:999px;box-shadow:0 8px 22px #50335c30;font-size:11px;font-weight:800;padding:13px 19px;white-space:nowrap}
.site-header .join-button:hover,.community-header .header-join:hover{background:#794a89;color:#fff;transform:translateY(-2px)}
.site-header .site-nav{max-width:1512px;margin:auto;min-height:47px;display:flex;align-items:center;gap:37px;border-top:1px solid #eadfeb;color:#6e5b74;font-size:11px;font-weight:700;letter-spacing:.05em}
.site-header .site-nav a:hover{color:#78478b}
.site-header .site-nav span{margin-left:auto;color:#ad9eae;font-size:9px;letter-spacing:.19em}

/* 首页：沉浸式三晋风物摄影与品牌宣言 */
.hero.section-wrap{max-width:none;min-height:760px;display:block;padding:0;isolation:isolate;position:relative;overflow:hidden;background:#1c1521;color:#fff}
.hero::before{display:none}
.hero .hero-visual{position:absolute;inset:0;min-height:0;z-index:-2;background:linear-gradient(90deg,#1a111eea 0%,#241527c9 26%,#311e3590 46%,#2a183222 72%),linear-gradient(0deg,#1a1027a8 0%,transparent 31%),url('lilac-harvest-hero.png') center 45% / cover no-repeat}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 15% 40%,#764f7940,transparent 35%),linear-gradient(180deg,#0e0b1633,transparent 18%,transparent 75%,#1a101d72)}
.hero .hero-copy{padding:118px 0 165px 5.2vw;max-width:780px;width:66%;position:relative;z-index:2}
.hero .overline{color:#eacde6;letter-spacing:.17em;font-size:11px}
.hero .red-line{background:#deb4e3;width:25px}
.hero h1{font-size:clamp(70px,7.7vw,128px);line-height:1.13;letter-spacing:-.075em;margin:35px 0 27px;text-shadow:0 15px 42px #12081f75}
.hero .serif-accent{font-family:'Noto Serif SC',serif;font-weight:700;color:#efceee}
.hero .period{color:#e7b7ed}
.hero .hero-copy>p{color:#f5eaf0;font-size:15px;line-height:2.05;max-width:560px;text-shadow:0 2px 12px #100619bd}
.hero .hero-cta{gap:20px;flex-wrap:wrap;margin-top:34px}
.hero .cta-main{background:#f0d7ee;border:1px solid #f0d7ee;color:#412c48;border-radius:999px;padding:16px 25px;box-shadow:0 18px 45px #160e1b5c}
.hero .cta-main:hover{background:#fff4fc;transform:translateY(-3px)}
.hero .cta-text{color:#fff2fc;border-color:#d8bade9d;font-weight:700}
.hero .hero-proof{margin-top:49px;color:#dfcade;font-size:11px;letter-spacing:.08em}
.hero .proof-line{background:#e4bfe9}
.hero-side-note{position:absolute;right:3.5vw;top:26%;display:flex;align-items:center;gap:12px;writing-mode:vertical-rl;color:#fff9;letter-spacing:.18em;font-size:10px}
.hero-side-note i{display:block;width:1px;height:73px;background:#ffe5f8a6}
.hero-bottom{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:0;padding:0 5.2vw;background:#170f21b9;backdrop-filter:blur(18px);border-top:1px solid #f6d7f16e;height:70px;font-size:10px;color:#f3e5ef;letter-spacing:.14em;font-weight:700}
.hero-bottom span{padding-right:35px;margin-right:35px;border-right:1px solid #ead1e767}
.hero-bottom a{margin-left:auto;color:#f3d0ef;white-space:nowrap}
.hero-bottom b{font-size:18px;margin-left:12px}

/* 全站栏目节奏 */
.section-top h2,.city-lab-heading h2,.opc-intro h2,.news-lead h3{font-family:'Noto Serif SC',serif}
.section-overline{font-size:10px;letter-spacing:.21em}
.news-section{background:#f8f4f1;color:#31233b}
.news-section .section-top h2 em{color:#9b70a6}
.news-lead{border:1px solid #e6d7e8;background:linear-gradient(115deg,#fff,#fbf6fa);border-radius:22px;box-shadow:0 28px 72px #6f4c7020;overflow:hidden}
.news-logo-card{border:0;background:#fff;border-radius:17px;box-shadow:0 12px 35px #6f4c7013}
.news-grid{gap:13px}
.news-card{border:1px solid #e6d8e5;border-radius:18px;box-shadow:0 11px 35px #694a680c;transition:transform .25s ease,box-shadow .25s ease}
.news-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px #694a6820}
.news-card.reader-record{background:linear-gradient(145deg,#5d3b69,#392746);border:0}
.map-section{background:#23192d;padding-top:100px;padding-bottom:105px}
.map-workspace{border-radius:22px;overflow:hidden;border:1px solid #b992c64d;box-shadow:0 30px 85px #0f0b16a3}
.map-canvas{background:#2b2039}
.map-stage{background:radial-gradient(circle at 50% 45%,#694b76 0,#382742 51%,#261b35 100%)}
.region-panel{background:linear-gradient(160deg,#473252,#271d35)}
.region-panel .hypothesis{border-radius:12px}
.city-lab{background:#2a1d36;padding-top:90px;padding-bottom:100px}
.city-form,.city-result{border-radius:17px;background:#382844}
.pain-section{background:#f3eced}
.pain-grid{gap:12px;border:0;background:transparent}
.pain-grid article{background:#fffaf9;border:1px solid #e6d9e3;border-radius:16px;box-shadow:0 13px 33px #745d7020}
.cases-section{background:#261a31;padding-top:100px;padding-bottom:100px}
.case-grid{gap:15px}
.case-card,.case-card:nth-child(2),.case-card:nth-child(3){border-radius:18px;border-color:#c9a1d350;background:linear-gradient(145deg,#563d5f,#31243e 70%);box-shadow:0 15px 40px #100a1a50}
.case-card:nth-child(2){background:linear-gradient(145deg,#685044,#342637 70%)}
.case-card:nth-child(3){background:linear-gradient(145deg,#5a435e,#2a213b 70%)}
.case-card:after{color:#f1d3f21b}

/* 四时营销日历：影像画册 + 可操作的 12 月手册 */
.calendar-section{background:#efe7ef;color:#31243b;padding-top:110px;padding-bottom:120px}
.calendar-section .section-top h2 em{color:#9563a3}
.calendar-section .section-top>p{color:#766777}
.calendar-shell{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);min-height:645px;overflow:hidden;background:#fff;border:1px solid #e3d3e5;border-radius:24px;box-shadow:0 38px 90px #684a6826}
.calendar-art{position:relative;min-height:645px;overflow:hidden;color:#fff;background:linear-gradient(180deg,#25192c6e 0%,#21152921 38%,#251530e8 100%),url('lilac-harvest-hero.png') 72% center / cover no-repeat}
.calendar-art::after{content:'';position:absolute;width:340px;height:340px;border:1px solid #f8e1e978;border-radius:50%;right:-125px;top:32%;box-shadow:0 0 0 48px #f8e1e917,0 0 0 96px #f8e1e90d}
.calendar-art-kicker{position:absolute;top:32px;left:32px;font-size:9px;letter-spacing:.19em;color:#fff2fb}
.calendar-art-mark{position:absolute;top:80px;left:35px;font-family:'Noto Serif SC',serif;font-size:106px;line-height:1.15;font-weight:700;letter-spacing:.04em;text-shadow:0 12px 35px #1b0d24b6}
.calendar-art-bottom{position:absolute;left:32px;right:32px;bottom:34px;display:flex;align-items:end;justify-content:space-between;gap:20px;border-top:1px solid #ffffff8c;padding-top:19px}
.calendar-art-bottom b{font-family:'Noto Serif SC',serif;font-size:27px;white-space:nowrap}
.calendar-art-bottom span{font-size:11px;line-height:1.8;text-align:right;color:#f2e1ef}
.calendar-section[data-season='spring'] .calendar-art{background-image:linear-gradient(180deg,#57326554,#32213b20 40%,#291a36e6),url('lilac-harvest-hero.png')}
.calendar-section[data-season='summer'] .calendar-art{background-image:linear-gradient(180deg,#6050374d,#45341d1f 40%,#342637e6),url('lilac-harvest-hero.png')}
.calendar-section[data-season='autumn'] .calendar-art{background-image:linear-gradient(180deg,#4634214d,#4535231c 40%,#291a36e6),url('lilac-harvest-hero.png')}
.calendar-section[data-season='winter'] .calendar-art{background-image:linear-gradient(180deg,#332b4f77,#342a4c40 40%,#211b37eb),url('lilac-harvest-hero.png')}
.calendar-main{min-width:0;padding:28px 34px 30px;background:#fffafc}
.calendar-main-top{display:flex;justify-content:space-between;gap:15px;color:#977e99;font-size:9px;font-weight:800;letter-spacing:.17em;padding:0 0 16px;border-bottom:1px solid #eadfea}
.calendar-main-top span:last-child{font-weight:500;letter-spacing:.04em;color:#a291a3}
.calendar-section .month-rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;border:0;padding:21px 0 22px}
.calendar-section .month-rail button{min-width:0;height:auto;min-height:54px;padding:8px 4px;border:1px solid #eadde9;border-radius:10px;background:#f7f1f7;color:#745d7c;display:grid;place-content:center;gap:2px;transition:.2s}
.calendar-section .month-rail button b{font-size:15px;line-height:1;font-weight:800}
.calendar-section .month-rail button small{font-size:8px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72px}
.calendar-section .month-rail button:hover{background:#eddcf1;border-color:#c89bce;transform:translateY(-2px)}
.calendar-section .month-rail button.active{background:#5b3a68;color:#fff;border-color:#5b3a68;box-shadow:0 8px 18px #5b3a6833}
.calendar-section .calendar-detail{padding:23px 0 0;border-top:1px solid #eadfea}
.calendar-section .calendar-top{align-items:end}
.calendar-section .calendar-month{display:flex;align-items:end;gap:10px;font-family:'Noto Serif SC',serif;color:#5d3d6a;line-height:.9}
.calendar-section .calendar-month>b{font-size:78px;line-height:.9}
.calendar-section .calendar-month>span{font-size:20px;line-height:1.25;padding-bottom:4px}
.calendar-section .calendar-month small{font-family:'DM Sans','Noto Sans SC',sans-serif;font-size:11px;letter-spacing:.1em;color:#927b98}
.calendar-section .calendar-region{color:#8a768d;font-size:10px;font-weight:700}
.calendar-section .calendar-region select{border:1px solid #dccbdc;border-radius:8px;background:#fff;color:#4f395a;padding:8px 10px;margin-left:7px}
.calendar-section .calendar-body{display:grid;grid-template-columns:1.03fr .97fr;gap:24px;margin-top:25px}
.calendar-section .region-label{color:#a07fac;font-size:9px;letter-spacing:.13em;font-weight:800}
.calendar-theme h3{font-family:'Noto Serif SC',serif;font-size:27px;line-height:1.35;color:#3b2947;margin:13px 0 10px}
.calendar-theme p{color:#746578;font-size:11px;line-height:1.95;margin-bottom:18px}
.calendar-theme button{padding:12px 15px;background:#643f73;color:#fff;border:0;border-radius:999px;font-size:11px;font-weight:800;box-shadow:0 9px 22px #4e2d6a29}
.calendar-theme button span{margin-left:12px}
.calendar-theme button:hover{background:#83518f}
.calendar-actions{border-left:1px solid #eadfea;padding-left:24px}
.calendar-actions ol{list-style:none;padding:0;margin:12px 0 8px}
.calendar-actions li{display:flex;gap:12px;align-items:flex-start;color:#54455c;padding:10px 0;border-bottom:1px solid #efe6ef;font-size:11px;line-height:1.5}
.calendar-actions li span{font-family:Georgia,serif;color:#a675b3;font-size:16px;line-height:1}
.calendar-actions li b{font-weight:600}
.calendar-actions p{font-size:9px;color:#9b8e9e;line-height:1.6}

.opc-section{background:radial-gradient(circle at 82% 36%,#8e5d8f 0,#463051 37%,#231829 81%)}
.opc-steps div{border-radius:16px;background:#1a112777;backdrop-filter:blur(8px)}
.tiers-section{background:#f8f2f3}
.tier-grid article{border-radius:17px;background:#fffaf9;box-shadow:0 13px 34px #72566d14}
.tier-grid article.featured{background:#38273f;color:#fff6fa;border-color:#9f76ae}
.site-footer{background:#211725}

/* 学院与社区使用同一个品牌，但有独立的编辑感 */
.community-page{background:#f6f0f4;color:var(--zd-ink)}
.community-page .community-header.premium-header{position:sticky;top:0;z-index:30;height:88px;padding:0 5.2vw;display:flex;justify-content:space-between;align-items:center;gap:26px;background:#fbf8f7f5;border-bottom:1px solid #e6dce7;color:#443049;box-shadow:0 12px 35px #21112714}
.community-header .institute-logo-frame{width:126px;height:53px;padding:5px 7px}
.community-header .lockup-rule{height:39px}
.community-header .plan-wordmark small{font-size:8px}
.community-header .plan-wordmark b{font-size:21px}
.community-page .community-header nav{display:flex;align-items:center;gap:22px;color:#6b596f;font-size:11px;font-weight:700;white-space:nowrap}
.community-page .community-header nav a:hover{color:#8e5b9e}
.community-page .header-join{flex:none}
.community-page .community-hero{min-height:710px;background:#211526;color:#fff;isolation:isolate}
.community-page .community-hero::before{z-index:-3;background:url('lilac-harvest-hero.png') center 48% / cover no-repeat;opacity:1}
.community-page .community-hero::after{z-index:-2;background:linear-gradient(90deg,#211326f5 0%,#2e1c34db 30%,#2e1c3494 52%,#2a183115 80%),linear-gradient(0deg,#1a0f22c8,transparent 34%)}
.community-page .hero-scan{display:none}
.community-page .hero-grid{min-height:710px;padding:80px 5.2vw 118px}
.community-page .hero-copy{max-width:680px}
.community-page .kicker{color:#ead1e9;text-shadow:none}
.community-page .kicker i{background:#e6c0e8;box-shadow:none}
.community-page .kicker-divider{color:#eed1ea}
.community-page .hero-copy h1{font-family:'Noto Serif SC',serif;font-size:clamp(62px,6.8vw,105px);line-height:1.2;margin:30px 0 26px;color:#fff;text-shadow:0 12px 42px #1b0d22a8}
.community-page .hero-copy h1 em{background:none;-webkit-text-fill-color:initial;color:#f1cdea}
.community-page .hero-copy>p{max-width:550px;color:#f1e4ee;text-shadow:0 2px 13px #14081dbb}
.community-page .hero-buttons .main-cta{background:#f0d7ee;color:#412c48;border:1px solid #f0d7ee;border-radius:999px;box-shadow:0 12px 35px #1a0d256e}
.community-page .hero-buttons .secondary-cta{border:1px solid #f1d7ef99;background:#2e1c34a8;color:#fff;border-radius:999px}
.community-page .hero-promise{color:#ead5e8}
.community-page .promise-star{color:#efc8ed;text-shadow:none}
.community-page .hero-ai-chip{background:#f7edf2ee;color:#392941;border:1px solid #fff;box-shadow:0 20px 65px #170e218c;border-radius:19px;right:5vw;bottom:118px}
.community-page .chip-orbit{border-color:#a679b2;box-shadow:none}
.community-page .chip-orbit i{background:#ad76bb;box-shadow:0 0 14px #ad76bb}
.community-page .hero-ai-chip small{color:#8d5a9c}
.community-page .hero-ai-chip div span{color:#776681}
.community-page .hero-ai-chip em{color:#ad8cb5}
.community-page .hero-bottomline{background:#1d1125ba;border-top:1px solid #f5e0f07d;color:#eee1ec}
.community-page .hero-bottomline i,.community-page .hero-bottomline b{color:#e4b7e2}
.community-page .how-section{background:#f7f0f3;color:#302438}
.community-page .how-intro .overline{color:#956aa2}
.community-page .how-intro h2,.community-page .section-heading h2{font-family:'Noto Serif SC',serif}
.community-page .how-intro h2 em,.community-page .section-heading h2 em{color:#9f6fa9}
.community-page .how-intro p{color:#796b7d}
.community-page .how-card{background:#fffafc;color:#35283e;border:1px solid #e6d8e7;border-radius:18px;box-shadow:0 17px 47px #6b4b6916}
.community-page .how-card::before{background:linear-gradient(90deg,#9b72a9,transparent)}
.community-page .how-card::after{border-color:#bd9bc82c;box-shadow:0 0 0 33px #bd9bc80a,0 0 0 66px #bd9bc806}
.community-page .how-card:nth-child(2)::before{background:linear-gradient(90deg,#cb9c72,transparent)}
.community-page .how-card:nth-child(3)::before{background:linear-gradient(90deg,#8b5caa,transparent)}
.community-page .how-index,.community-page .how-card:nth-child(2) .how-index,.community-page .how-card:nth-child(3) .how-index{color:#9b6ba8}
.community-page .how-icon,.community-page .how-card:nth-child(2) .how-icon,.community-page .how-card:nth-child(3) .how-icon{color:#a77bb5;text-shadow:none}
.community-page .how-card p{color:#7a6b7d}
.community-page .how-card a{color:#81558e}
.community-page .guides-section{background:#ece3ec;color:#302438}
.community-page .section-heading>p{color:#7b6a7d}
.community-page .guide-grid{gap:18px}
.community-page .guide-card,.community-page .guide-card:nth-child(2),.community-page .guide-card:nth-child(3),.community-page .guide-card:nth-child(4){background:#fffafc;border:1px solid #e4d3e5;border-radius:18px;box-shadow:0 16px 45px #61426117;color:#32243a}
.community-page .guide-card::before{background:radial-gradient(circle at 90% 0%,#ba83c322,transparent 40%)}
.community-page .guide-card::after{color:#ad82ba12}
.community-page .guide-card-top{color:#9b6aab}
.community-page .guide-card p{color:#766978}
.community-page .guide-card button{color:#80508f;border-bottom-color:#80508f}
.community-page .learning-strip{background:linear-gradient(110deg,#4a3157,#694577 55%,#835b8d);color:#fff;border:0}
.community-page .learning-strip .overline,.community-page .learning-steps b{color:#eac3e5}
.community-page .learning-strip>a{color:#f1d2ee;border-color:#f1d2ee}
.community-page .discussion-section{background:#271a32;color:#f8eff8}
.community-page .discussion-section .section-heading>p{color:#c0afc3}
.community-page .discussion-section .overline{color:#cda6d5}
.community-page .kind-tabs button{color:#bdabc1}
.community-page .kind-tabs button.active{color:#f0ceee;border-color:#d0a0d5}
.community-page .category-tabs button{border-color:#bc9cc244;color:#d2bfd5;border-radius:999px}
.community-page .category-tabs button.active{background:#dec4e4;border-color:#dec4e4;color:#34213d}
.community-page .compose-button,.community-page .empty-posts button{background:#dfc1e5;color:#3e2a45;border-color:#dfc1e5;border-radius:999px}
.community-page .post-card,.community-page .empty-posts{background:#382742;border:1px solid #bc9fc459;border-radius:15px}
.community-page .aside-card{background:linear-gradient(145deg,#e9d7eb,#cbaad5);color:#38223e;border-radius:17px}
.community-page .aside-note{background:#382742;border-color:#bc9fc459;border-radius:17px}
.community-page .join-finale{background:#23182b}
.community-page .join-finale::before{background:linear-gradient(90deg,#23152ce8 0%,#382044a8 45%,#2c193326 100%),url('lilac-harvest-hero.png') center 55% / cover no-repeat;opacity:1;mask-image:none}
.community-page .join-finale h2{font-family:'Noto Serif SC',serif}
.community-page .join-finale h2 em{color:#edc7e8}
.community-page .join-finale p{color:#e6d3e5}
.community-page .join-finale a{background:#f0d4ec;color:#3b2741;border-radius:999px;box-shadow:0 15px 40px #1e102d77}
.community-page footer{background:#1e1528;color:#f7edf7}
.community-page .guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.community-page .guide-card{min-height:285px}
.community-page .guide-card h3{font-family:'Noto Serif SC',serif;line-height:1.35}
.community-page .guide-card:nth-child(5),.community-page .guide-card:nth-child(6){background:linear-gradient(145deg,#422b50,#64406e);border-color:#a678ae;color:#fff6f8}
.community-page .guide-card:nth-child(5) .guide-card-top,.community-page .guide-card:nth-child(6) .guide-card-top{color:#efd1e9}
.community-page .guide-card:nth-child(5) p,.community-page .guide-card:nth-child(6) p{color:#e6d5e7}
.community-page .guide-card:nth-child(5) button,.community-page .guide-card:nth-child(6) button{color:#f1d5ef;border-color:#f1d5ef}
.community-page .post-card.editorial-post{background:linear-gradient(135deg,#493154,#352341);border-color:#d9aede8c}
.community-page .editorial-post .post-kind{background:#e5c5e9;color:#392540;border-radius:999px;padding:5px 11px}
.article-source,.post-source{margin:22px 0;padding:14px 17px;background:#ecdbea;border-radius:9px;font-size:12px}
.article-source a,.post-source a{color:#684071;font-weight:800}

@media(max-width:1200px){
  .community-page .community-header nav{gap:12px;font-size:10px}
  .community-header .institute-logo-frame{width:105px}
  .community-header .plan-wordmark b{font-size:18px}
  .calendar-main{padding:25px}
  .calendar-section .month-rail{gap:5px}
}
@media(max-width:980px){
  .site-header .site-nav{gap:25px;overflow:auto;white-space:nowrap;scrollbar-width:none}
  .site-header .site-nav span{display:none}
  .community-page .community-header nav{display:none}
  .calendar-shell{grid-template-columns:1fr}
  .calendar-art{min-height:285px;background-position:center 51%}
  .calendar-art-mark{font-size:78px;top:65px}
  .calendar-art-bottom{bottom:22px}
  .community-page .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .community-page .guide-grid{grid-template-columns:1fr}
  .site-header.premium-header{padding:0 16px}
  .site-header .header-top{min-height:78px;gap:10px}
  .institute-lockup{gap:8px}
  .institute-logo-frame{width:106px;height:48px;padding:4px 5px;border-radius:7px}
  .lockup-rule{height:34px}
  .plan-wordmark{gap:2px}
  .plan-wordmark b{font-size:18px;letter-spacing:.06em}
  .plan-wordmark b span{font-size:10px;margin-left:2px}
  .plan-wordmark small{font-size:6px;letter-spacing:.01em}
  .site-header .join-button{padding:9px 10px;font-size:9px;box-shadow:none}
  .site-header .join-button span{display:none}
  .site-header .site-nav{min-height:39px;gap:20px;font-size:10px}
  .hero.section-wrap{min-height:680px}
  .hero .hero-visual{background-position:64% center;background-image:linear-gradient(90deg,#1b1024e8 0%,#2a1635bd 53%,#2a16354d 100%),linear-gradient(0deg,#1a1027cf,transparent 34%),url('lilac-harvest-hero.png')}
  .hero .hero-copy{width:100%;max-width:none;padding:88px 18px 135px}
  .hero h1{font-size:clamp(55px,12vw,85px);margin:26px 0}
  .hero .hero-copy>p{font-size:13px;max-width:470px}
  .hero .hero-proof{margin-top:34px}
  .hero-side-note{display:none}
  .hero-bottom{height:58px;padding:0 18px;gap:10px;font-size:9px}
  .hero-bottom span{padding-right:10px;margin-right:0}
  .hero-bottom span:nth-child(3){display:none}
  .hero-bottom a{font-size:9px}
  .calendar-section{padding-top:73px;padding-bottom:83px}
  .calendar-shell{border-radius:17px}
  .calendar-art{min-height:260px}
  .calendar-art-kicker{top:19px;left:20px}
  .calendar-art-mark{top:58px;left:20px;font-size:67px}
  .calendar-art-bottom{left:20px;right:20px;bottom:19px}
  .calendar-art-bottom b{font-size:21px}
  .calendar-art-bottom span{font-size:9px}
  .calendar-main{padding:20px 17px 22px}
  .calendar-main-top span:last-child{display:none}
  .calendar-section .month-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .calendar-section .month-rail button{min-height:50px}
  .calendar-section .calendar-top{display:flex;gap:10px}
  .calendar-section .calendar-month>b{font-size:65px}
  .calendar-section .calendar-region{font-size:9px}
  .calendar-section .calendar-region select{display:block;margin:5px 0 0;max-width:130px}
  .calendar-section .calendar-body{grid-template-columns:1fr;gap:17px}
  .calendar-actions{border-left:0;border-top:1px solid #eadfea;padding:17px 0 0}
  .community-page .community-header.premium-header{height:70px;padding:0 14px;gap:8px}
  .community-header .institute-logo-frame{width:100px;height:44px}
  .community-header .plan-wordmark b{font-size:16px}
  .community-header .plan-wordmark small{font-size:6px}
  .community-page .header-join{font-size:9px;padding:9px;box-shadow:none}
  .community-page .header-join span{display:none}
  .community-page .community-hero::before{background-position:66% center;opacity:1}
  .community-page .community-hero::after{background:linear-gradient(90deg,#211326ef,#2e1c34aa 72%,#2a18314d),linear-gradient(0deg,#1a0f22de,transparent 38%)}
  .community-page .hero-grid{min-height:690px;padding:85px 18px 108px;align-items:center}
  .community-page .hero-copy h1{font-size:clamp(50px,10vw,74px)}
  .community-page .hero-copy>p{font-size:12px}
  .community-page .hero-ai-chip{display:none}
  .community-page .hero-bottomline{font-size:9px}
}
@media(max-width:400px){
  .site-header .institute-logo-frame,.community-header .institute-logo-frame{width:82px}
  .site-header .plan-wordmark b{font-size:16px}
  .site-header .plan-wordmark small,.community-header .plan-wordmark small{font-size:5px}
  .hero .hero-cta{gap:12px}
  .hero .cta-main{padding:13px 17px;font-size:11px}
  .hero .cta-text{padding:10px 0;font-size:10px}
}
@media(prefers-reduced-motion:reduce){.hero-copy h1,.community-page .hero-copy h1,.hero-ai-chip{animation:none!important}}

/* 山西风物图鉴 */
.map-section{background:radial-gradient(circle at 88% 35%,#50365b 0,#23192d 48%,#1a1425 100%)}
.map-section .section-top h2{color:#fff8f3;font-family:'Noto Serif SC',serif;letter-spacing:-.045em}
.map-section .section-top h2 em{color:#e8c49f}
.map-section .section-top>p{color:#d1bed3}
.map-workspace{grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr);min-height:0;background:#291e35;border:1px solid #d4aed95c}
.map-canvas{padding:25px 29px 17px;background:radial-gradient(circle at 50% 35%,#553d61 0,#33243f 50%,#261c34 100%);position:relative}
.map-canvas::before{content:'';position:absolute;inset:0;opacity:.17;pointer-events:none;background-image:linear-gradient(#e8d3e838 1px,transparent 1px),linear-gradient(90deg,#e8d3e838 1px,transparent 1px);background-size:38px 38px}
.map-canvas-top,.map-bottom,.map-stage,.map-city-rail{position:relative;z-index:1}
.map-canvas-top{border-bottom:1px solid #e2c4e450;padding-bottom:17px}
.map-canvas-top .live-pill{color:#f0d7eb;font-weight:800}
.map-canvas-top .live-pill i{background:#e9c59c;box-shadow:0 0 18px #e9c59c}
.map-coordinates{position:static;font-size:9px;letter-spacing:.13em;color:#d2b9d4}
.map-stage{background:none;min-height:690px;display:grid;place-items:center;overflow:hidden}
.map-visual{width:min(100%,560px);height:675px;filter:drop-shadow(0 22px 22px #120d1f88);z-index:2}
.shanxi-svg{width:100%;height:100%;overflow:visible}
.map-city{cursor:pointer;outline:none}
.map-city path{fill:url(#map-fill);stroke:#dfbbde;stroke-width:1.5;vector-effect:non-scaling-stroke;transition:fill .2s,stroke .2s,filter .2s}
.map-city:nth-of-type(2n) path{fill:#664670}
.map-city:hover path,.map-city:focus-visible path{fill:#a776aa;stroke:#f4dfbe;filter:drop-shadow(0 0 9px #f5cde8)}
.map-city.active path{fill:url(#map-active);stroke:#fff4d5;stroke-width:2.2;filter:drop-shadow(0 0 18px #e5bdc5a6)}
.map-city text{fill:#fff7fa;font-size:12px;font-family:'Noto Sans SC',sans-serif;font-weight:800;paint-order:stroke fill;stroke:#382645;stroke-width:3px;pointer-events:none;letter-spacing:1px}
.map-city.active text{fill:#35233d;stroke:#f1dbcb;stroke-width:3px}
.map-city-dot{fill:#f7e0bd;stroke:#4b3356;stroke-width:1;pointer-events:none}
.map-city.active .map-city-dot{fill:#34233b;stroke:#fff3cf;stroke-width:2}
.map-watermark{position:absolute;right:0;bottom:64px;font-family:'Noto Serif SC',serif;font-size:77px;line-height:1.16;color:#f6dff70b;pointer-events:none;letter-spacing:.1em}
.map-city-rail{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:5px;padding:12px 0;border-top:1px solid #e2c4e450;overflow:auto;scrollbar-width:thin}
.map-city-rail button{min-width:48px;background:#efdaef12;color:#e5d0e9;border:1px solid #e8cbe74a;border-radius:8px;padding:8px 2px;display:grid;gap:3px;justify-items:center;font-size:10px;white-space:nowrap}
.map-city-rail button small{font-family:Georgia,serif;font-size:9px;color:#d5aed9}
.map-city-rail button:hover,.map-city-rail button.active{background:#eed8e4;color:#3f2c49;border-color:#fff5e9}
.map-city-rail button.active small{color:#885c8d}
.map-bottom{padding-top:12px;color:#c2a5c7;font-size:10px}
.map-bottom span:last-child{color:#c5a5c5;letter-spacing:.1em}
.map-footnote{color:#bda6c1;line-height:1.8}
.map-footnote a{color:#e7cce7;text-decoration:underline;text-underline-offset:3px}
.region-panel{padding:31px 30px;background:linear-gradient(160deg,#fff9f6 0,#f2e7ee 100%);color:#382940;display:flex;flex-direction:column;border-left:1px solid #d9bedb}
.region-panel-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9c6d8;padding-bottom:15px}
.region-panel .region-index{color:#8b608f;font-size:10px;letter-spacing:.11em}
.region-count{font-family:Georgia,serif;color:#b695b8;font-size:11px}
.region-headline{display:flex;align-items:center;gap:16px;padding:24px 0 20px}
.region-seal{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#684677;color:#f7e7f4;font-family:'Noto Serif SC',serif;font-size:37px;box-shadow:0 10px 24px #704d6c35}
.region-headline small{color:#8f7d91;font-size:10px;letter-spacing:.08em}
.region-panel .region-title{color:#36233f;font-family:'Noto Serif SC',serif;font-size:36px;margin:4px 0 0;line-height:1.1}
.region-feature{background:#4c345a;color:#fff6f8;padding:22px;border-radius:12px;display:grid;gap:11px;box-shadow:0 12px 26px #68477533}
.region-feature span{font-size:9px;color:#debde0;letter-spacing:.12em;font-weight:800}
.region-feature strong{font-family:'Noto Serif SC',serif;font-size:23px;line-height:1.45;font-weight:600}
.region-feature small{color:#d7bfda;font-size:9px;line-height:1.6}
.region-products{display:flex;gap:8px;flex-wrap:wrap;margin:19px 0 10px}
.region-products span{display:flex;gap:7px;align-items:center;background:#fff;border:1px solid #e1cee0;color:#563b62;padding:9px 11px;border-radius:999px;font-size:11px;font-weight:800}
.region-products b{font-family:Georgia,serif;color:#a47eaa;font-size:10px}
.region-copy{display:grid;gap:4px;padding:9px 0}
.region-panel .region-label{color:#9b729d;font-size:9px;letter-spacing:.12em;margin-top:9px}
.region-copy p{margin:0;color:#5f5364;font-size:11px;line-height:1.85}
.region-source-line{display:flex;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid #dfcedf;margin-top:auto;padding:17px 0}
.region-source-line .region-source{color:#865590;font-size:11px;font-weight:800}
.region-source-line small{color:#a392a4;font-size:9px}
.region-panel .region-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:0}
.region-panel .region-actions button{border-radius:8px;background:#654171;color:#fff;border:1px solid #654171;padding:12px 9px;font-size:10px;font-weight:800}
.region-panel .region-actions button.secondary{background:transparent;color:#654171}
@media(max-width:980px){.map-workspace{grid-template-columns:1fr}.map-stage{min-height:620px}.map-visual{height:610px}.region-panel{border-left:0;border-top:1px solid #d9bedb}.map-city-rail{grid-template-columns:repeat(11,minmax(48px,1fr))}}
@media(max-width:680px){.map-canvas{padding:16px}.map-stage{min-height:480px}.map-visual{height:480px}.map-watermark{font-size:50px}.map-coordinates{display:none}.map-city text{font-size:14px}.region-panel{padding:22px}.region-panel .region-actions{grid-template-columns:1fr 1fr}.region-feature strong{font-size:20px}}
