@font-face{font-family:"Cormorant Garamond";src:url("./assets/fonts/cormorant-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("./assets/fonts/cormorant-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("./assets/fonts/cormorant-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("./assets/fonts/cormorant-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("./assets/fonts/cormorant-500-italic.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url("./assets/fonts/inter-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("./assets/fonts/inter-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("./assets/fonts/inter-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root{
  --paper:#F2EEE4;--paper-2:#FAF7F0;--stone:#E7DDC9;--ink:#1C1A15;--ink-soft:#403C33;--muted:#76705f;
  --line:#D8D1C1;--accent:#A47C46;--accent-deep:#866134;--dark:#15201F;--on-dark:#ECE6D8;--on-dark-mute:rgba(236,230,216,.62);
  --serif:"Cormorant Garamond","Songti SC","STSong","SimSun","Source Han Serif SC","Noto Serif SC",Georgia,serif;
  --sans:"Inter","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",-apple-system,BlinkMacSystemFont,sans-serif;
  --maxw:1240px;--gut:clamp(22px,5vw,64px);--pad:clamp(46px,5vw,82px);--ease:cubic-bezier(.22,.61,.21,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}table{border-collapse:collapse;width:100%}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.section{padding-block:var(--pad)}
.it{font-style:italic}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:.01em;color:var(--ink)}
.accent{color:var(--accent)}
.sec-top{display:flex;align-items:baseline;gap:16px;border-top:1px solid var(--line);padding-top:18px;margin-bottom:clamp(22px,3vw,38px)}
.sec-top .no{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--accent)}
.sec-top .lbl{font-size:.72rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.sec-top h2{margin-left:auto;font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:600;text-align:right;max-width:60%}
/* header */
.hdr{position:sticky;top:0;z-index:100;background:rgba(242,238,228,.86);backdrop-filter:blur(16px) saturate(1.1);box-shadow:0 1px 0 var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:13px}
.brand img{height:34px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:30px}
.nav a{font-size:.9rem;font-weight:500;color:var(--ink-soft);position:relative;padding-block:4px;transition:color .3s}
.nav a.on{color:var(--accent)}
.nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--accent);transition:width .3s var(--ease)}
.nav a:hover{color:var(--accent)}.nav a:hover::after{width:100%}.nav a.on::after{width:100%}
.hdr-cta{font-size:.86rem;font-weight:500;letter-spacing:.03em;padding:11px 20px;border:1px solid var(--ink);color:var(--ink);border-radius:2px;transition:all .3s var(--ease)}
.hdr-cta:hover{background:var(--accent);border-color:var(--accent);color:#fff}
@media(max-width:860px){.nav{display:none}}
/* breadcrumb */
.bc{padding-top:16px;font-size:.82rem;color:var(--muted)}
.bc a:hover{color:var(--accent)}
/* hero */
.chero{background:var(--dark);color:var(--on-dark);padding-block:clamp(40px,5vw,72px) clamp(48px,6vw,84px);position:relative;overflow:hidden}
.chero::after{content:"";position:absolute;width:46vw;height:46vw;border-radius:50%;background:radial-gradient(circle,rgba(164,124,70,.16),transparent 64%);top:-22vw;right:-10vw;pointer-events:none}
.chero .wrap{position:relative}
.chero .bc{color:var(--on-dark-mute)}.chero .bc a{color:var(--on-dark-mute)}.chero .bc a:hover{color:#e0bd86}
.chero .eg{font-size:.74rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#d9b884;display:block;margin:26px 0 16px}
.chero h1{font-family:var(--serif);font-weight:500;color:#fff;font-size:clamp(2.6rem,6vw,5rem);line-height:1.02}
.chero h1 .en{font-style:italic;color:#e0bd86;font-size:.5em;display:inline-block;margin-left:.3em}
.chero .lead{margin-top:20px;max-width:52ch;color:rgba(255,255,255,.84);font-size:1.06rem;line-height:1.7}
.chero .meta{margin-top:26px;display:flex;gap:0;flex-wrap:wrap}
.chero .meta .m{padding-right:30px;margin-right:30px;border-right:1px solid rgba(236,230,216,.2)}
.chero .meta .m:last-child{border-right:none}
.chero .meta .m b{display:block;font-size:.82rem;color:#e0bd86;font-weight:600;letter-spacing:.04em;margin-bottom:4px}
.chero .meta .m span{font-size:.9rem;color:rgba(255,255,255,.8)}
.chero .acts{margin-top:32px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;gap:10px;font-size:.92rem;font-weight:500;padding:14px 28px;border-radius:2px;transition:all .3s var(--ease)}
.btn-gold{background:var(--accent);color:#fff}.btn-gold:hover{background:var(--accent-deep)}
.btn-line-d{border:1px solid rgba(236,230,216,.4);color:var(--on-dark)}.btn-line-d:hover{background:var(--on-dark);color:var(--dark)}
.chero .stats{margin-top:clamp(34px,4vw,52px);display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(236,230,216,.2)}
.chero .stats .s{padding:20px 16px 0 0}
.chero .stats .s b{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,3vw,2.5rem);color:#fff;display:flex;align-items:baseline;gap:2px}
.chero .stats .s b .u{font-size:.5em;color:#e0bd86;font-style:italic}
.chero .stats .s span{font-size:.8rem;color:var(--on-dark-mute);margin-top:6px;display:block}
@media(max-width:680px){.chero .stats{grid-template-columns:1fr 1fr;gap:20px 0}}
/* overview */
.ov-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,48px)}
.ov-grid .ov{border-top:2px solid var(--accent);padding-top:18px}
.ov-grid h3{font-family:var(--serif);font-size:1.4rem;font-weight:600;margin-bottom:10px}
.ov-grid p{color:var(--ink-soft);font-size:.98rem;line-height:1.8}
@media(max-width:680px){.ov-grid{grid-template-columns:1fr;gap:26px}}
/* class types table */
.classes{background:var(--stone)}
.ctab{border:1px solid var(--line);background:var(--paper-2)}
.ctab .row{display:grid;grid-template-columns:1.4fr .8fr .8fr 1.4fr;gap:16px;padding:16px clamp(16px,2vw,26px);border-bottom:1px solid var(--line);align-items:center}
.ctab .row:last-child{border-bottom:none}
.ctab .row.head{background:var(--stone);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ctab .row .cn{font-family:var(--serif);font-size:1.12rem;font-weight:600;color:var(--ink)}
.ctab .row .cn small{display:block;font-family:var(--sans);font-size:.72rem;font-weight:500;color:var(--accent);letter-spacing:.04em;margin-top:2px}
.ctab .row .v{font-size:.92rem;color:var(--ink-soft)}
.ctab .row .v.tg{font-family:var(--serif);font-style:italic;color:var(--accent)}
@media(max-width:760px){.ctab .row{grid-template-columns:1fr 1fr;gap:6px 16px}.ctab .row.head{display:none}.ctab .row .cn{grid-column:1/-1}.ctab .row .v::before{content:attr(data-l)" ";color:var(--muted);font-size:.7rem}}
/* method */
.method .m-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.method .mc{padding:clamp(22px,2.6vw,32px);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.method .mc .mn{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--accent);display:block;margin-bottom:10px}
.method .mc h3{font-family:var(--serif);font-size:1.24rem;font-weight:600;margin-bottom:8px}
.method .mc p{color:var(--muted);font-size:.92rem;line-height:1.7}
.loop-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:clamp(24px,3vw,38px);padding:clamp(20px,2.4vw,30px);background:var(--paper-2);border:1px solid var(--line)}
.loop-line .lstep{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--ink)}
.loop-line .ar{color:var(--accent);font-size:1.1rem}
.loop-line .ln{font-size:.85rem;color:var(--muted);margin-left:auto}
@media(max-width:680px){.method .m-grid{grid-template-columns:1fr}.loop-line .ln{margin-left:0;flex-basis:100%;margin-top:8px}}
/* pillars + material */
.mat-row{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,4vw,60px);align-items:center}
.pillars4{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.pillars4 .p{padding:20px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.pillars4 .p b{font-family:var(--serif);font-size:1.7rem;font-weight:500;color:var(--ink);display:block}
.pillars4 .p span{font-size:.86rem;color:var(--muted);margin-top:4px;display:block}
.mat-pic{aspect-ratio:3/4;overflow:hidden;background:#f4efe6;border-radius:3px;box-shadow:0 24px 50px rgba(20,30,25,.14)}
.mat-pic img{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.mat-row{grid-template-columns:1fr;gap:30px}.mat-pic{max-width:300px}}
/* benchmark dark */
.bench{background:var(--dark);color:var(--on-dark)}
.bench .sec-top{border-color:rgba(236,230,216,.2)}.bench .sec-top .lbl{color:var(--on-dark-mute)}.bench .sec-top h2{color:#fff}
.bench .bgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px)}
.bench .bc2{border-top:1px solid rgba(236,230,216,.2);padding-top:18px}
.bench .bc2 b{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:500;color:#e0bd86;display:block}
.bench .bc2 h3{color:#fff;font-size:1.2rem;font-weight:600;margin:8px 0 6px}
.bench .bc2 p{color:var(--on-dark-mute);font-size:.92rem;line-height:1.65}
@media(max-width:680px){.bench .bgrid{grid-template-columns:1fr;gap:24px}}
/* faq */
.faq .it-q{border-top:1px solid var(--line)}.faq .it-q:last-child{border-bottom:1px solid var(--line)}
.faq .q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;text-align:left;font-family:var(--serif);font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:500;color:var(--ink)}
.faq .q .pm{flex-shrink:0;width:22px;height:22px;position:relative}
.faq .q .pm::before,.faq .q .pm::after{content:"";position:absolute;background:var(--accent);transition:transform .3s var(--ease)}
.faq .q .pm::before{top:10px;left:0;width:22px;height:1.5px}.faq .q .pm::after{top:0;left:10px;width:1.5px;height:22px}
.faq .it-q.open .q .pm::after{transform:scaleY(0)}
.faq .a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq .a .in{padding:0 0 22px;color:var(--muted);font-size:.96rem;line-height:1.8;max-width:64ch}
/* cta band */
.cband{background:var(--paper-2);text-align:center;border-top:1px solid var(--line)}
.cband h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,3.2vw,2.6rem);margin-bottom:14px}
.cband h2 .it{font-style:italic;color:var(--accent)}
.cband p{color:var(--muted);max-width:46ch;margin:0 auto 26px;font-size:1.02rem}
/* footer */
.ft{background:var(--dark);color:var(--on-dark-mute);padding-block:clamp(44px,5vw,64px) 28px}
.ft-in{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.ft img{height:30px;filter:brightness(0) invert(1);opacity:.9}
.ft .links a{margin-left:22px;font-size:.88rem}.ft .links a:hover{color:#e0bd86}
.ft .cr{width:100%;margin-top:24px;padding-top:20px;border-top:1px solid rgba(236,230,216,.12);font-size:.78rem;color:rgba(236,230,216,.42);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.rv{opacity:1;transform:none}}

/* 三条升学路线（青少页用，可复用） */
.routes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.routes .rt{padding:clamp(22px,2.4vw,32px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.routes .rt .rn{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--accent);margin-bottom:10px}
.routes .rt h3{font-family:var(--serif);font-size:1.34rem;font-weight:600;margin-bottom:12px}
.routes .rt .pth{font-size:.86rem;color:var(--ink-soft);line-height:1.75;margin-bottom:14px;flex:1}
.routes .rt .exit{border-top:1px dashed var(--line);padding-top:12px}
.routes .rt .exit .el{font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
.routes .rt .exit b{font-family:var(--serif);font-size:1rem;color:var(--ink);font-weight:600;line-height:1.45}
@media(max-width:760px){.routes{grid-template-columns:1fr}}
/* 六维 band */
.sixd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:clamp(22px,2.6vw,34px);padding:clamp(18px,2.2vw,26px);background:var(--paper-2);border:1px solid var(--line)}
.sixd .sx{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--ink)}
.sixd .sep{color:var(--accent)}
.sixd .lab{font-size:.82rem;color:var(--muted);margin-left:auto}
@media(max-width:680px){.sixd .lab{margin-left:0;flex-basis:100%;margin-top:6px}}

/* 课程设置 · 教材体系（乐吉克 课设表，英语线 + 数学线） */
.kz{margin-top:8px}
.kz-cat{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--accent-deep);margin:30px 0 4px}
.kz-cat:first-child{margin-top:0}
.kz-sys{margin-top:22px}
.kz-sys h4{font-family:var(--serif);font-weight:600;font-size:1.22rem;color:var(--ink);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.kz-sys h4 span{font-family:var(--sans);font-size:.78rem;font-weight:500;color:var(--muted);letter-spacing:.02em}
.kz-rows{border:1px solid var(--line-soft);border-radius:4px;overflow:hidden}
.kz-row{display:grid;grid-template-columns:1.3fr 2.5fr .8fr .9fr;gap:14px;padding:11px 16px;align-items:center;border-top:1px solid var(--line-soft)}
.kz-row:first-child{border-top:none}
.kz-row .kc{font-weight:600;color:var(--ink)}
.kz-row .km{color:var(--ink-soft);font-size:.9rem;line-height:1.5}
.kz-row .kh{color:var(--muted);font-size:.85rem;white-space:nowrap}
.kz-row .ke{justify-self:start;font-size:.76rem;font-weight:600;color:var(--accent-deep);background:rgba(164,124,70,.1);padding:2px 10px;border-radius:999px;white-space:nowrap}
.kz-row.head{background:var(--dark);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-mute)}
.kz-row.head span{color:var(--on-dark-mute);font-weight:600}
@media(max-width:760px){
  .kz-row{grid-template-columns:1fr auto;gap:4px 12px;padding:12px 14px}
  .kz-row .kc{grid-column:1}
  .kz-row .ke{grid-column:2;grid-row:1;justify-self:end}
  .kz-row .km{grid-column:1/-1;order:3}
  .kz-row .kh{grid-column:1/-1;order:4}
  .kz-row.head{display:none}
}
