:root { --ink:#18201d; --paper:#f7f8f4; --line:#d9ded7; --soft:#e9eee8; --green:#13715a; --green-dark:#0b4f3e; --gold:#b69a54; --muted:#65706a; --display:Georgia,"Times New Roman",serif; --sans:"Microsoft YaHei","Noto Sans SC",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
a:focus-visible, button:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.skip-link { position:fixed; left:12px; top:-100px; z-index:100; background:var(--ink); color:#fff; padding:10px 14px; }.skip-link:focus { top:12px; }
.site-header { height:76px; padding:0 clamp(20px,5vw,80px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(247,248,244,.94); position:sticky; top:0; z-index:10; backdrop-filter:blur(14px); }
.brand { display:flex; align-items:center; gap:11px; min-width:max-content; }.brand-mark { width:29px; height:29px; display:grid; place-items:center; color:var(--paper); background:var(--green); font-family:var(--display); font-size:20px; line-height:1; }.brand strong,.brand small { display:block; line-height:1.15; }.brand strong { font-size:15px; }.brand small { margin-top:3px; color:var(--muted); font-size:8px; }
.site-nav { display:flex; align-items:center; gap:clamp(18px,3vw,42px); margin-left:auto; margin-right:clamp(20px,4vw,56px); }.site-nav a { color:#3f4843; font-size:14px; }.site-nav a:hover,.text-link:hover,.article-row h2 a:hover,.article-preview h3 a:hover { color:var(--green); }
.header-platform { color:var(--paper); background:var(--green); padding:10px 14px; font-size:13px; white-space:nowrap; }.header-platform:hover,.button-primary:hover { background:var(--green-dark); }
.hero { min-height:calc(100vh - 76px); padding:clamp(54px,8vw,112px) clamp(20px,8vw,128px) clamp(46px,7vw,90px); display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.9fr); align-items:center; gap:clamp(38px,7vw,118px); overflow:hidden; }.hero-copy { max-width:650px; animation:rise .75s ease-out both; }.eyebrow { margin:0 0 16px; color:var(--green); font-size:11px; font-weight:700; }.hero h1,.section h2,.platform-callout h2 { margin:0; font-family:var(--display); font-weight:400; line-height:1.02; }.hero h1 { font-size:clamp(50px,6vw,94px); }.hero-lead { max-width:490px; margin:28px 0 30px; color:#46514b; font-size:clamp(16px,1.5vw,19px); }.hero-actions { display:flex; align-items:center; gap:24px; }.button { display:inline-flex; align-items:center; gap:24px; padding:13px 18px; font-size:14px; transition:background .2s,color .2s,transform .2s; }.button:hover { transform:translateY(-2px); }.button-primary { color:#fff; background:var(--green); }.text-link { display:inline-flex; gap:12px; align-items:center; border-bottom:1px solid currentColor; font-size:14px; padding-bottom:3px; }.hero-stats { display:flex; gap:clamp(18px,3vw,52px); margin:clamp(48px,7vw,88px) 0 0; }.hero-stats div { border-left:1px solid var(--line); padding-left:12px; }.hero-stats dt { font-family:var(--display); color:var(--green); font-size:25px; line-height:1; }.hero-stats dd { margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.hero-stage { min-width:0; padding:18px; color:#ebf1e9; background:var(--ink); box-shadow:18px 20px 0 var(--soft); animation:rise .85s .12s ease-out both; }.stage-head,.stage-foot { display:flex; justify-content:space-between; align-items:center; color:#c4d1c6; font-size:11px; }.stage-head { padding:0 0 14px; }.stage-foot { padding:14px 0 0; }.stage-status { display:flex; align-items:center; gap:7px; }.stage-status i { width:7px; height:7px; border-radius:50%; background:#70d49a; box-shadow:0 0 12px #70d49a; }
.chess-board-wrap { position:relative; width:min(100%,540px); margin:auto; aspect-ratio:1; padding-left:18px; padding-top:18px; }.chess-board { width:100%; height:100%; display:grid; grid-template-columns:repeat(8,1fr); grid-template-rows:repeat(8,1fr); position:relative; overflow:hidden; }.square { display:grid; place-items:center; position:relative; font-family:Georgia,serif; font-size:clamp(19px,3.2vw,42px); line-height:1; }.square.light { background:#d8dfd7; }.square.dark { background:#2e6b56; }.square.active::after { content:""; position:absolute; inset:10%; border:2px solid var(--gold); }.piece { position:relative; z-index:2; filter:drop-shadow(0 2px 1px rgba(0,0,0,.2)); }.piece-white { color:#f7faf3; text-shadow:0 1px 1px rgba(15,38,29,.48); }.square.light .piece-white { color:#fbfdf8; text-shadow:0 1px 1px rgba(12,35,25,.8),0 0 1px rgba(12,35,25,.38); }.piece-black { color:#102a1f; text-shadow:0 1px 1px rgba(235,244,235,.24); }.move-line { position:absolute; z-index:3; height:2px; transform-origin:left center; background:var(--gold); pointer-events:none; opacity:.9; }.stage-axis { position:absolute; color:#98ab9d; font-size:9px; line-height:1; }.axis-top { top:0; left:18px; width:calc(100% - 18px); height:18px; display:grid; grid-template-columns:repeat(8,1fr); place-items:center; }.axis-side { top:18px; left:0; width:18px; height:calc(100% - 18px); display:grid; grid-template-rows:repeat(8,1fr); place-items:center; }
.section { padding:clamp(76px,10vw,148px) clamp(20px,8vw,128px); }.intro { border-top:1px solid var(--line); }.section-split { display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(34px,10vw,150px); align-items:end; }.section h2 { font-size:clamp(42px,5vw,72px); }.intro-copy { max-width:420px; color:#47534d; font-size:17px; }.intro-copy .text-link { margin-top:16px; color:var(--ink); }.brand-architecture { padding-top:0; }.brand-architecture .section-heading { margin-bottom:0; padding-bottom:42px; border-bottom:1px solid var(--ink); }.brand-lanes { display:grid; grid-template-columns:1fr 1fr; }.brand-lane { min-height:360px; padding:32px clamp(24px,4vw,54px); display:flex; flex-direction:column; }.brand-lane > p:first-child,.brand-lane div > p:first-child { margin:0; color:var(--green); font-size:11px; font-weight:700; }.brand-lane h3 { margin:44px 0 14px; font-family:var(--display); font-size:clamp(30px,3.2vw,48px); font-weight:400; line-height:1.08; }.brand-lane span { color:var(--muted); font-size:13px; }.brand-lane-copy { max-width:360px; margin:30px 0 0; color:#47534d; font-size:14px; }.brand-lane-school { background:#edf1ea; }.brand-lane-club { display:grid; grid-template-columns:112px minmax(0,1fr); gap:28px; color:#f7f8f4; background:var(--ink); }.brand-lane-club img { width:96px; height:96px; object-fit:contain; align-self:start; }.brand-lane-club h3 { margin-top:40px; }.brand-lane-club span { color:#bdc9c0; }.brand-lane-club .brand-lane-copy { color:#d7e0d8; }
.principles { padding-top:0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.principle { padding:28px 0; border-top:1px solid var(--ink); }.principle span { color:var(--green); font-size:12px; }.principle h3 { margin:42px 0 8px; font-family:var(--display); font-size:28px; font-weight:400; }.principle p { margin:0; max-width:250px; color:var(--muted); font-size:14px; }
.course-section { background:var(--soft); }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:42px; }.section-heading > p { max-width:290px; margin:0; color:var(--muted); font-size:14px; }.course-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.course-card { min-height:360px; padding:26px; display:flex; flex-direction:column; color:#f7f8f4; background:var(--ink); transition:transform .25s ease; }.course-card:hover { transform:translateY(-6px); }.course-card h3 { margin:auto 0 10px; font-family:var(--display); font-size:36px; font-weight:400; line-height:1.1; }.course-card p { max-width:250px; margin:0; color:#cbd4cc; font-size:14px; }.course-card em { margin-top:32px; color:#e1cb87; font-size:12px; font-style:normal; }.card-thinking { background:var(--green); }.card-advance { background:#43574c; }
.growth { display:grid; grid-template-columns:1fr 1fr; gap:clamp(44px,10vw,150px); align-items:center; }.growth-board { min-height:370px; display:grid; grid-template:repeat(2,1fr)/repeat(2,1fr); background:var(--ink); color:#e7eee8; font-family:var(--display); font-size:clamp(52px,8vw,100px); }.growth-board span { display:grid; place-items:center; }.growth-board span:nth-child(2),.growth-board span:nth-child(3) { color:var(--green); background:#d8dfd7; }.growth-copy { max-width:500px; }.growth-copy > p:not(.eyebrow) { color:#47534d; font-size:17px; }.growth-copy ul { padding:0; margin:28px 0 0; list-style:none; border-top:1px solid var(--line); }.growth-copy li { padding:11px 0; border-bottom:1px solid var(--line); font-size:14px; }.growth-copy li::before { content:"✓"; color:var(--green); margin-right:10px; }
.journal { border-top:1px solid var(--line); }.article-preview-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.article-preview { min-height:230px; padding:24px; display:flex; flex-direction:column; border:1px solid var(--line); background:#fafbf8; }.article-preview p,.article-row > p:first-child { margin:0; color:var(--green); font-size:11px; }.article-preview h3 { margin:34px 0 auto; font-family:var(--display); font-size:26px; font-weight:400; line-height:1.2; }.article-preview span { color:var(--muted); font-size:12px; }.empty-preview { background:var(--ink); color:#fff; }.platform-callout { padding:clamp(72px,9vw,130px) 20px; text-align:center; color:#f7f8f4; background:var(--green); }.platform-callout .eyebrow { color:#d8dfd7; }.platform-callout h2 { max-width:700px; margin:0 auto 34px; font-size:clamp(42px,6vw,78px); }.button-light { color:var(--ink); background:var(--paper); }.button-light:hover { background:#dfe5dc; }
.site-footer { min-height:190px; padding:32px clamp(20px,8vw,128px); display:flex; align-items:end; justify-content:space-between; gap:24px; color:#e8ede7; background:var(--ink); }.footer-brand strong,.footer-brand span { display:block; }.footer-brand span { margin-top:5px; color:#aebbb1; font-size:13px; }.footer-contact { display:grid; gap:5px; max-width:280px; color:#aebbb1; font-size:13px; }.footer-contact a:hover { color:#fff; }.site-footer > a { border-bottom:1px solid #aebbb1; padding-bottom:3px; font-size:13px; }
.article-page { max-width:1080px; margin:auto; min-height:calc(100vh - 236px); }.article-page h1 { margin:0; font-family:var(--display); font-size:clamp(44px,5vw,60px); font-weight:400; line-height:1.06; }.page-lead { color:var(--muted); }.article-list { margin-top:54px; border-top:1px solid var(--ink); }.article-row { display:grid; grid-template-columns:140px minmax(0,1fr) 150px; gap:24px; align-items:baseline; padding:28px 0; border-bottom:1px solid var(--line); }.article-page .article-row h2 { margin:0; font-family:var(--display); font-size:clamp(23px,2vw,30px); font-weight:400; line-height:1.16; }.article-row h2 span { color:var(--green); font-family:var(--sans); font-size:14px; }.article-row > p:not(:first-child) { margin:0; color:var(--muted); font-size:14px; }.article-row time { color:var(--muted); font-size:12px; text-align:right; }.empty-state { padding:36px 0; color:var(--muted); }.article-detail { width:min(100%,1120px); margin:auto; }.article-detail h1 { font-size:clamp(44px,4.4vw,64px); margin:0; max-width:1040px; font-family:var(--display); font-weight:400; line-height:1.12; text-wrap:wrap; line-break:strict; word-break:normal; }.back-link { display:inline-block; margin-bottom:48px; color:var(--green); font-size:14px; }.article-detail > p:nth-of-type(1) { color:var(--green); font-size:11px; }.article-detail > p:nth-of-type(2) { max-width:860px; margin:22px 0 10px; color:var(--muted); font-size:18px; line-height:1.8; }.article-detail time { color:var(--muted); font-size:13px; }.article-body { width:min(100%,760px); margin:64px auto 0; font-size:17px; line-height:1.9; }.article-body p { margin:0 0 24px; }.article-copyright { width:min(100%,760px); margin:48px auto 0; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; line-height:1.7; }
.hero h1 { font-size:clamp(50px,5.5vw,84px); }.hero h1 span { display:inline-block; white-space:nowrap; }.brand-lane h3 { font-size:clamp(28px,2.6vw,42px); }.brand-lane-club { position:relative; display:flex; }.brand-lane-club img { position:absolute; top:28px; right:clamp(24px,4vw,54px); }.brand-lane-club > div { width:100%; padding-top:118px; }.brand-lane-club h3 { margin-top:28px; }.principles { grid-template-columns:repeat(4,minmax(0,1fr)); }.learning-method { border-top:1px solid var(--line); background:#f0f3ee; }.ability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--ink); }.ability { min-height:184px; padding:24px 22px 24px 0; border-bottom:1px solid var(--line); }.ability:nth-child(3n+2),.ability:nth-child(3n+3) { padding-left:22px; }.ability:nth-child(3n+2) { border-left:1px solid var(--line); }.ability:nth-child(3n+3) { border-left:1px solid var(--line); }.ability span { color:var(--green); font-size:11px; font-weight:700; }.ability h3 { margin:34px 0 8px; font-family:var(--display); font-size:26px; font-weight:400; line-height:1.1; }.ability p { max-width:200px; margin:0; color:var(--muted); font-size:14px; }.faculty { color:#e8ede7; background:var(--ink); }.faculty-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:clamp(44px,10vw,150px); align-items:end; }.faculty .eyebrow { color:#9cceb9; }.faculty h2 { margin:0; color:#f7f8f4; font-family:var(--display); font-size:clamp(42px,5vw,72px); font-weight:400; line-height:1.02; }.faculty-copy > p:not(.eyebrow) { max-width:540px; margin:26px 0 0; color:#cbd4cc; font-size:16px; }.faculty-credentials { padding:28px 0 0 28px; border-top:1px solid #9cceb9; border-left:1px solid #56685e; }.faculty-credentials > p { margin:0; color:#9cceb9; font-size:12px; }.faculty-credentials h3 { margin:22px 0 20px; font-family:var(--display); font-size:31px; font-weight:400; line-height:1.1; }.faculty-credentials ul { margin:0; padding:0; list-style:none; }.faculty-credentials li { padding:10px 0; border-top:1px solid #405148; color:#cbd4cc; font-size:14px; }.achievement-board { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--ink); border-left:1px solid var(--ink); }.achievement-board div { min-height:182px; padding:22px; display:flex; flex-direction:column; justify-content:flex-end; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); background:#d8dfd7; }.achievement-board div:nth-child(2),.achievement-board div:nth-child(3) { color:#e7eee8; background:var(--green); }.achievement-board strong { font-family:var(--display); font-size:clamp(36px,4vw,60px); font-weight:400; line-height:1; }.achievement-board span { margin-top:12px; font-size:13px; }
@media (min-width:1200px) { .brand-lane h3,.course-card h3,.course-card p,.course-card em,.article-preview h3 { white-space:nowrap; }.course-card p { max-width:none; }.article-preview-grid { grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); } }
@media (min-width:1200px) and (max-width:1439px) { .brand-lane h3 { font-size:clamp(27px,2.4vw,34px); }.course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@keyframes rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:820px) { .site-header { height:68px; padding:0 18px; }.site-nav { display:none; }.header-platform { margin-left:auto; padding:8px 10px; font-size:12px; }.hero { min-height:auto; grid-template-columns:1fr; padding:72px 20px 62px; gap:50px; }.hero h1 { font-size:clamp(46px,12vw,60px); }.hero h1 span { display:inline-block; white-space:nowrap; }.hero-stage { width:100%; max-width:510px; }.hero-stats { margin-top:50px; }.section { padding:72px 20px; }.section-split,.growth,.brand-lanes { grid-template-columns:1fr; }.brand-architecture { padding-top:0; }.brand-lane { min-height:0; padding:32px 24px; }.brand-lane h3 { white-space:normal; }.brand-lane-club { display:grid; grid-template-columns:78px minmax(0,1fr); gap:18px; }.brand-lane-club img { position:static; width:70px; height:70px; }.brand-lane-club > div { width:auto; padding-top:0; }.brand-lane h3,.brand-lane-club h3 { margin-top:30px; }.principles,.course-grid,.article-preview-grid { grid-template-columns:1fr; }.principles { gap:0; }.principle h3 { margin-top:25px; }.course-card { min-height:260px; }.growth-board { min-height:290px; }.section-heading { align-items:start; flex-direction:column; }.article-page h1 { font-size:clamp(40px,11vw,48px); }.article-list { margin-top:42px; }.article-row { grid-template-columns:1fr; gap:10px; }.article-page .article-row h2 { font-size:clamp(26px,8vw,32px); }.article-row time { text-align:left; }.site-footer { min-height:220px; align-items:start; flex-direction:column; justify-content:space-between; }.article-detail { padding-top:60px; }.article-detail h1 { font-size:clamp(36px,10vw,44px); line-height:1.16; }.article-detail > p:nth-of-type(2) { font-size:16px; }.article-body { margin-top:48px; font-size:16px; line-height:1.85; } }
@media (min-width:821px) and (max-width:1199px) { .principles { grid-template-columns:repeat(2,minmax(0,1fr)); }.ability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.ability:nth-child(n) { padding:24px; border-left:0; }.ability:nth-child(even) { border-left:1px solid var(--line); }.faculty-layout { grid-template-columns:1fr; }.faculty-credentials { max-width:620px; } }
@media (max-width:820px) { .ability-grid,.achievement-board { grid-template-columns:1fr; }.ability:nth-child(n) { min-height:0; padding:22px 0; border-left:0; }.ability h3 { margin-top:20px; }.faculty-layout { grid-template-columns:1fr; }.faculty-credentials { padding:24px 0 0; border-left:0; }.faculty-credentials h3 { font-size:28px; }.achievement-board div { min-height:142px; } }
@media (min-width:1200px) { .brand-lane h3 { font-size:clamp(28px,2.3vw,36px); }.course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.course-card { min-width:0; }.article-preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.article-preview-grid:has(> :only-child) { grid-template-columns:1fr; }.article-preview h3 { font-size:24px; } }
@media (min-width:821px) and (max-width:1199px) { .course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.article-preview-grid { grid-template-columns:1fr; } }
@media (min-width:1200px) { .principle p,.ability p,.faculty-copy > p:not(.eyebrow),.faculty-credentials li,.growth-copy > p:not(.eyebrow),.growth-copy li,.brand-lane-copy,.footer-brand span,.footer-contact span,.footer-contact a,.site-footer > a { max-width:none; white-space:nowrap; }.faculty h2 { font-size:clamp(38px,2.8vw,50px); white-space:nowrap; }.growth-copy { max-width:none; }.platform-callout h2 { max-width:none; font-size:clamp(42px,4.4vw,64px); white-space:nowrap; } }
@media (min-width:1200px) and (max-width:1599px) { .principles { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:1200px) { .hero-lead { max-width:650px; } }
/* 编辑式棋局年鉴视觉层：以信息秩序替代模板化卡片。 */
:root { --ink:#18231e; --paper:#f3f5f1; --line:#cbd3cb; --soft:#e4e9e2; --green:#2e6654; --green-dark:#1d4d3e; --gold:#a88946; --muted:#5f6c64; }
body { background:var(--paper); }
.site-header { height:68px; padding:0 clamp(22px,4vw,72px); border-color:#bfc9c0; background:rgba(243,245,241,.97); }
.brand { gap:10px; }.brand-mark { width:27px; height:27px; background:var(--ink); font-size:18px; }.brand strong { font-size:14px; letter-spacing:.08em; }.brand small { font-size:8px; letter-spacing:.11em; }
.site-nav { gap:clamp(16px,2.5vw,36px); }.site-nav a { font-size:13px; }.site-nav a::after { content:""; display:block; width:0; height:1px; margin-top:4px; background:currentColor; transition:width .22s ease; }.site-nav a:hover::after { width:100%; }
.header-platform { padding:8px 0 8px 14px; color:var(--ink); background:transparent; border-left:1px solid var(--ink); font-size:12px; }.header-platform:hover { color:var(--green); background:transparent; }
.hero { min-height:calc(100dvh - 68px); padding:clamp(54px,7vw,106px) clamp(22px,7vw,118px) clamp(72px,8vw,126px); grid-template-columns:minmax(0,1.08fr) minmax(390px,.76fr); gap:clamp(44px,6vw,104px); border-bottom:1px solid var(--ink); }
.hero-copy { max-width:720px; }.hero-kicker { display:flex; gap:18px; margin:0 0 22px; color:var(--green); font-size:11px; font-weight:700; letter-spacing:.08em; }.hero-kicker span + span { padding-left:18px; border-left:1px solid currentColor; }
.hero h1 { max-width:720px; font-size:clamp(54px,5.8vw,88px); line-height:1.04; }.hero-lead { max-width:650px; margin:30px 0 34px; color:#445149; font-size:17px; line-height:1.8; }
.hero-actions { gap:22px; }.button { gap:14px; padding:12px 16px; border:1px solid transparent; }.button-primary { background:var(--ink); }.button-primary:hover { background:var(--green-dark); }.text-link { border-bottom-color:#8d9b91; }
.hero-reassurance { margin:18px 0 0; color:#5d6b61; font-size:13px; letter-spacing:.04em; }
.hero-stats { gap:0; margin-top:clamp(44px,6vw,76px); border-top:1px solid var(--line); }.hero-stats div { flex:1; padding:14px 14px 0 0; border-left:0; }.hero-stats div + div { padding-left:14px; border-left:1px solid var(--line); }.hero-stats dt { color:var(--ink); font-size:24px; font-variant-numeric:tabular-nums; }.hero-stats dd { color:var(--muted); }
.hero-stage { padding:18px; color:#e9eee9; background:#26352e; box-shadow:none; animation:none; }.stage-head,.stage-foot { color:#c4d1c6; }.stage-head { padding-bottom:12px; border-bottom:1px solid rgba(220,231,220,.25); }.stage-foot { padding-top:12px; }.stage-notation { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px 12px; margin-top:12px; color:#a9b9ac; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:10px; letter-spacing:.02em; line-height:1.35; }.notation-turn { min-width:0; white-space:nowrap; }.stage-status i { background:#b8b26d; box-shadow:none; }
.section { padding:clamp(88px,10vw,152px) clamp(22px,7vw,118px); }.eyebrow { margin-bottom:12px; color:var(--green); font-size:10px; letter-spacing:.1em; }.section h2 { font-size:clamp(40px,4.5vw,66px); line-height:1.08; }.section-heading { align-items:flex-end; margin-bottom:52px; }.section-heading > p { max-width:360px; color:#59675e; }
.brand-architecture { padding-top:clamp(82px,9vw,132px); }.brand-architecture .section-heading { padding-bottom:28px; }.brand-lanes { gap:0; border-top:1px solid var(--ink); }.brand-lane { min-height:312px; padding:30px clamp(22px,3vw,46px); }.brand-lane-school { background:#dfe6de; }.brand-lane-club { background:#26352e; }.brand-lane h3 { margin:34px 0 10px; font-size:clamp(28px,2.4vw,38px); }.brand-lane-copy { margin-top:auto; padding-top:30px; color:#4d5e53; }.brand-lane-club .brand-lane-copy { color:#d4ded5; }.brand-lane-club img { filter:saturate(.72) contrast(1.05); }
.brand-lane-school { position:relative; display:flex; }.brand-lane-school img { position:absolute; top:28px; right:clamp(22px,3vw,46px); width:96px; height:96px; object-fit:contain; }.brand-lane-school > div { width:100%; padding-top:118px; }
.intro { border-top:0; background:#e7ece6; }.section-split { grid-template-columns:1fr minmax(320px,.72fr); gap:clamp(48px,10vw,158px); align-items:start; }.intro-copy { max-width:520px; font-size:16px; }.intro-copy p { margin-top:6px; }
.principles { grid-template-columns:1.25fr .85fr .85fr 1.2fr; gap:0; padding-top:0; }.principle { min-height:238px; padding:22px 18px 24px 0; border-top:1px solid var(--ink); }.principle + .principle { padding-left:18px; border-left:1px solid var(--line); }.principle h3 { margin:48px 0 8px; font-size:25px; }.principle p { max-width:none; color:#56645b; }
.learning-method { border-top:1px solid var(--ink); background:var(--paper); }.ability-grid { border-left:1px solid var(--ink); }.ability { min-height:170px; padding:22px; background:#edf1eb; }.ability:nth-child(3n+2),.ability:nth-child(3n+3) { padding-left:22px; }.ability h3 { margin:38px 0 6px; font-size:24px; }.ability p { max-width:none; }.ability:nth-child(2),.ability:nth-child(5) { background:#d8e2d8; }.ability:nth-child(3),.ability:nth-child(6) { background:#cfdacf; }
.faculty { background:#2b3931; }.faculty-layout { grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:clamp(48px,9vw,140px); }.faculty h2 { font-size:clamp(42px,4.5vw,64px); }.faculty-copy > p:not(.eyebrow) { max-width:560px; line-height:1.8; }.faculty-credentials { padding:24px 0 0 24px; border-top-color:#9fbaa7; border-left-color:#62766a; }.faculty-credentials h3 { font-size:28px; }.faculty-credentials li { padding:9px 0; }
.course-section { background:#dfe6de; }.course-grid { gap:14px; }.course-card { min-height:250px; padding:28px; background:#26352e; }.course-card h3 { font-size:34px; }.course-card p { max-width:390px; }.card-thinking { background:#507563; }.card-advance { color:var(--ink); background:#c9d6ca; }.card-advance p { color:#34453a; }.card-advance em { color:#765f28; }
.course-support { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:14px; border-top:1px solid var(--ink); border-bottom:1px solid var(--line); }.course-support div { min-height:110px; padding:20px 20px 20px 0; display:flex; flex-direction:column; justify-content:flex-end; }.course-support div + div { padding-left:20px; border-left:1px solid var(--line); }.course-support span { margin-bottom:14px; color:var(--green); font-size:11px; font-weight:700; letter-spacing:.08em; }.course-support strong { font-family:var(--display); font-size:21px; font-weight:400; line-height:1.2; }.course-consultation { margin-top:26px; color:var(--ink); }
.growth { grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr); gap:clamp(46px,9vw,138px); }.achievement-board { border-color:var(--ink); }.achievement-board div { min-height:164px; background:#e0e7df; }.achievement-board div:nth-child(2),.achievement-board div:nth-child(3) { background:#4f7562; }.growth-copy { max-width:620px; }.growth-copy > p:not(.eyebrow) { font-size:16px; }.growth-copy ul { margin-top:24px; }
.journal { border-top:0; background:#e8ede7; }.article-preview { min-height:214px; padding:26px; border-color:#b9c4ba; background:transparent; }.article-preview h3 { margin-top:28px; font-size:24px; }.empty-preview { background:#26352e; }
.platform-callout { padding:clamp(96px,11vw,156px) clamp(22px,7vw,118px); color:#edf2ec; background:#355f4f; text-align:left; }.platform-callout .eyebrow { color:#d4ded5; }.platform-callout h2 { max-width:980px; margin:0 0 36px; font-size:clamp(42px,5vw,70px); }.button-light { background:#edf2ec; }.button-light:hover { background:#d8e2d8; }
.site-footer { min-height:172px; padding:30px clamp(22px,7vw,118px); display:grid; grid-template-columns:1.1fr 1fr; align-items:end; gap:30px; background:#18231e; }.footer-contact { max-width:none; justify-self:end; text-align:right; }.footer-brand strong { letter-spacing:.06em; }.footer-brand span,.footer-contact { font-size:12px; }
@media (min-width:1200px) { .course-grid { grid-template-columns:1.16fr .84fr; grid-template-rows:repeat(2,minmax(228px,1fr)); }.course-card:first-child { grid-row:span 2; min-height:470px; }.course-card:nth-child(2),.course-card:nth-child(3) { min-height:228px; }.course-card:first-child h3 { font-size:clamp(40px,4vw,58px); } }
@media (max-width:1199px) { .hero { grid-template-columns:1fr; }.hero-copy { max-width:760px; }.hero-stage { max-width:620px; }.principles { grid-template-columns:repeat(2,minmax(0,1fr)); }.principle:nth-child(odd) { padding-left:0; border-left:0; }.faculty-layout { grid-template-columns:1fr; }.growth { grid-template-columns:1fr; }.growth-copy { max-width:none; }.site-footer { grid-template-columns:1fr 1fr; align-items:start; }.site-footer > a { justify-self:start; } }
@media (max-width:820px) { .site-header { height:64px; }.hero { min-height:auto; padding:56px 20px 70px; }.hero h1 { font-size:clamp(46px,12vw,62px); }.hero-kicker { margin-bottom:18px; }.hero-lead { max-width:none; font-size:16px; }.hero-stats { margin-top:40px; }.hero-stage { padding:14px; }.stage-notation { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 10px; font-size:9px; }.section { padding:74px 20px 86px; }.section-heading { margin-bottom:38px; }.section h2 { font-size:42px; }.section-split { grid-template-columns:1fr; }.principles { grid-template-columns:1fr; }.principle { min-height:0; padding:24px 0; }.principle + .principle { padding-left:0; border-left:0; }.principle h3 { margin-top:26px; }.ability { padding:22px 0; background:transparent; }.ability:nth-child(2),.ability:nth-child(5),.ability:nth-child(3),.ability:nth-child(6) { background:transparent; }.faculty { padding-top:78px; }.faculty-credentials { padding-left:0; }.course-card,.course-card:first-child { min-height:250px; }.growth-board { min-height:300px; }.platform-callout { padding:86px 20px; }.platform-callout h2 { font-size:44px; }.site-footer { min-height:0; display:grid; grid-template-columns:1fr; padding:30px 20px; }.site-footer .footer-contact { justify-self:start; text-align:left; } }
@media (max-width:820px) { .brand-lane-school { display:grid; grid-template-columns:78px minmax(0,1fr); gap:18px; }.brand-lane-school img { position:static; width:70px; height:70px; }.brand-lane-school > div { width:auto; padding-top:0; }.brand-lane-school h3 { margin-top:30px; } }
@media (min-width:1200px) { .principles { gap:0; }.faculty-layout { grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr); gap:clamp(48px,5vw,72px); }.faculty h2 { white-space:nowrap; }.course-card p { max-width:none; font-size:13px; white-space:nowrap; }.achievement-board strong { font-size:clamp(34px,3.8vw,54px); } }
@media (min-width:1200px) and (max-width:1599px) { .principles { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; }.hero-copy,.hero-stage { animation:none; }.course-card,.button { transition:none; } }

/* Taste Global Router refinement: restraint in surfaces, density in information. */
.course-section,.journal { background:var(--paper); }
.course-section { border-top:1px solid var(--line); }.course-section .section-heading { padding-bottom:26px; border-bottom:1px solid var(--ink); }
.course-card { position:relative; isolation:isolate; overflow:hidden; color:#f7f8f4; background-color:#26352e; background-repeat:no-repeat; background-position:center; background-size:cover; }
.course-card::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(14,27,22,.70) 0%,rgba(14,27,22,.48) 49%,rgba(14,27,22,.10) 100%); }
.course-card > * { position:relative; z-index:1; }
.course-card > * { text-shadow:0 1px 12px rgba(8,20,15,.48); }
.course-card p { color:#e0e8df; }
.course-card em { color:#e4cc85; }
.card-foundation { background-image:url("course-foundation-v35-new-classroom-photo-copyright-v1.3d2c51bc2771.webp"); background-position:58% center; }
.card-thinking { background-image:url("course-thinking-v6-copyright.d18740784ef4.webp"); background-position:58% top; }
.card-advance { background-image:url("course-advance-v6-copyright.13120ccafe05.webp"); background-position:58% top; }
.journal { border-top:1px solid var(--line); }.journal .section-heading { margin-bottom:34px; }
.platform-callout { margin:0 clamp(22px,7vw,118px) clamp(56px,7vw,96px); padding:clamp(58px,7vw,94px) clamp(26px,6vw,92px); border-top:3px solid var(--gold); background:#26352e; }
.platform-callout h2 { max-width:900px; margin-bottom:28px; }.platform-callout .button-light { border-color:#edf2ec; }
.article-preview { min-height:196px; }.article-preview h3 { font-size:22px; }.article-preview:hover { color:var(--green); border-color:var(--green); }
@media (min-width:1200px) { .card-thinking,.card-advance { background-position:58% 50%; } }
@media (min-width:821px) { .section { padding-top:clamp(76px,8vw,118px); padding-bottom:clamp(88px,9vw,132px); }.brand-architecture { padding-top:clamp(78px,8vw,112px); }.platform-callout h2 { font-size:clamp(40px,4vw,58px); } }
@media (max-width:820px) { .course-section .section-heading { padding-bottom:20px; }.platform-callout { margin:0 20px 42px; padding:58px 22px; }.platform-callout h2 { font-size:40px; }.article-preview { min-height:184px; } }
@media (max-width:820px) { .intro h2,.mosaic-title h2,.learning-method .section-heading h2 { font-size:clamp(34px,9vw,38px); line-height:1.16; text-wrap:pretty; line-break:strict; word-break:normal; }.intro h2 br,.mosaic-title h2 br,.learning-method .section-heading h2 br { display:none; } }
/* 首页区块说明使用同一阅读尺度，避免跨区块阅读时反复适应字号。 */
.intro-copy > p,.mosaic-title > p:last-child,.learning-method .section-heading > p,.course-section .section-heading > p,.growth-copy > p:not(.eyebrow) { color:#4d5e53; font-size:16px; line-height:1.8; }
@media (min-width:1200px) { .hero-reassurance,.course-support strong { white-space:nowrap; } }
@media (min-width:1200px) { .faculty { padding-top:clamp(72px,4vw,82px); padding-bottom:clamp(76px,4vw,88px); }.faculty-credentials { padding-top:20px; }.faculty-credentials h3 { margin:16px 0 14px; }.faculty-credentials li { padding:7px 0; } }
@media (max-width:820px) { .hero-actions { align-items:flex-start; flex-wrap:wrap; gap:18px 22px; }.hero-reassurance { margin-top:16px; line-height:1.6; }.course-support { grid-template-columns:1fr; }.course-support div { min-height:0; padding:20px 0; }.course-support div + div { padding-left:0; border-top:1px solid var(--line); border-left:0; }.course-support strong { font-size:20px; } }
@media (min-width:821px) { .brand-architecture,.intro,.learning-method,.course-section,.growth,.journal { padding-top:clamp(72px,5vw,88px); padding-bottom:clamp(78px,5.5vw,96px); }.brand-architecture { padding-top:clamp(72px,5vw,82px); }.brand-architecture .section-heading { margin-bottom:38px; padding-bottom:22px; }.brand-lane { min-height:280px; padding:26px clamp(22px,3vw,42px); }.brand-lane-school img,.brand-lane-club img { top:24px; right:clamp(22px,3vw,42px); }.brand-lane-school > div,.brand-lane-club > div { padding-top:96px; }.brand-lane h3 { margin:26px 0 10px; }.brand-lane-copy { padding-top:20px; }.principles { padding-top:48px; padding-bottom:96px; }.faculty { padding-top:72px; padding-bottom:80px; } }
@media (max-width:820px) { .brand-architecture,.intro,.principles,.learning-method,.faculty,.course-section,.growth,.journal { padding-top:64px; padding-bottom:72px; }.brand-architecture .section-heading { margin-bottom:32px; padding-bottom:20px; }.brand-lane { padding:26px 20px; }.brand-lane-school,.brand-lane-club { gap:14px; }.brand-lane h3,.brand-lane-school h3,.brand-lane-club h3 { margin-top:22px; }.brand-lane-copy { padding-top:20px; }.faculty { padding-top:64px; }.faculty-credentials { padding-top:20px; }.faculty-credentials h3 { margin:18px 0 16px; } }

/* 企业介绍页沿用官网的编辑式信息层级，不重复首页的课程展示。 */
.site-nav a[aria-current="page"] { color:var(--green); }
.site-nav a[aria-current="page"]::after { width:100%; }
.about-hero { position:relative; min-height:clamp(500px,62vw,720px); display:block; overflow:hidden; color:#f5f7f2; background:var(--ink); }
.about-hero-image { position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,25,20,.93) 0%,rgba(13,25,20,.72) 42%,rgba(13,25,20,.15) 100%),url("faculty-chess-detail-copyright.1f53fc697ced.webp") center/cover no-repeat; }
.about-hero-copy { position:relative; z-index:1; max-width:980px; padding:clamp(60px,9vw,132px) clamp(22px,4vw,64px) clamp(60px,9vw,132px) clamp(22px,8vw,128px); animation:rise .75s ease-out both; }
.about-hero-copy .eyebrow { color:#a8d5bd; }.about-hero h1,.about-section-heading h2,.about-method h2,.about-proof h2 { margin:0; font-family:var(--display); font-weight:400; line-height:1.04; }
.about-hero h1 { max-width:880px; font-size:clamp(48px,6.7vw,92px); }.about-hero h1 span { white-space:nowrap; }.about-hero-copy > p:last-child { max-width:560px; margin:28px 0 0; color:#d9e1d9; font-size:clamp(16px,1.5vw,19px); line-height:1.75; }
.about-history-head { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(280px,.72fr); gap:clamp(48px,7vw,112px); align-items:end; }.about-history h2 { margin:0; font-family:var(--display); font-size:clamp(42px,4vw,52px); font-weight:400; line-height:1.04; text-wrap:pretty; line-break:strict; word-break:normal; }.about-history-phrase { white-space:nowrap; }.about-history-head > p { max-width:620px; margin:0; color:#46534b; font-size:16px; line-height:1.85; text-wrap:pretty; line-break:strict; word-break:normal; }.about-history-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:clamp(42px,6vw,72px); border-top:1px solid var(--ink); }.about-history-card { position:relative; min-height:300px; padding:26px clamp(22px,3vw,42px) 30px; display:flex; flex-direction:column; border-bottom:1px solid var(--line); }.about-history-card + .about-history-card { border-left:1px solid var(--line); }.about-history-club { color:#edf2ec; background:var(--ink); }.about-history-school { background:#e3e9e2; }.about-history-year { color:var(--green); font-family:var(--display); font-size:clamp(30px,3.1vw,45px); line-height:1; font-variant-numeric:tabular-nums; }.about-history-club .about-history-year { color:#a8d5bd; }.about-history-card img { position:absolute; top:24px; right:clamp(22px,3vw,42px); width:82px; height:82px; object-fit:contain; }.about-history-card > p:not(.about-history-copy) { margin:66px 0 0; color:var(--green); font-size:11px; font-weight:700; }.about-history-club > p:not(.about-history-copy) { color:#a8d5bd; }.about-history-card h3 { margin:22px 0 10px; font-family:var(--display); font-size:clamp(27px,2.4vw,37px); font-weight:400; line-height:1.12; text-wrap:pretty; line-break:strict; word-break:normal; }.about-history-card > span:not(.about-history-year) { color:var(--muted); font-size:13px; }.about-history-club > span:not(.about-history-year) { color:#bdc9c0; }.about-history-copy { max-width:540px; margin:22px 0 0; color:#47534d; font-size:14px; line-height:1.75; text-wrap:pretty; line-break:strict; word-break:normal; }.about-history-club .about-history-copy { color:#d7e0d8; }
@supports (word-break:auto-phrase) { .about-history-head > p,.about-history-card h3,.about-history-copy { word-break:auto-phrase; } }
.about-philosophy { position:relative; isolation:isolate; overflow:hidden; color:#edf2ec; background:#26352e; }.about-philosophy::before { position:absolute; z-index:-1; inset:0; content:""; pointer-events:none; opacity:.18; background-image:linear-gradient(90deg,rgba(168,213,189,.045) 1px,transparent 1px),linear-gradient(rgba(168,213,189,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(168,213,189,.022) 50%,transparent 50%),linear-gradient(rgba(168,213,189,.022) 50%,transparent 50%); background-size:72px 72px,72px 72px,144px 144px,144px 144px; background-position:center; }.about-philosophy .eyebrow,.about-proof .eyebrow { color:#a8d5bd; }.about-section-heading,.about-paths { position:relative; z-index:1; }.about-section-heading { max-width:820px; }.about-section-heading h2 { font-size:clamp(42px,5.2vw,72px); }.about-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:clamp(54px,7vw,96px); border-top:1px solid #9ab09e; }.about-paths article { min-height:300px; padding:20px 20px 20px 0; border-bottom:1px solid #52695b; }.about-paths article + article { padding-left:20px; border-left:1px solid #52695b; }.about-paths article > span { color:#a8d5bd; font-size:12px; font-weight:700; }.about-paths h3 { margin:78px 0 10px; font-family:var(--display); font-size:clamp(27px,2.5vw,36px); font-weight:400; line-height:1.1; }.about-paths p { max-width:245px; margin:0; color:#c9d6cb; font-size:14px; line-height:1.75; }.about-paths p .about-inline-term { color:#a8d5bd; font-size:inherit; font-weight:700; }
.about-method { display:grid; grid-template-columns:minmax(300px,.93fr) minmax(0,1.07fr); gap:clamp(42px,8vw,122px); align-items:stretch; background:#e5ebe4; }.about-method-image { min-height:490px; background:url("about-learning-chess-home-v2-copyright.5c1befc736e2.webp") center/cover no-repeat; }.about-method-copy { align-self:center; max-width:560px; }.about-method h2 { margin-top:0; font-size:clamp(38px,4.2vw,62px); }.about-method-copy > p:not(.eyebrow) { margin:24px 0 0; color:#47534d; font-size:16px; line-height:1.85; }.about-method dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:38px 0 0; border-top:1px solid var(--ink); }.about-method dl div { min-height:126px; padding:18px 16px 18px 0; border-bottom:1px solid var(--line); }.about-method dl div:nth-child(even) { padding-left:16px; border-left:1px solid var(--line); }.about-method dt { font-family:var(--display); font-size:21px; }.about-method dd { margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.about-proof { display:grid; grid-template-columns:minmax(0,.93fr) minmax(320px,1.07fr); gap:clamp(48px,9vw,140px); align-items:end; color:#edf2ec; background:var(--ink); }.about-proof h2 { font-size:clamp(42px,5.1vw,72px); }.about-proof-copy > p:not(.eyebrow) { max-width:550px; margin:26px 0 0; color:#c9d6cb; font-size:16px; line-height:1.85; }.about-proof-data { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; border-top:1px solid #819385; border-left:1px solid #819385; }.about-proof-data div { min-height:178px; padding:20px; display:flex; flex-direction:column; justify-content:flex-end; border-right:1px solid #819385; border-bottom:1px solid #819385; }.about-proof-data dt { color:#a8d5bd; font-family:var(--display); font-size:clamp(37px,4vw,58px); line-height:1; }.about-proof-data dd { margin:12px 0 0; color:#d2ded4; font-size:13px; }
@media (max-width:820px) { .about-hero { min-height:520px; display:block; }.about-hero-image { background:linear-gradient(0deg,rgba(13,25,20,.93) 0%,rgba(13,25,20,.48) 100%),url("faculty-chess-detail-copyright.1f53fc697ced.webp") 62% center/cover no-repeat; }.about-hero-copy { padding:178px 20px 58px; }.about-hero h1 { font-size:clamp(34px,10.5vw,54px); }.about-hero-copy > p:last-child { margin-top:20px; font-size:16px; }.about-history-head,.about-method,.about-proof { grid-template-columns:1fr; gap:36px; }.about-history { padding-top:66px; }.about-history h2 { font-size:clamp(30px,9vw,40px); }.about-section-heading h2,.about-proof h2 { font-size:42px; }.about-history-grid { grid-template-columns:1fr; margin-top:42px; }.about-history-card { min-height:0; padding:24px 20px 28px; }.about-history-card + .about-history-card { border-top:1px solid var(--line); border-left:0; }.about-history-card img { top:20px; right:20px; width:70px; height:70px; }.about-history-card > p:not(.about-history-copy) { margin-top:50px; }.about-history-card h3 { font-size:29px; }.about-paths { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:44px; }.about-paths article { min-height:238px; padding:16px 12px 18px 0; }.about-paths article + article { padding-left:12px; }.about-paths article:nth-child(3) { padding-left:0; border-left:0; }.about-paths h3 { margin-top:54px; font-size:26px; }.about-paths p { font-size:13px; }.about-method { padding-top:0; padding-left:0; padding-right:0; gap:0; }.about-method-image { min-height:300px; }.about-method-copy { padding:58px 20px 68px; }.about-method h2 { font-size:40px; }.about-method dl { grid-template-columns:1fr; }.about-method dl div:nth-child(even) { padding-left:0; border-left:0; }.about-method dl div { min-height:0; padding:18px 0; }.about-proof { padding-top:64px; padding-bottom:72px; }.about-proof-data div { min-height:140px; padding:16px; } }
@media (prefers-reduced-motion: reduce) { .about-hero-copy { animation:none; } }

/* 企业介绍宽屏优先完整呈现短句；窄屏再由容器自然折行。 */
.about-philosophy .about-section-heading { max-width:none; }
.about-philosophy .about-section-heading h2 { font-size:clamp(42px,4.4vw,64px); }
.about-method-copy { max-width:760px; }
.about-method h2 { font-size:clamp(36px,3vw,48px); }
.about-proof h2 { font-size:clamp(40px,3vw,52px); }
.about-proof-copy > p:not(.eyebrow) { max-width:680px; }
@media (min-width:821px) {
  .about-heading-phrase,.about-inline-term,.about-history-term { white-space:nowrap; }
  .about-history-head > p { justify-self:end; padding-right:20px; box-sizing:border-box; text-align:right; }
  .about-history-head > p { font-size:17px; }
  .about-history-card > p:not(.about-history-copy) { font-size:13px; }
  .about-history-card > span:not(.about-history-year) { font-size:15px; }
  .about-history-copy { font-size:16px; }
  .about-paths article > span { font-size:13px; }
  .about-paths p { max-width:none; font-size:16px; }
  .about-method dt { font-size:23px; }
  .about-method dd { font-size:15px; }
  .about-proof-copy > p:not(.eyebrow) { font-size:17px; }
  .about-proof-data dd { font-size:15px; }
}
@media (min-width:821px) and (max-width:1499px) {
  .about-paths article { min-height:226px; padding-right:28px; }
  .about-paths article + article { padding-left:28px; }
  .about-paths article:nth-child(3) { padding-left:0; border-left:0; }
  .about-paths p { max-width:380px; }
}
@media (min-width:1500px) {
  .about-paths article { min-height:252px; padding-right:32px; }
  .about-paths article + article { padding-left:32px; }
  .about-paths article:nth-child(3) { padding-left:0; border-left:0; }
  .about-paths p { max-width:380px; }
}
@media (min-width:1366px) {
  .about-history-copy,.about-paths p { max-width:none; white-space:nowrap; }
  .about-paths h3 { margin-top:58px; }
}
@media (min-width:1500px) {
  .about-history-head { grid-template-columns:minmax(0,.85fr) minmax(660px,1.15fr); gap:clamp(48px,4vw,72px); }
  .about-history-head > p { max-width:none; }
  .about-method { grid-template-columns:minmax(0,.75fr) minmax(760px,1.25fr); gap:clamp(48px,5vw,80px); }
  .about-method-copy { max-width:none; }
  .about-method-copy > p:not(.eyebrow) { max-width:none; font-size:16px; }
  .about-method dl div { min-height:156px; padding:22px 20px 22px 0; }
  .about-method dl div:nth-child(even) { padding-left:20px; }
  .about-method dt { font-size:26px; }
  .about-method dd { margin-top:10px; font-size:15px; }
}
@media (max-width:1499px) {
  .about-history-desktop-break { display:none; }
}
@media (max-width:820px) {
  .about-philosophy .about-section-heading h2,.about-proof h2 { font-size:42px; }
  .about-method h2 { font-size:40px; }
}
@media (min-width:821px) {
  .about-history,.about-philosophy,.about-method,.about-proof { padding-top:clamp(72px,6vw,96px); padding-bottom:clamp(72px,6vw,96px); }
}
@media (max-width:820px) {
  .about-history,.about-philosophy,.about-proof { padding-top:64px; padding-bottom:68px; }
  .about-method { padding-bottom:0; }
}

/* 文章列表与详情页使用同一套克制的编辑式阅读秩序。 */
.article-page.section { width:min(calc(100% - 44px),1000px); min-height:calc(100vh - 236px); margin:0 auto; padding:clamp(64px,7vw,96px) 0 clamp(80px,9vw,120px); }
.article-index-header { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,340px); gap:48px; align-items:end; padding-bottom:30px; border-bottom:1px solid var(--ink); }
.article-index-header .eyebrow { margin-bottom:12px; }
.article-page .article-index-header h1 { margin:0; font-family:var(--display); font-size:clamp(42px,4.2vw,56px); font-weight:400; line-height:1.08; }
.article-index-header .page-lead { margin:0; color:var(--muted); font-size:15px; line-height:1.75; text-align:right; }
.article-list { margin:0; border-top:0; }
.article-row { display:grid; grid-template-columns:132px minmax(0,1fr); gap:32px; align-items:start; padding:34px 0 36px; border-bottom:1px solid var(--line); }
.article-row-meta { display:flex; min-height:100%; flex-direction:column; justify-content:space-between; gap:24px; padding-top:5px; }
.article-row-meta p { margin:0; color:var(--green); font-size:11px; font-weight:700; }
.article-row-meta time { color:var(--muted); font-size:12px; }
.article-page .article-row h2 { margin:0; font-family:var(--display); font-size:clamp(25px,2.2vw,31px); font-weight:400; line-height:1.28; text-wrap:wrap; line-break:strict; word-break:normal; }
.article-row h2 a { transition:color .2s ease; }
.article-link-arrow { display:inline-block; margin-left:6px; color:var(--green); font-family:var(--sans); font-size:.48em; vertical-align:.35em; }
.article-title-phrase { white-space:nowrap; }
.article-row h2 .article-title-phrase { color:inherit; font-family:inherit; font-size:inherit; line-height:inherit; }
.article-row-summary { max-width:720px; margin:16px 0 0; color:var(--muted); font-size:14px; line-height:1.8; }
.empty-state { margin:0; padding:36px 0; color:var(--muted); }

.article-detail.section { width:min(calc(100% - 44px),820px); margin:0 auto; padding:clamp(54px,6vw,78px) 0 clamp(80px,9vw,120px); }
.back-link { display:inline-block; margin-bottom:34px; color:var(--green); font-size:13px; }
.article-detail-meta { display:flex; align-items:center; gap:18px; margin-bottom:16px; font-size:12px; }
.article-detail-meta span { color:var(--green); font-weight:700; }
.article-detail-meta time { color:var(--muted); }
.article-detail h1 { max-width:none; margin:0; font-family:var(--display); font-size:clamp(34px,3vw,42px); font-weight:400; line-height:1.14; text-wrap:wrap; line-break:strict; word-break:normal; }
.article-summary { margin:22px 0 0; color:var(--muted); font-size:17px; line-height:1.85; }
.article-cover { margin:34px 0 0; background:#e8ede7; }
.article-cover img { display:block; width:100%; height:auto; }
.article-cover + .article-body { margin-top:38px; }
.article-body { width:100%; margin:42px 0 0; padding-top:40px; border-top:1px solid var(--line); font-size:17px; line-height:1.95; }
.article-body p { margin:0 0 1.4em; }
.article-body p:last-child { margin-bottom:0; }
.article-body br { display:block; content:""; margin-top:.72em; }
.article-body h2,.article-body h3 { margin:1.8em 0 .72em; color:var(--ink); font-family:var(--display); font-weight:400; line-height:1.2; }
.article-body h2 { font-size:30px; }
.article-body h3 { font-size:24px; }
.article-body strong { color:var(--ink); font-weight:700; }
.article-body ul,.article-body ol { margin:0 0 1.5em; padding-left:1.5em; }
.article-body li { margin:.42em 0; }
.article-body blockquote { margin:1.7em 0; padding:2px 0 2px 20px; border-left:3px solid var(--green); color:#526159; }
.article-body blockquote p { margin-bottom:0; }
.article-body a { color:var(--green); border-bottom:1px solid currentColor; }
.article-copyright { width:100%; margin:48px 0 0; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; line-height:1.75; }

@supports (word-break:auto-phrase) {
  .article-page .article-row h2,
  .article-detail h1 { word-break:auto-phrase; }
}

@media (max-width:820px) {
  .article-page.section { width:calc(100% - 40px); padding:54px 0 74px; }
  .article-index-header { grid-template-columns:1fr; gap:18px; padding-bottom:26px; }
  .article-page .article-index-header h1 { font-size:42px; }
  .article-index-header .page-lead { text-align:left; }
  .article-row { grid-template-columns:1fr; gap:16px; padding:28px 0 30px; }
  .article-row-meta { min-height:0; flex-direction:row; align-items:center; gap:18px; padding-top:0; }
  .article-page .article-row h2 { font-size:clamp(25px,7.2vw,30px); line-height:1.3; }
  .article-row-summary { margin-top:13px; font-size:14px; line-height:1.75; }
  .article-detail.section { width:calc(100% - 40px); padding:48px 0 76px; }
  .back-link { margin-bottom:32px; }
  .article-detail-meta { margin-bottom:14px; }
  .article-detail h1 { font-size:clamp(34px,9vw,39px); line-height:1.2; }
  .article-summary { margin-top:18px; font-size:16px; line-height:1.8; }
  .article-cover { margin-top:28px; }
  .article-cover + .article-body { margin-top:32px; }
  .article-body { margin-top:34px; padding-top:30px; font-size:16px; line-height:1.9; }
  .article-body h2 { font-size:27px; }
  .article-body h3 { font-size:22px; }
  .article-copyright { margin-top:40px; }
}

@media (prefers-reduced-motion: reduce) { .article-row h2 a { transition:none; } }

/* 宽屏标题聚焦机构名称，卡片紧随其后形成直接关联。 */
@media (min-width:1200px) {
  .brand-architecture .section-heading { margin-bottom:18px; padding-bottom:0; border-bottom:0; }
  .brand-architecture h2 { font-size:clamp(48px,4.2vw,62px); white-space:nowrap; }
  .brand-architecture h2 br { display:none; }
}

/* 六项能力以可见的课堂实践补足抽象能力表述。 */
.ability { display:flex; flex-direction:column; min-height:194px; }
.ability small { margin-top:auto; padding-top:14px; color:#426151; font-size:12px; line-height:1.55; }

/* 师资区使用非肖像的棋局细节，保持专业背书的克制感。 */
.faculty { background-color:#2b3931; background-image:linear-gradient(90deg,rgba(43,57,49,.96) 0%,rgba(43,57,49,.93) 43%,rgba(43,57,49,.82) 70%,rgba(43,57,49,.72) 100%),url("faculty-chess-score-sheet-copyright.46240774ff64.webp"); background-position:center; background-repeat:no-repeat; background-size:cover; }
@media (max-width:820px) { .faculty { background-position:72% center; }.ability small { padding-top:10px; } }

/* 四阶段以连续路径呈现，补足各阶段可感知的课堂重点。 */
.principles { display:block; padding-top:28px; }
.principles-path,.principles-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.principles-path { border-top:1px solid var(--ink); border-bottom:1px solid var(--line); }
.principles-path span { position:relative; padding:13px 18px 13px 0; color:var(--green); font-size:12px; font-weight:700; }
.principles-path span + span { padding-left:18px; border-left:1px solid var(--line); }
.principles-path span:not(:last-child)::after { content:"→"; position:absolute; right:-5px; top:11px; z-index:1; display:grid; width:20px; height:20px; place-items:center; color:var(--green); background:var(--paper); font-size:13px; }
.principles-grid { padding-top:0; }
.principle { min-height:232px; display:flex; flex-direction:column; }
.principle small { margin-top:auto; padding-top:18px; color:#426151; font-size:12px; line-height:1.55; }
@media (min-width:1200px) { .principles-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (min-width:821px) and (max-width:1199px) { .principles-path,.principles-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.principles-path span:nth-child(3) { border-left:0; }.principles-path span:nth-child(-n+2) { border-bottom:1px solid var(--line); }.principles-path span:not(:last-child)::after { display:none; } }
@media (max-width:820px) { .principles { padding-top:22px; }.principles-path,.principles-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.principles-path span { padding:11px 12px 11px 0; font-size:11px; }.principles-path span + span { padding-left:12px; }.principles-path span:not(:last-child)::after { display:none; }.principles-path span:nth-child(3) { border-left:0; }.principles-path span:nth-child(-n+2) { border-bottom:1px solid var(--line); }.principle { min-height:0; display:block; }.principle small { display:block; margin-top:16px; padding-top:0; } }

/* 手机端将六项能力收束为三行两列，减少纵向浏览长度。 */
@media (max-width:820px) {
  .ability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); border-left:1px solid var(--ink); }
  .ability:nth-child(n) { min-height:190px; padding:18px 12px; border-left:0; }
  .ability:nth-child(even) { border-left:1px solid var(--line); }
  .ability h3 { margin-top:24px; font-size:23px; }
  .ability p { font-size:13px; line-height:1.55; }
  .ability small { padding-top:12px; font-size:11px; line-height:1.5; }
  .achievement-board { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .achievement-board div { min-height:154px; padding:18px; }
  .achievement-board span { font-size:12px; line-height:1.45; }
}

/* 真实赛事瞬间经卡通化后，以骑士轮廓呈现学员的共同成长。 */
.mosaic-story { padding:0; border-top:1px solid var(--ink); background:#f1f4ef; overflow:hidden; }
.mosaic-layout { display:grid; grid-template-columns:minmax(300px,26vw) minmax(0,1fr); gap:clamp(40px,4vw,72px); align-items:stretch; padding:clamp(40px,3vw,52px) clamp(22px,7vw,118px); }
.mosaic-figure { position:relative; width:min(100%,440px); aspect-ratio:7 / 8; min-width:0; margin:0; align-self:center; justify-self:start; filter:drop-shadow(0 18px 24px rgba(30,54,40,.15)); }
.mosaic-photo-motion { position:relative; isolation:isolate; display:grid; width:100%; height:100%; grid-template-columns:repeat(7,minmax(0,1fr)); grid-template-rows:repeat(8,minmax(0,1fr)); gap:0; overflow:hidden; background:#eef2ec; perspective:720px; -webkit-mask:url("photo-mosaic/final/knight-mosaic-mask.bc7b1e5e2976.png?v=20260808-mask-tight-v1") center / contain no-repeat; mask:url("photo-mosaic/final/knight-mosaic-mask.bc7b1e5e2976.png?v=20260808-mask-tight-v1") center / contain no-repeat; }
.mosaic-photo-motion::before { position:absolute; z-index:3; right:7%; bottom:6%; content:"© 弈思棋苑"; color:rgba(255,255,255,.82); font-family:var(--sans); font-size:clamp(10px,1.2vw,14px); letter-spacing:0; text-shadow:0 1px 3px rgba(0,0,0,.55); pointer-events:none; }
.mosaic-photo-tile { position:relative; z-index:0; display:block; min-width:0; min-height:0; margin:-1px; background-image:url("photo-mosaic/final/knight-mosaic-photo-atlas-v2.25470058f164.webp"); background-repeat:no-repeat; background-size:1000% 700%; background-position:var(--photo-x) var(--photo-y); opacity:.96; filter:saturate(.72) contrast(.93) brightness(.92); transform:rotateY(0deg) scale(1); transform-style:preserve-3d; backface-visibility:hidden; transition:opacity 260ms ease,transform 220ms cubic-bezier(.4,0,.2,1),filter 260ms ease; }
.mosaic-photo-tile::after { position:absolute; inset:0; content:""; background:rgba(19,113,90,.28); pointer-events:none; transition:opacity 260ms ease; }
.mosaic-photo-tile.is-flipping { z-index:2; opacity:.26; transform:rotateY(90deg) scale(.96); filter:saturate(.62) brightness(.82); }
.mosaic-photo-tile.is-refreshed { z-index:1; opacity:1; filter:saturate(.8) contrast(.96) brightness(.98); }
.mosaic-photo-tile.is-refreshed::after { opacity:.48; }
.mosaic-content { display:flex; min-width:0; flex-direction:column; justify-content:center; }
.mosaic-title { padding:0 0 18px; text-align:right; border-bottom:1px solid var(--ink); }
.mosaic-title .eyebrow { margin-bottom:12px; }
.mosaic-title h2 { max-width:660px; margin:0 0 0 auto; }
.mosaic-title > p:last-child { max-width:560px; margin:18px 0 0 auto; color:#4d5e53; font-size:16px; line-height:1.8; }
.mosaic-principles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:0; border-left:1px solid var(--line); }
.mosaic-principle { min-height:172px; padding:17px 20px 20px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.mosaic-principle > span { color:var(--green); font-size:11px; font-weight:700; letter-spacing:.06em; }
.mosaic-principle h3 { margin:30px 0 7px; font-family:var(--display); font-size:25px; font-weight:400; line-height:1.1; }
.mosaic-principle p { margin:0; color:#5c6b61; font-size:12px; line-height:1.65; }
@media (min-width:1200px) { .mosaic-title h2 { max-width:none; white-space:nowrap; } }
@media (max-width:820px) { .mosaic-layout { grid-template-columns:1fr; gap:42px; padding:52px 20px 58px; }.mosaic-figure { width:min(100%,560px); }.mosaic-title { text-align:left; }.mosaic-title h2 { margin:0; }.mosaic-title > p:last-child { margin:18px 0 0; }.mosaic-principles { margin-top:0; }.mosaic-principle { min-height:156px; padding:15px 14px 16px; }.mosaic-principle h3 { margin-top:26px; font-size:22px; } }
@media (prefers-reduced-motion: reduce) { .mosaic-photo-tile { opacity:.96; filter:saturate(.72) contrast(.93) brightness(.92); transition:none; }.mosaic-photo-tile::after { opacity:1; transition:none; } }

/* 移动端导航在保持现有页眉秩序的前提下提供完整入口。 */
.nav-toggle,.site-nav .nav-platform { display:none; }
@media (max-width:820px) {
  .site-header { height:64px; padding:0 20px; justify-content:space-between; }
  .site-header .header-platform { display:none; }
  .nav-toggle { display:grid; width:44px; height:44px; padding:0; place-items:center; color:var(--ink); border:1px solid var(--ink); background:transparent; }
  .nav-toggle:active { transform:translateY(1px); }
  .nav-toggle-icon,.nav-toggle-icon i { display:block; width:18px; }
  .nav-toggle-icon i { height:1px; margin:4px 0; background:currentColor; transition:transform .18s ease,opacity .18s ease; }
  .site-nav { display:none; position:absolute; top:64px; right:0; left:0; margin:0; padding:10px 20px 20px; grid-template-columns:1fr; gap:0; border-bottom:1px solid var(--ink); background:var(--paper); box-shadow:0 16px 28px rgba(24,35,30,.12); }
  .site-header.is-nav-open .site-nav { display:grid; }
  .site-nav a { display:flex; align-items:center; min-height:48px; padding:0; border-bottom:1px solid var(--line); color:var(--ink); font-size:15px; }
  .site-nav a::after { display:none; }
  .site-nav .nav-platform { display:flex; justify-content:space-between; margin-top:12px; padding:0 14px; border:0; color:var(--paper); background:var(--green); }
  .site-header.is-nav-open .nav-toggle-icon i:nth-child(1) { transform:translateY(5px) rotate(45deg); }
  .site-header.is-nav-open .nav-toggle-icon i:nth-child(2) { opacity:0; }
  .site-header.is-nav-open .nav-toggle-icon i:nth-child(3) { transform:translateY(-5px) rotate(-45deg); }
  .no-js .site-header { height:auto; min-height:64px; flex-wrap:wrap; padding-top:10px; padding-bottom:10px; }
  .no-js .nav-toggle { display:none; }
  .no-js .site-nav { display:grid; position:static; flex-basis:100%; margin-top:10px; padding-right:0; padding-bottom:0; padding-left:0; border-bottom:0; box-shadow:none; }
}
@media (prefers-reduced-motion: reduce) { .nav-toggle-icon i { transition:none; } }

/* 赛事与成长页以年份轨道组织公开成绩，文字优先，不使用学员图像。 */
.achievements-hero { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(280px,.58fr); gap:clamp(42px,9vw,156px); align-items:end; padding:clamp(76px,9vw,132px) clamp(22px,7vw,118px) clamp(62px,7vw,96px); border-bottom:1px solid var(--ink); background:#e7ece6; }.achievements-hero h1 { margin:0; font-family:var(--display); font-size:clamp(52px,6.2vw,88px); font-weight:400; line-height:1.04; }.achievements-hero > p { max-width:460px; margin:0; color:#4d5e53; font-size:16px; line-height:1.8; }
.achievements-archive { display:grid; grid-template-columns:180px minmax(0,1fr); gap:clamp(42px,8vw,132px); padding:clamp(72px,8vw,112px) clamp(22px,7vw,118px) clamp(88px,9vw,132px); }.achievement-rail { align-self:start; position:sticky; top:96px; }.achievement-rail > p { margin:0 0 18px; color:var(--green); font-size:11px; font-weight:700; letter-spacing:.08em; }.achievement-tabs { display:grid; border-top:1px solid var(--ink); }.achievement-tab { min-height:40px; padding:9px 0 9px 14px; color:#607066; border:0; border-bottom:1px solid var(--line); border-left:2px solid transparent; background:transparent; font:inherit; font-size:14px; text-align:left; cursor:pointer; }.achievement-tab:hover { color:var(--ink); }.achievement-tab[aria-selected="true"] { color:var(--ink); border-left-color:var(--green); font-weight:700; }
.achievement-panel { max-width:880px; }.achievement-panel-header { padding-bottom:40px; border-bottom:1px solid var(--ink); }.achievement-panel-header h2 { max-width:760px; margin:0; font-family:var(--display); font-size:clamp(38px,4.2vw,62px); font-weight:400; line-height:1.08; text-wrap:pretty; line-break:strict; word-break:normal; }.achievement-panel-header > p:last-child { max-width:650px; margin:22px 0 0; color:#4d5e53; font-size:16px; line-height:1.8; }
.honor-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:42px 0 0; border-top:1px solid var(--ink); border-left:1px solid var(--line); }.honor-metrics div { min-height:142px; padding:18px; display:flex; flex-direction:column; justify-content:flex-end; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.honor-metrics dt { color:var(--green); font-family:var(--display); font-size:clamp(30px,3vw,45px); line-height:1.02; }.honor-metrics dd { margin:11px 0 0; color:#4d5e53; font-size:13px; line-height:1.55; }.honor-highlights,.achievement-events { margin:48px 0 0; padding:0; list-style:none; border-top:1px solid var(--ink); }.honor-highlights li { display:grid; grid-template-columns:88px minmax(0,1fr); gap:24px; padding:24px 0; border-bottom:1px solid var(--line); }.honor-highlights > li > span { color:var(--green); font-size:13px; font-weight:700; }.honor-highlights h3,.achievement-events h3 { margin:0; font-family:var(--display); font-size:clamp(24px,2.1vw,31px); font-weight:400; line-height:1.15; }.honor-highlights p { margin:10px 0 0; color:#4d5e53; font-size:15px; line-height:1.75; }
.achievement-events > li { display:grid; grid-template-columns:minmax(220px,.82fr) minmax(0,1.18fr); gap:clamp(28px,5vw,72px); padding:26px 0 28px; border-bottom:1px solid var(--line); }.achievement-events ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; color:#4d5e53; font-size:15px; line-height:1.7; }.achievement-events ul li::before { content:""; display:inline-block; width:6px; height:6px; margin:0 10px 2px 0; background:var(--green); }
.growth-achievements { margin-top:24px; color:var(--ink); }
@media (max-width:820px) { .achievements-hero { grid-template-columns:1fr; gap:22px; padding:62px 20px 58px; }.achievements-hero h1 { font-size:clamp(44px,12vw,56px); }.achievements-archive { display:block; padding:52px 20px 76px; }.achievement-rail { position:static; margin:0 -20px 42px; padding:0 20px; overflow-x:auto; -webkit-overflow-scrolling:touch; }.achievement-rail > p { margin-bottom:12px; }.achievement-tabs { display:flex; width:max-content; min-width:100%; border-bottom:1px solid var(--line); border-top:1px solid var(--ink); }.achievement-tab { flex:0 0 auto; min-height:44px; padding:11px 14px; border-bottom:2px solid transparent; border-left:0; font-size:13px; }.achievement-tab[aria-selected="true"] { border-bottom-color:var(--green); }.achievement-panel-header { padding-bottom:30px; }.achievement-panel-header h2 { font-size:clamp(34px,9vw,38px); line-height:1.16; }.honor-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:32px; }.honor-metrics div { min-height:124px; padding:16px; }.honor-highlights,.achievement-events { margin-top:36px; }.honor-highlights li,.achievement-events > li { display:block; padding:22px 0; }.honor-highlights > li > span { display:block; margin-bottom:12px; }.achievement-events ul { margin-top:14px; font-size:15px; }.achievement-events h3 { font-size:27px; } }

/* 年份切换以一条连续时间线串联；结果图标位为后续奖牌素材预留。 */
.achievement-tabs { position:relative; gap:2px; padding:2px 0; border:0; }
.achievement-tabs::before { position:absolute; top:9px; bottom:9px; left:6px; width:1px; content:""; background:#b6c2b9; }
.achievement-tab { position:relative; min-height:42px; padding:10px 0 10px 26px; border:0; }
.achievement-tab::before { position:absolute; top:50%; left:2px; width:9px; height:9px; box-sizing:border-box; content:""; border:1px solid #8da095; border-radius:50%; background:var(--paper); transform:translateY(-50%); transition:border-color .18s ease,background-color .18s ease,transform .18s ease; }
.achievement-tab:hover::before { border-color:var(--green); }
.achievement-tab[aria-selected="true"] { border:0; }
.achievement-tab[aria-selected="true"]::before { border-color:var(--green); background:var(--green); transform:translateY(-50%) scale(1.2); }
.honor-highlights h3,.achievement-events h3 { font-size:clamp(20px,1.65vw,24px); line-height:1.25; }
.achievement-events ul li { display:flex; align-items:baseline; gap:10px; }
.achievement-events ul li::before { display:none; }
.achievement-result-icon { width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:var(--green); }
@media (max-width:820px) { .achievement-rail { scrollbar-width:none; }.achievement-rail::-webkit-scrollbar { display:none; }.achievement-tabs { gap:0; padding:0; border:0; }.achievement-tabs::before { top:auto; right:0; bottom:0; left:0; width:auto; height:1px; }.achievement-tab { min-height:46px; padding:11px 14px 12px 24px; border:0; }.achievement-tab::before { top:auto; bottom:-4px; left:14px; transform:none; }.achievement-tab[aria-selected="true"] { border:0; }.achievement-tab[aria-selected="true"]::before { transform:scale(1.2); }.achievement-events h3 { font-size:21px; line-height:1.3; } }

/* 桌面端年份标题保持固定单行高度，避免切换成绩档案时内容上下跳动。 */
@media (min-width:981px) { .achievement-panel-header h2 { max-width:none; font-size:clamp(32px,2.9vw,44px); line-height:1.2; white-space:nowrap; text-wrap:nowrap; } }
.achievement-events ul li { align-items:center; }
.achievement-result-icon { display:block; width:18px; height:18px; flex:0 0 18px; object-fit:contain; }
span.achievement-result-icon { width:6px; height:6px; flex-basis:6px; border-radius:50%; background:var(--green); }
@media (max-width:820px) { .achievement-result-icon { width:17px; height:17px; flex-basis:17px; } span.achievement-result-icon { width:6px; height:6px; flex-basis:6px; } }
@media (min-width:1280px) { .achievement-events > li { grid-template-columns:412px minmax(0,1fr); gap:clamp(24px,2vw,36px); }.achievement-events h3 { font-size:clamp(20px,1.5vw,22px); white-space:nowrap; }.achievement-events ul { width:100%; justify-self:stretch; } }
@media (min-width:1360px) { .achievement-events > li { grid-template-columns:470px minmax(0,1fr); } }
@media (min-width:1280px) { .achievement-panel-header > p:last-child { max-width:none; white-space:nowrap; } }
.achievement-panel-header,.achievement-events { border-top:0; border-bottom:0; }
.achievement-events { border-top:1px solid var(--ink); }
.achievement-result-icon { border-radius:0; background:transparent; }
span.achievement-result-icon { border-radius:50%; background:var(--green); }

/* 课程体系页以课程路径而非宣传卡片组织内容。 */
.course-overview { margin:26px 0 0 24px; color:var(--ink); }
.courses-hero { display:grid; grid-template-columns:minmax(0,.93fr) minmax(360px,1.07fr); min-height:clamp(560px,48vw,620px); border-bottom:1px solid var(--ink); background:#e7ece6; }
.courses-hero-copy { align-self:center; max-width:670px; padding:clamp(52px,6vw,76px) clamp(22px,7vw,118px); }
.courses-hero h1,.course-map h2,.course-loop h2,.course-leagues h2,.courses-contact h2 { margin:0; font-family:var(--display); font-weight:400; line-height:1.06; }
.courses-hero h1 { font-size:clamp(50px,5.5vw,80px); }
.courses-hero-copy > p:not(.eyebrow) { max-width:500px; margin:20px 0 26px; color:#4d5e53; font-size:16px; line-height:1.75; }
.courses-hero-image { position:relative; min-height:100%; margin:0; overflow:hidden; background:#26352e; }
.courses-hero-image picture,.achievements-hero-image picture,.journal-hero-image picture,.course-league-list picture { position:absolute; inset:0; display:block; }
.courses-hero-image img { width:100%; height:100%; min-height:0; display:block; object-fit:cover; object-position:center; filter:saturate(.78) contrast(.98); }
.courses-hero-image::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,rgba(20,35,28,.04) 50%,rgba(20,35,28,.7) 100%); pointer-events:none; }
.courses-hero-image figcaption { position:absolute; z-index:1; right:clamp(20px,4vw,54px); bottom:clamp(22px,4vw,48px); left:clamp(20px,4vw,54px); color:#edf2ec; font-size:13px; }
.course-map,.course-loop,.course-leagues { padding-top:clamp(62px,6vw,88px); padding-bottom:clamp(66px,6vw,92px); }
.course-map-header,.course-leagues-heading { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(270px,.55fr); gap:clamp(32px,6vw,84px); align-items:end; padding-bottom:24px; border-bottom:1px solid var(--ink); }
.course-map h2,.course-loop h2,.course-leagues h2,.courses-contact h2 { font-size:clamp(38px,4vw,58px); }
.course-map-header > p,.course-leagues-heading > p { max-width:400px; margin:0; color:#4d5e53; font-size:15px; line-height:1.75; }
.course-stage-list { margin:0; padding:0; list-style:none; }
.course-stage-list li { display:grid; grid-template-columns:56px minmax(124px,.68fr) minmax(0,1.65fr) 116px; gap:20px; align-items:baseline; min-height:92px; padding:19px 0; border-bottom:1px solid var(--line); }
.course-stage-index { color:var(--green); font-size:12px; font-weight:700; letter-spacing:.08em; }
.course-stage-list h3 { margin:0; font-family:var(--display); font-size:clamp(26px,2.2vw,34px); font-weight:400; line-height:1.15; }
.course-stage-list p { margin:0; color:#4d5e53; font-size:14px; line-height:1.65; }
.course-stage-list strong { justify-self:end; color:var(--ink); font-size:13px; font-weight:600; white-space:nowrap; }
.course-loop { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:clamp(40px,6vw,84px); align-items:start; color:#edf2ec; background:#26352e; }
.course-loop .eyebrow { color:#a8d5bd; }.course-loop h2 { color:#f0f4ef; }
.course-loop-steps { display:grid; margin:0; padding:0; list-style:none; border-top:1px solid #8aa091; }
.course-loop-steps li { position:relative; display:grid; grid-template-columns:46px minmax(122px,.95fr) minmax(0,1.2fr); gap:16px; align-items:baseline; min-height:72px; padding:15px 0; border-bottom:1px solid #53685c; }
.course-loop-steps li:not(:last-child)::after { position:absolute; right:0; bottom:-7px; z-index:1; width:14px; height:14px; content:""; border-right:1px solid #a8d5bd; border-bottom:1px solid #a8d5bd; background:#26352e; transform:rotate(45deg); }
.course-loop-steps span { color:#a8d5bd; font-size:11px; font-weight:700; }
.course-loop-steps strong { font-family:var(--display); font-size:21px; font-weight:400; }
.course-loop-steps p { margin:0; color:#c8d5ca; font-size:13px; line-height:1.65; }
.course-leagues { background:#edf1eb; }
.course-league-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:0; padding:0; list-style:none; border-bottom:1px solid var(--line); }
.course-league-list li { min-height:170px; padding:22px 18px 22px 0; display:flex; align-items:flex-end; font-family:var(--display); font-size:clamp(22px,2.1vw,30px); line-height:1.2; }
.course-league-list li + li { padding-left:18px; border-left:1px solid var(--line); }
.courses-contact { padding:clamp(66px,6vw,88px) clamp(22px,7vw,118px); color:#edf2ec; background:#355f4f; }
.courses-contact .eyebrow { color:#d5e4d7; }.courses-contact h2 { max-width:760px; margin-bottom:32px; color:#fff; }.courses-contact .button-light { color:var(--ink); }
@media (min-width:1200px) { .course-stage-list li:nth-child(5) p { max-width:540px; }.course-league-list li { white-space:nowrap; } }
@media (min-width:821px) {
  .course-loop { grid-template-columns:minmax(610px,.9fr) minmax(0,1.1fr); gap:clamp(72px,7vw,132px); }
  .course-loop h2 { font-size:clamp(40px,3.2vw,50px); white-space:nowrap; }
  .courses-contact h2 { max-width:none; white-space:nowrap; }
  .courses-contact h2 br { display:none; }
}
@media (max-width:1199px) { .courses-hero { grid-template-columns:1fr; min-height:0; }.courses-hero-copy { padding-bottom:72px; }.courses-hero-image { min-height:420px; }.courses-hero-image img { min-height:420px; }.course-stage-list li { grid-template-columns:52px minmax(132px,.75fr) minmax(0,1.4fr) 120px; gap:18px; }.course-league-list { grid-template-columns:repeat(3,minmax(0,1fr)); }.course-league-list li:nth-child(4) { padding-left:0; border-left:0; }.course-league-list li:nth-child(-n+3) { border-bottom:1px solid var(--line); } }
@media (max-width:820px) { .courses-hero-copy { padding:52px 20px 48px; }.courses-hero h1 { font-size:clamp(46px,11vw,54px); }.courses-hero-copy > p:not(.eyebrow) { margin:18px 0 24px; font-size:15px; }.courses-hero-image,.courses-hero-image img { min-height:330px; }.courses-hero-image figcaption { right:20px; bottom:20px; left:20px; }.course-map { padding-top:54px; padding-bottom:62px; }.course-map-header,.course-leagues-heading { grid-template-columns:1fr; gap:18px; padding-bottom:22px; }.course-map h2,.course-loop h2,.course-leagues h2,.courses-contact h2 { font-size:clamp(34px,9vw,40px); line-height:1.16; }.course-map h2 br,.course-loop h2 br,.courses-contact h2 br { display:none; }.course-map-header > p,.course-leagues-heading > p { font-size:15px; }.course-stage-list li { grid-template-columns:38px minmax(0,1fr); gap:7px 16px; min-height:0; padding:18px 0; }.course-stage-index { grid-row:1 / span 2; }.course-stage-list h3 { font-size:27px; }.course-stage-list p { grid-column:2; font-size:14px; }.course-stage-list strong { grid-column:2; justify-self:start; margin-top:4px; color:var(--green); font-size:13px; }.course-loop { grid-template-columns:1fr; gap:30px; padding-top:54px; padding-bottom:62px; }.course-loop-steps li { grid-template-columns:34px minmax(0,1fr); gap:7px 14px; min-height:0; padding:15px 0; }.course-loop-steps strong { font-size:21px; }.course-loop-steps p { grid-column:2; font-size:13px; }.course-loop-steps li:not(:last-child)::after { width:11px; height:11px; bottom:-6px; }.course-leagues { padding-top:54px; padding-bottom:62px; }.course-league-list { grid-template-columns:repeat(2,minmax(0,1fr)); }.course-league-list li { min-height:168px; padding:0; font-size:21px; }.course-league-list li + li { padding-left:0; }.course-league-list li:nth-child(n) { border-bottom:0; }.course-league-list li:nth-child(odd) { padding-left:0; border-left:0; }.course-league-list li:nth-child(5) { grid-column:span 2; padding-left:0; }.courses-contact { padding:58px 20px 62px; }.course-overview { display:flex; margin:26px 0 0; } }
@media (prefers-reduced-motion: reduce) { .courses-hero-image img { transition:none; } }

/* 内部联赛以五张活动场景图呈现，名称保持为独立可读的文字层。 */
.course-league-list { gap:1px; border:0; background:var(--line); }
.course-league-list li,.course-league-list li:nth-child(n) { position:relative; min-height:236px; padding:0; overflow:hidden; border:0; background:#26352e; }
.course-league-list img { width:100%; height:100%; position:absolute; inset:0; display:block; object-fit:cover; object-position:center; filter:saturate(.78) contrast(.96) brightness(.76); transition:transform .45s ease,filter .45s ease; }
.course-league-list li::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,rgba(15,31,23,.02) 38%,rgba(15,31,23,.82) 100%); pointer-events:none; }
.course-league-list span { position:relative; z-index:1; align-self:flex-end; padding:18px; color:#fff; font-family:var(--display); font-size:clamp(21px,1.6vw,24px); line-height:1.2; text-shadow:0 1px 12px rgba(8,20,15,.6); }
.course-league-list li:hover img { filter:saturate(.88) contrast(.98) brightness(.85); transform:scale(1.035); }
@media (max-width:1199px) { .course-league-list li,.course-league-list li:nth-child(n) { min-height:220px; } }
@media (max-width:820px) { .course-league-list { gap:1px; }.course-league-list li,.course-league-list li:nth-child(n) { min-height:168px; padding:0; border:0; }.course-league-list li:nth-child(5) { grid-column:span 2; }.course-league-list span { padding:14px; font-size:21px; } }
@media (prefers-reduced-motion: reduce) { .course-league-list img { transition:none; } }
.course-league-list span { display:block; width:100%; max-width:100%; min-width:0; white-space:normal; }

/* 两个内容入口沿用网站的图文首屏，正文区域仍保留各自的信息组织方式。 */
.achievements-hero { display:grid; grid-template-columns:minmax(0,.93fr) minmax(360px,1.07fr); gap:0; min-height:clamp(560px,48vw,620px); padding:0; align-items:stretch; }.achievements-hero-copy { align-self:center; max-width:670px; padding:clamp(52px,6vw,76px) clamp(22px,7vw,118px); }.achievements-hero h1 { font-size:clamp(50px,5.5vw,80px); line-height:1.06; }.achievements-hero-copy > p:not(.eyebrow) { max-width:500px; margin:20px 0 0; color:#4d5e53; font-size:16px; line-height:1.75; }.achievements-hero-image { position:relative; min-height:100%; margin:0; overflow:hidden; background:#26352e; }.achievements-hero-image img { width:100%; height:100%; min-height:0; display:block; object-fit:cover; object-position:center; filter:saturate(.78) contrast(.98); }.achievements-hero-image::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,rgba(20,35,28,.04) 50%,rgba(20,35,28,.7) 100%); pointer-events:none; }.achievements-hero-image figcaption { position:absolute; z-index:1; right:clamp(20px,4vw,54px); bottom:clamp(22px,4vw,48px); left:clamp(20px,4vw,54px); color:#edf2ec; font-size:13px; }
.journal-hero { display:grid; grid-template-columns:minmax(0,.93fr) minmax(360px,1.07fr); min-height:clamp(560px,48vw,620px); border-bottom:1px solid var(--ink); background:#e7ece6; }.journal-hero-copy { align-self:center; max-width:670px; padding:clamp(52px,6vw,76px) clamp(22px,7vw,118px); }.journal-hero h1 { margin:0; font-family:var(--display); font-size:clamp(50px,5.5vw,80px); font-weight:400; line-height:1.06; }.journal-hero-copy > p:not(.eyebrow) { max-width:500px; margin:20px 0 0; color:#4d5e53; font-size:16px; line-height:1.75; }.journal-hero-image { position:relative; min-height:100%; margin:0; overflow:hidden; background:#26352e; }.journal-hero-image img { width:100%; height:100%; min-height:0; display:block; object-fit:cover; object-position:center; filter:saturate(.72) contrast(.98); }.journal-hero-image::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,rgba(20,35,28,.04) 50%,rgba(20,35,28,.7) 100%); pointer-events:none; }.journal-hero-image figcaption { position:absolute; z-index:1; right:clamp(20px,4vw,54px); bottom:clamp(22px,4vw,48px); left:clamp(20px,4vw,54px); color:#edf2ec; font-size:13px; }.article-index.section { width:auto; min-height:0; margin:0; padding:clamp(62px,6vw,88px) clamp(22px,7vw,118px) clamp(72px,7vw,104px); }.article-index .article-index-header,.article-index .article-list { width:min(100%,1180px); margin-right:auto; margin-left:auto; }.article-index .article-index-header { grid-template-columns:minmax(0,1fr) minmax(260px,400px); gap:clamp(36px,7vw,92px); padding-bottom:24px; }.article-index .article-index-header h2 { margin:0; font-family:var(--display); font-size:clamp(38px,4vw,58px); font-weight:400; line-height:1.08; }.article-index .article-list { border-top:0; }.article-index .article-row { grid-template-columns:148px minmax(0,1fr); gap:clamp(28px,4vw,52px); }.article-index .article-row-main { max-width:880px; }.article-index .article-row h2 { font-size:clamp(25px,2.2vw,31px); }
@media (max-width:820px) { .achievements-hero,.journal-hero { grid-template-columns:1fr; min-height:0; }.achievements-hero-copy,.journal-hero-copy { padding:52px 20px 48px; }.achievements-hero h1,.journal-hero h1 { font-size:clamp(46px,11vw,54px); }.achievements-hero-copy > p:not(.eyebrow),.journal-hero-copy > p:not(.eyebrow) { margin-top:18px; font-size:15px; }.achievements-hero-image,.achievements-hero-image img,.journal-hero-image,.journal-hero-image img { min-height:330px; }.achievements-hero-image figcaption,.journal-hero-image figcaption { right:20px; bottom:20px; left:20px; }.article-index.section { width:100%; padding:54px 20px 74px; }.article-index .article-index-header { grid-template-columns:1fr; gap:18px; padding-bottom:22px; }.article-index .article-index-header h2 { font-size:40px; }.article-index .article-index-header .page-lead { text-align:left; }.article-index .article-row { grid-template-columns:1fr; gap:16px; }.article-index .article-row-main { max-width:none; } }

/* 文章页改为目录式阅读：首屏引导，栏目索引，正文摘要依次展开。 */
.journal-hero { grid-template-columns:minmax(0,1.04fr) minmax(440px,.96fr); min-height:clamp(430px,38vw,500px); }
.journal-hero-copy { max-width:700px; padding:clamp(48px,5vw,68px) clamp(32px,8vw,140px); }
.journal-hero h1 { font-size:clamp(54px,5vw,72px); }
.journal-hero-copy > p:not(.eyebrow) { max-width:430px; font-size:15px; line-height:1.8; }
.journal-hero-note { display:flex; align-items:center; gap:13px; width:max-content; margin-top:32px; padding-top:16px; border-top:1px solid #b6c3b8; color:#4d5e53; }
.journal-hero-note strong { color:var(--green); font-family:var(--display); font-size:38px; font-weight:400; line-height:1; font-variant-numeric:tabular-nums; }
.journal-hero-note span { font-size:12px; line-height:1.5; }
.journal-hero-image img { object-position:center 56%; }
.article-index.section { padding-top:clamp(58px,6vw,84px); background:#f7f8f5; }
.article-index .article-index-header { grid-template-columns:minmax(0,1fr) minmax(250px,350px); gap:clamp(40px,8vw,118px); padding-bottom:25px; }
.article-index .article-index-header h2 { font-size:clamp(40px,3.8vw,54px); }
.article-index .article-index-header .page-lead { max-width:340px; justify-self:end; font-size:14px; line-height:1.8; }
.article-filters { display:flex; align-items:center; gap:clamp(20px,3vw,44px); width:min(100%,1180px); margin:0 auto; padding:18px 0 17px; border-bottom:1px solid var(--line); }
.article-filters a { position:relative; display:inline-flex; align-items:baseline; gap:7px; padding:4px 0; color:#68746c; font-size:13px; line-height:1.4; white-space:nowrap; transition:color .2s ease; }
.article-filters a::after { position:absolute; right:0; bottom:-18px; left:0; height:2px; content:""; background:transparent; transition:background-color .2s ease; }
.article-filters a:hover,.article-filters a:focus-visible,.article-filters a[aria-current="page"] { color:var(--green); }
.article-filters a[aria-current="page"]::after { background:var(--green); }
.article-filters span { color:#99a59d; font-size:11px; font-variant-numeric:tabular-nums; }
.article-index .article-list { margin-top:0; }
.article-index .article-row { grid-template-columns:178px minmax(0,1fr); gap:clamp(34px,5vw,76px); padding:27px 0 29px; transition:background-color .2s ease,transform .2s ease; }
.article-index .article-row:hover { background:#eff3ed; }
.article-row-meta { display:grid; grid-template-columns:46px minmax(0,1fr); grid-template-rows:auto auto; align-content:start; align-items:baseline; gap:11px 14px; padding-top:4px; }
.article-row-index { grid-row:1 / span 2; color:#95a399; font-family:var(--display); font-size:21px; font-variant-numeric:tabular-nums; line-height:1; }
.article-row-meta p { font-size:11px; line-height:1.3; }
.article-row-meta time { font-size:11px; line-height:1.3; }
.article-index .article-row-main { max-width:900px; padding-right:26px; }
.article-index .article-row h2 { font-size:clamp(24px,2vw,29px); line-height:1.24; }
.article-row h2 a { display:inline; }
.article-row-summary { max-width:760px; margin-top:11px; font-size:14px; line-height:1.75; }
.article-row-read { display:inline-flex; align-items:center; gap:5px; margin-top:16px; color:var(--green); font-size:12px; font-weight:700; line-height:1.2; transition:gap .2s ease,color .2s ease; }
.article-row-read:hover,.article-row-read:focus-visible { gap:8px; color:#426151; }
.article-filters a:focus-visible,.article-row-read:focus-visible,.article-row h2 a:focus-visible { outline:2px solid #789685; outline-offset:4px; }
@media (max-width:1020px) {
  .journal-hero { grid-template-columns:minmax(0,1fr) minmax(340px,.9fr); }
  .journal-hero-copy { padding-right:clamp(30px,5vw,70px); padding-left:clamp(30px,6vw,72px); }
  .article-index .article-row { grid-template-columns:150px minmax(0,1fr); gap:34px; }
  .article-index .article-row-main { padding-right:0; }
  .article-filters { gap:24px; }
}
@media (max-width:820px) {
  .journal-hero-copy { padding:52px 20px 48px; }
  .journal-hero h1 { font-size:clamp(46px,11vw,54px); }
  .journal-hero-note { margin-top:26px; }
  .article-index.section { padding:54px 20px 74px; }
  .article-index .article-index-header { gap:18px; }
  .article-filters { width:100%; gap:0; margin:0; overflow-x:auto; padding:14px 0 15px; scrollbar-width:none; }
  .article-filters::-webkit-scrollbar { display:none; }
  .article-filters a { flex:0 0 auto; margin-right:24px; }
  .article-filters a::after { bottom:-15px; }
  .article-index .article-row { grid-template-columns:1fr; gap:15px; padding:27px 0 29px; }
  .article-index .article-row:hover { background:transparent; }
  .article-row-meta { display:flex; gap:12px; align-items:center; padding-top:0; }
  .article-row-index { font-size:18px; }
  .article-index .article-row h2 { font-size:clamp(24px,7vw,29px); line-height:1.3; }
  .article-row-summary { margin-top:12px; }
  .article-row-read { margin-top:15px; }
}
@media (prefers-reduced-motion: reduce) {
  .article-filters a,.article-filters a::after,.article-index .article-row,.article-row-read { transition:none; }
}

/* 文章详情页以左侧索引和右侧阅读主列组织，兼顾宽屏节奏与长文可读性。 */
.article-detail.section { width:min(calc(100% - 64px),1160px); padding:clamp(70px,7vw,108px) 0 clamp(92px,10vw,136px); }
.article-detail .back-link { position:relative; margin-bottom:clamp(48px,5vw,72px); padding-left:26px; font-size:13px; }
.article-detail .back-link::before { position:absolute; top:50%; left:0; width:14px; height:1px; content:""; background:currentColor; transform:translateY(-50%); transition:width .2s ease; }
.article-detail .back-link:hover::before,.article-detail .back-link:focus-visible::before { width:19px; }
.article-header { display:grid; grid-template-columns:176px minmax(0,1fr); gap:56px; align-items:start; padding-bottom:clamp(42px,5vw,64px); border-bottom:1px solid var(--ink); }
.article-detail-meta { display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin:5px 0 0; padding-top:13px; border-top:1px solid #9aaca0; font-size:12px; line-height:1.4; }
.article-detail-meta span { font-size:12px; letter-spacing:.04em; }
.article-detail-meta time { font-size:12px; }
.article-header-copy { max-width:860px; }
.article-detail .article-header h1 { max-width:860px; font-size:clamp(42px,4vw,60px); line-height:1.1; text-wrap:pretty; }
.article-detail .article-summary { max-width:760px; margin-top:25px; font-size:17px; line-height:1.9; }
.article-detail .article-cover,.article-detail .article-body,.article-detail .article-copyright { width:min(calc(100% - 232px),780px); margin-left:232px; }
.article-detail .article-cover { margin-top:38px; }
.article-detail .article-cover + .article-body { margin-top:46px; }
.article-detail .article-body { margin-top:50px; padding-top:0; border-top:0; font-size:17px; line-height:2; }
.article-detail .article-body p { margin-bottom:1.55em; }
.article-detail .article-copyright { margin-top:56px; padding-top:22px; font-size:13px; }
.article-detail .back-link:focus-visible { outline:2px solid #789685; outline-offset:5px; }
@media (max-width:1100px) and (min-width:821px) {
  .article-detail.section { width:min(calc(100% - 56px),980px); }
  .article-header { grid-template-columns:144px minmax(0,1fr); gap:42px; }
  .article-detail .article-cover,.article-detail .article-body,.article-detail .article-copyright { width:min(calc(100% - 186px),760px); margin-left:186px; }
}
@media (max-width:820px) {
  .article-detail.section { width:calc(100% - 40px); padding:52px 0 78px; }
  .article-detail .back-link { margin-bottom:35px; }
  .article-header { grid-template-columns:1fr; gap:18px; padding-bottom:31px; }
  .article-detail-meta { flex-direction:row; align-items:center; gap:16px; width:max-content; margin:0; padding-top:0; border-top:0; }
  .article-detail .article-header h1 { font-size:clamp(34px,9vw,43px); line-height:1.18; text-wrap:pretty; }
  .article-detail .article-summary { margin-top:18px; font-size:16px; line-height:1.85; }
  .article-detail .article-cover,.article-detail .article-body,.article-detail .article-copyright { width:100%; margin-left:0; }
  .article-detail .article-cover { margin-top:30px; }
  .article-detail .article-cover + .article-body { margin-top:34px; }
  .article-detail .article-body { margin-top:36px; font-size:16px; line-height:1.9; }
  .article-detail .article-copyright { margin-top:42px; }
}
@media (prefers-reduced-motion: reduce) {
  .article-detail .back-link::before { transition:none; }
}

/* 合规信息保持为可核验的说明，不借用奖章或资质卡片的视觉语言。 */
.course-compliance { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-top:14px; padding:24px 0; border-bottom:1px solid var(--line); }
.course-compliance p { margin:0 0 7px; color:var(--green); font-size:12px; font-weight:700; }
.course-compliance span { color:#46534b; font-size:15px; line-height:1.7; }
.course-compliance .text-link { flex:0 0 auto; margin-bottom:3px; }
.course-compliance + .course-consultation { margin-top:26px; }

.about-compliance { display:grid; grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr); gap:clamp(48px,9vw,140px); align-items:end; background:#edf2ec; }
.about-compliance h2 { margin:0; font-family:var(--display); font-size:clamp(40px,4.2vw,58px); font-weight:400; line-height:1.08; }
.about-compliance-detail { max-width:680px; justify-self:end; }
.about-compliance-detail > p { margin:0; color:#46534b; font-size:17px; line-height:1.85; }
.about-compliance-search { margin-top:18px !important; padding-top:18px; border-top:1px solid var(--line); font-size:15px !important; }
.about-compliance-search strong { color:var(--ink); font-weight:700; }
.about-compliance .text-link { margin-top:26px; }

@media (min-width:1200px) {
  .course-compliance span { white-space:nowrap; }
  .about-compliance { grid-template-columns:minmax(0,1.42fr) minmax(400px,.9fr); gap:clamp(42px,4vw,64px); padding-top:48px; padding-bottom:52px; }
  .about-compliance h2 { font-size:clamp(38px,3vw,44px); white-space:nowrap; }
  .about-compliance h2 br { display:none; }
}
@media (max-width:820px) {
  .course-compliance { display:grid; grid-template-columns:1fr; gap:18px; padding:22px 0; }
  .course-compliance span { display:block; font-size:15px; }
  .course-compliance .text-link { justify-self:start; margin-bottom:0; }
  .about-compliance { grid-template-columns:1fr; gap:30px; padding-top:64px; padding-bottom:68px; }
  .about-compliance h2 { font-size:40px; line-height:1.14; }
  .about-compliance-detail { justify-self:start; }
  .about-compliance-detail > p { font-size:16px; line-height:1.8; }
  .about-compliance-search { margin-top:16px !important; padding-top:16px; font-size:14px !important; }
  .about-compliance .text-link { margin-top:22px; }
}

/* 首页课程入口与赛事成长区块连续衔接，避免链接下方出现过长空档。 */
@media (min-width:821px) {
  .course-section { padding-bottom:42px; }
  .growth { padding-top:48px; }
}
@media (max-width:820px) {
  .course-section { padding-bottom:52px; }
  .growth { padding-top:52px; }
}

/* 页脚采用三列三行：中列第二行是网站备案，第三行预留公安备案。 */
.site-footer { min-height:146px; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.25fr); grid-template-rows:34px 23px 23px; align-content:center; align-items:stretch; column-gap:clamp(24px,5vw,82px); row-gap:0; }
.footer-brand,.footer-registration,.footer-contact { min-height:0; display:grid; grid-template-rows:repeat(3,minmax(0,1fr)); align-items:center; }
.footer-brand { grid-column:1; grid-row:1 / span 3; justify-items:start; }
.footer-brand strong { grid-row:1; }
.footer-brand span { margin-top:0; }
.footer-brand span:nth-of-type(1) { grid-row:2; }
.footer-brand span:nth-of-type(2) { grid-row:3; }
.footer-registration { grid-column:2; grid-row:1 / span 3; justify-items:center; text-align:center; }
.site-footer .footer-icp { grid-column:auto; grid-row:2; justify-self:center; color:#aebbb1; font-size:12px; text-align:center; }
.footer-registration .footer-police { grid-row:3; justify-self:center; display:inline-flex; align-items:center; gap:4px; color:#aebbb1; font-size:12px; white-space:nowrap; }
.footer-police-icon { width:18px; height:20px; flex:0 0 18px; object-fit:contain; }
.site-footer .footer-icp:hover,.footer-registration .footer-police:hover { color:#fff; }
.footer-contact { grid-column:3; grid-row:1 / span 3; justify-self:stretch; max-width:none; text-align:right; }
.footer-contact span { grid-row:2; }
.footer-contact a { grid-row:3; }
@media (min-width:821px) and (max-width:1199px) {
  .site-footer { grid-template-rows:34px 30px 23px; }
}
@media (max-width:820px) {
  .site-footer { min-height:0; grid-template-columns:1fr; grid-template-rows:auto; gap:24px; align-items:start; }
  .footer-brand,.footer-registration,.footer-contact { grid-column:1; grid-row:auto; grid-template-rows:auto; gap:5px; }
  .footer-registration { justify-items:start; text-align:left; }
  .site-footer .footer-icp,.footer-registration .footer-police,.footer-contact span,.footer-contact a { grid-row:auto; justify-self:start; }
}
