: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 span { color:#b4c4b7; font-size:10px; }.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,.article-detail h1 { margin:0; font-family:var(--display); font-size:clamp(52px,7vw,90px); font-weight:400; line-height:1; }.page-lead { color:var(--muted); }.article-list { margin-top:64px; 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-row h2 { margin:0; font-family:var(--display); font-size:29px; font-weight:400; }.article-row h2 span { color:var(--green); font-family:var(--sans); font-size:16px; }.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 { max-width:760px; }.back-link { display:inline-block; margin-bottom:55px; 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) { margin:24px 0 8px; color:var(--muted); font-size:19px; }.article-detail time { color:var(--muted); font-size:13px; }.article-body { margin-top:48px; font-size:17px; }.article-body p { margin:0 0 22px; }
.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-row { grid-template-columns:1fr; gap:10px; }.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:48px; } }
@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 span { color:#4b6657; }.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 auto; align-items:end; gap:30px; background:#18231e; }.footer-contact { max-width:none; }.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; } }
@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 span { color:#c9d8cb; }
.course-card em { color:#e4cc85; }
.card-foundation { background-image:url("course-foundation-italian.webp"); background-position:58% center; }
.card-thinking { background-image:url("course-thinking-ruy-lopez-framed.webp"); background-position:58% top; }
.card-advance { background-image:url("course-advance-sicilian-framed.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 (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; } }

/* 六项能力以可见的课堂实践补足抽象能力表述。 */
.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.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; } }

/* 真实赛事瞬间经卡通化后，以骑士轮廓呈现学员的共同成长。 */
.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.png?v=20260808-mask-tight-v1") center / contain no-repeat; mask:url("photo-mosaic/final/knight-mosaic-mask.png?v=20260808-mask-tight-v1") center / contain no-repeat; }
.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.jpg?v=20260808-strong-cartoon-v1"); 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; } }
