/* Designer CSS owns all layout, typography, colors and responsive breakpoints.
   These rules only connect the dynamic content and accessible slider. */
/* Fixed K12 trial bar. JS measures actual height for footer/chat clearance. */
html.k12-has-trial{scroll-padding-bottom:calc(var(--k12-trial-height,128px) + 16px)}
.k12-trial-spacer{clear:both;height:var(--k12-trial-height,128px)}
.k12-trial{position:fixed;inset:auto 0 0;z-index:900;max-height:calc(100dvh - 16px);overflow-y:auto;padding:13px 0 calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid #efdddf;background:#fff;box-shadow:0 -4px 24px #5f172412}
.k12-trial>.width1080{width:calc(100% - 40px);max-width:760px}
.k12-trial .k12-trial-form{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:14px;margin:0;padding:0;min-width:0;border:0;border-radius:0;background:none;color:#282c33;text-align:left;box-shadow:none}
.k12-trial .k12-trial-intro{display:block;margin:0;min-width:0}
.k12-trial .k12-trial-eyebrow,.k12-trial .k12-trial-tag{display:none}
.k12-trial h2{margin:0;color:var(--brand,#ea4245);font-size:22px;font-weight:700;line-height:1.45;letter-spacing:.3px}
.k12-trial .k12-trial-description{margin:4px 0 0;color:#90939a;font-size:11px;line-height:1.6}
.k12-trial .lead-fields{display:block;width:100%;min-width:0;margin:0;padding:0;border:0}
.k12-trial .k12-trial-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1.4fr) 100px;align-items:start;gap:8px}
.k12-trial .k12-trial-field{min-width:0}
.k12-trial .k12-trial-field>label,.k12-trial .lead-captcha .lead-captcha-label,.k12-trial .lead-captcha .lead-captcha-help,.k12-trial .k12-trial-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.k12-trial .k12-trial-field>input,.k12-trial .lead-captcha .lead-captcha-input{display:block;box-sizing:border-box;min-width:0;width:100%;height:42px;margin:0;padding:0 12px;border:1px solid #e4e5e9;border-radius:8px;background:#f8f9fb;color:#30333a;font:inherit;font-size:13px;line-height:normal;box-shadow:none;transition:background .15s,border-color .15s,box-shadow .15s}
.k12-trial input::placeholder{color:#9b9ba2;opacity:1}
.k12-trial .k12-trial-field>input:focus,.k12-trial .lead-captcha .lead-captcha-input:focus{outline:none;border-color:var(--brand,#ea4245);background:#fff;box-shadow:0 0 0 3px #ea42450d}
.k12-trial .k12-trial-form .lead-captcha{display:grid;grid-template-columns:minmax(0,1fr) 82px;align-items:start;gap:0 6px;min-width:0;margin:0}
.k12-trial .lead-captcha .lead-captcha-image{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:42px;min-width:0;margin:0;padding:0;overflow:hidden;border:1px solid #e4e5e9;border-radius:8px;background:#faf1f2;color:#a45056;font:inherit;font-size:11px;cursor:pointer}
.k12-trial .lead-captcha .lead-captcha-image:hover{border-color:var(--brand,#ea4245)}
.k12-trial .lead-submit{display:flex;align-items:center;justify-content:center;width:100%;height:42px;margin:0;padding:0 16px;border:0;border-radius:8px;background:var(--brand,#ea4245);box-shadow:0 3px 8px #ea424524;color:#fff;font:inherit;font-size:15px;font-weight:600;letter-spacing:.5px;white-space:nowrap;cursor:pointer;transition:background .15s,box-shadow .15s}
.k12-trial .lead-submit:hover{background:var(--brand-dark,#d9363e);box-shadow:0 4px 10px #ea424534}
.k12-trial .lead-submit:disabled{opacity:.65;cursor:wait;font-size:12px}
.k12-trial .lead-feedback{margin:0;color:#bd2838;font-size:12px;line-height:1.6}
.k12-trial .lead-feedback:not(:empty){margin-top:6px}
.k12-trial .lead-success{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center;padding:4px 0}
.k12-trial .k12-trial-check{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff0f1;color:var(--brand,#ea4245);font-size:23px}
.k12-trial .lead-success h3{margin:0;font-size:20px;color:#292d34}
.k12-trial .lead-success p{margin:0;color:#777;font-size:13px}
.k12-trial .lead-again{margin:0;padding:7px 16px;border:1px solid #e9c9cc;border-radius:6px;background:#fff;color:var(--brand,#ea4245);font:inherit;font-size:12px;cursor:pointer}
.k12-trial [hidden]{display:none!important}
.k12-trial :is(button,input):focus-visible{outline:2px solid var(--brand,#ea4245);outline-offset:2px}
.k12-trial .k12-trial-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.k12-trial .k12-trial-noscript{grid-column:1/-1;margin:6px 0 0;font-size:12px;color:#a13d46}
/* Current shared chat provider (XChat). Scope to its outer floating elements;
   keep message iframes and the full-screen image viewer under provider control.
   Important overrides also win over the provider's bottom animation/inline CSS. */
html.k12-has-trial #liaotianItalkShow{bottom:calc(var(--k12-trial-height,128px) + 20px)!important}
html.k12-has-trial #liaotianItalkShow2{bottom:calc(var(--k12-trial-height,128px) + 90px)!important}
html.k12-has-trial #newMsgContentItalk{bottom:calc(var(--k12-trial-height,128px) + 66px)!important}
html.k12-has-trial .liaotianItalkFast{bottom:calc(var(--k12-trial-height,128px) + 90px)!important}
html.k12-has-trial .liaotianItalkFast-content{bottom:calc(var(--k12-trial-height,128px) + 142px)!important;max-height:min(40dvh,max(0px,calc(100dvh - var(--k12-trial-height,128px) - 158px)))!important;overflow:auto!important}
html.k12-has-trial .liaotiancontent-italk{top:auto!important;bottom:calc(var(--k12-trial-height,128px) + 16px)!important;height:576px!important;max-height:calc(100dvh - var(--k12-trial-height,128px) - 32px)!important}
/* A single form is inline on desktop and moved into the native dialog on mobile. */
.k12-trial-launch,.k12-trial-close{display:none}
.k12-trial-dialog:not([open]){display:none}
.k12-trial-dialog{position:fixed;inset:auto 0 auto;top:calc(var(--k12-viewport-top,0px) + var(--k12-viewport-height,100dvh)/2);transform:translateY(-50%);box-sizing:border-box;width:calc(100% - 32px);max-width:380px;max-height:calc(var(--k12-viewport-height,100dvh) - 32px);margin:0 auto;padding:22px;border:0;border-radius:18px;overflow:auto;overscroll-behavior:contain;background:#fff;color:#282c33;box-shadow:0 16px 60px #0003;pointer-events:auto}
.k12-trial-dialog::backdrop{background:#10162280}
html.k12-trial-is-open{overflow:hidden}
@media(max-width:767px){
 .k12-trial{max-height:none;padding:8px 0 calc(8px + env(safe-area-inset-bottom,0px));overflow:visible;border:0;background:transparent;box-shadow:none;pointer-events:none}
 .k12-trial>.k12-trial-panel{display:none}
 .k12-trial-launch{display:flex;align-items:center;justify-content:center;width:calc(100% - 160px);max-width:160px;height:55px;margin:0 auto;pointer-events:auto}
 .k12-trial-open{display:block;box-sizing:border-box;width:100%;height:40px;padding:0 16px;border:0;border-radius:22px;background:var(--brand,#ea4245);box-shadow:0 4px 16px #be233840;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
 .k12-trial-dialog .k12-trial-panel{display:block;width:100%;max-width:none;margin:0}
 .k12-trial-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:#f5f6f8;color:#737783;font:inherit;font-size:24px;line-height:1;cursor:pointer}
 .k12-trial .k12-trial-form{display:block}
 .k12-trial .k12-trial-intro{margin:0 28px 18px 0}
 .k12-trial h2{font-size:21px;line-height:1.4}
 .k12-trial .k12-trial-description{display:block;font-size:12px;margin-top:5px}
 .k12-trial .k12-trial-row{grid-template-columns:minmax(0,1fr);gap:12px}
 .k12-trial .k12-trial-field>input,.k12-trial .lead-captcha .lead-captcha-input{height:46px;font-size:16px;padding:0 12px}
 .k12-trial .k12-trial-form .lead-captcha{grid-template-columns:minmax(0,1fr) 100px;margin:0;gap:0 8px}
 .k12-trial .lead-captcha .lead-captcha-image{height:46px;font-size:12px}
 .k12-trial .lead-submit{height:46px;font-size:16px}
 .k12-trial .lead-success{display:grid;grid-template-columns:36px minmax(0,1fr);gap:7px 10px;text-align:left;padding:18px 0 4px}
 .k12-trial .lead-success h3{font-size:18px}
 .k12-trial .lead-success p{grid-column:2;font-size:13px}
 .k12-trial .lead-again{grid-column:2;justify-self:start}
 .k12-trial .k12-trial-check{grid-row:1/3}
 .k12-trial-spacer{height:var(--k12-trial-height,71px)}
}
@media(max-width:767px){
 /* All three controls share the bottom row, with a smaller centered trial CTA.
    The 55px launch slot aligns its center with the provider's 55px icons. */
 html.k12-has-trial #liaotianItalkShow{left:auto!important;right:12px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important}
 html.k12-has-trial #liaotianItalkShow2{left:12px!important;right:auto!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important}
 html.k12-has-trial #newMsgContentItalk{bottom:calc(var(--k12-trial-height,71px) + 12px)!important}
 html.k12-has-trial .liaotiancontent-italk{top:16px!important;bottom:calc(var(--k12-trial-height,60px) + 16px)!important;height:auto!important}
}
@media(min-width:768px) and (max-height:500px){.k12-trial{max-height:max(80px,calc(100dvh - 240px))}}
.k12-banner{width:100%;max-width:none;height:clamp(260px,28vw,480px);aspect-ratio:auto;margin:0;background:#f5f7f9}
.k12-banner>ul{display:block;width:100%}
.k12-banner li{position:absolute;top:0;left:0}
.k12-banner li[hidden]{display:none!important}
.k12-banner>ul>li{display:block;height:100%}
.k12-banner .img-btn-list{display:flex;align-items:center;justify-content:center}
.k12-banner>ul img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.k12-banner .pre_next{width:calc(100% - 64px);max-width:1440px}
/* Wide desktop banners lose their peripheral background on phones, rather than
   shrinking the central headline and portrait into an unreadable thin strip. */
@media(max-width:767px){
 .k12-banner{height:auto;aspect-ratio:auto;max-height:none;padding:0;isolation:isolate}
 .k12-banner>ul{position:relative;inset:auto;height:auto!important;aspect-ratio:var(--k12-banner-frame-ratio,2.15);margin:0}
 .k12-banner>ul>li::before{content:'';position:absolute;inset:-16px;background-image:var(--k12-slide-image);background-size:cover;background-position:center;filter:blur(16px);pointer-events:none}
 .k12-banner>ul img{position:absolute;top:50%;left:0;transform:translateY(-50%);width:100%;height:calc(100vw / var(--k12-banner-ratio,2.6));max-height:100%;object-fit:cover;object-position:center}
 .k12-banner .pre_next{width:calc(100% - 28px)}
}
.k12-news-list-text p{margin-top:5px;margin-bottom:15px}
.k12-brand{font-size:32px;color:var(--brand)}
.k12-image-placeholder{display:block;width:100%;aspect-ratio:3/2;background:#f5f7f9}
.k12-empty{padding:24px 0;color:#888}
[role=tab],[role=button]{cursor:pointer}
[role=tab]:focus-visible,[role=button]:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(max-width:767px),(hover:none) and (pointer:coarse){
 .product-wrap .product[data-course-label]::before{content:attr(data-course-label)}
}
.k12-news-navigation{padding:16px 0;color:#666;font-size:14px;overflow-wrap:anywhere}
.k12-news-navigation p{margin:0 0 8px;line-height:1.8}
.k12-news-navigation a{padding-top:0}
.k12-news-navigation span{color:#999}
.k12-related-news{margin-top:20px;border-top:1px solid var(--surface-border);padding-top:20px}
.k12-related-news h3{font-size:20px;line-height:28px;margin:0 0 12px}
.k12-news-column-more{padding:24px 0 4px;text-align:center;color:#666;font-size:16px}
.k12-news-column-more a{color:var(--brand);margin:0 6px}
.k12-news-column-more a:hover{text-decoration:underline}
/* Center header icons independently of text baselines and legacy floats. */
@media(min-width:768px){
 .top > .right{display:flex;align-items:center;gap:6px}
 .top .top_tel{float:none;flex:0 0 22px;width:22px;height:22px;padding:0;margin:0;background-position:0 -248px}
 #head .tel{display:flex;align-items:center}
 #head .icon_tel{float:none;flex:0 0 28px;margin:0 4px 0 0}
}
/* Make generated body links identifiable without changing template navigation. */
.k12-body a[data-auto-internal-link]{display:inline;color:var(--brand,#ea4245);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.k12-body a[data-auto-internal-link]:hover{color:#c62e36;text-decoration-thickness:2px}
.k12-body a[data-auto-internal-link]:focus-visible{outline:2px solid var(--brand,#ea4245);outline-offset:3px;border-radius:2px}
/* The template's .page flex container wrapped a block ul, stacking its li items. */
.k12-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:30px 0 8px;padding:0;clear:both;font-size:14px;line-height:1.4}
.k12-pagination>ul{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.k12-pagination>ul>li{display:block;float:none;width:auto;margin:0;padding:0;border:0;list-style:none}
.k12-pagination li>a,.k12-pagination li>span{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 13px;border:1px solid #e2e4e8;border-radius:6px;background:#fff;color:#555;text-decoration:none;white-space:nowrap;transition:color .15s,border-color .15s,background-color .15s}
.k12-pagination li>a:hover{color:var(--brand,#ea4245);border-color:var(--brand,#ea4245);background:#fff5f5}
.k12-pagination li>a:focus-visible{outline:2px solid var(--brand,#ea4245);outline-offset:3px}
.k12-pagination li>.is-current{color:#fff;background:var(--brand,#ea4245);border-color:var(--brand,#ea4245);font-weight:600}
.k12-pagination li>.is-disabled{color:#b7bbc2;background:#f7f8fa;border-color:#eceef1;cursor:default}
.k12-pagination .k12-pagination-gap{min-width:20px;text-align:center;color:#999}
.k12-pagination-total{color:#888;white-space:nowrap}
@media(max-width:767px){
 .k12-pagination{flex-wrap:nowrap;gap:8px;margin:18px 0 2px;min-width:0;font-size:12px}
 .k12-pagination>ul{flex:0 1 auto;flex-wrap:nowrap;gap:4px;margin:0}
 .k12-pagination li>a,.k12-pagination li>span{min-width:28px;height:32px;padding:0 9px;border-radius:6px;font-size:12px;line-height:1}
 .k12-pagination-total{flex:0 0 auto;margin:0;color:#969ca5;font-size:12px;line-height:32px;text-align:left}
 .k12-pagination-condensed .k12-page-number:not(.is-active),.k12-pagination .k12-pagination-gap{display:none}
 .k12-pagination li>.is-disabled{border-color:#edf0f3;background:#fafbfc;color:#b8bec7}
}
/* Campus cards fill their content column instead of using legacy 173/175px widths. */
#campus_detail .recommend>.clearfix,#campus_detail .imgs>.clearfix{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;margin-top:16px}
#campus_detail .recommend>.clearfix::after,#campus_detail .imgs>.clearfix::after{display:none}
#campus_detail .recommend>.clearfix>a{float:none;width:100%;min-width:0;margin:0;box-sizing:border-box;display:flex;flex-direction:column;background:#fff}
#campus_detail .recommend img,#campus_detail .recommend .k12-image-placeholder,#campus_detail .imgs>.clearfix>img{display:block;float:none;width:100%;max-width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0;box-sizing:border-box}
#campus_detail .recommend h3{margin:0;padding:10px 8px;font-size:16px;line-height:1.5!important;overflow-wrap:anywhere}
@media(max-width:767px){#campus_detail .recommend>.clearfix,#campus_detail .imgs>.clearfix{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#campus_detail .recommend h3{font-size:14px;padding:8px 6px}}
/* Article typography: scoped to the body, excluding page titles and recommendations. */
.news_para.k12-body{font-size:16px;line-height:1.95;color:#454b54;overflow-wrap:anywhere}
.news_para.k12-body div{line-height:inherit;text-indent:0}
.news_para.k12-body p{margin:0 0 18px;line-height:inherit;text-indent:2em}
.news_para.k12-body :is(h1,h2,h3,h4,h5,h6){text-align:left;text-indent:0;color:#252a32;font-weight:700;line-height:1.5;clear:both;scroll-margin-top:24px}
.news_para.k12-body h1{font-size:28px;margin:36px 0 18px}
.news_para.k12-body h2{font-size:22px;font-weight:600;line-height:1.55;color:#343b46;margin:32px 0 16px;padding:0 0 10px;border:0;border-bottom:1px solid #e9ecf0;border-radius:0;background:none}
.news_para.k12-body h2::before,.news_para.k12-body h2::after{content:none;display:none}
.news_para.k12-body h2 :is(strong,b){font-weight:inherit}
.news_xq>.k12-article-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 20px;width:100%;margin:14px 0 24px;padding:0 0 16px;border-bottom:1px solid #edf0f3;color:#8a929e;font-size:12px;line-height:20px}
.news_xq>.k12-article-meta>.date{display:inline-flex;align-items:center;gap:6px;float:none;width:auto;height:auto;margin:0;padding:0;background:none;color:inherit;font-size:inherit;line-height:inherit;font-variant-numeric:tabular-nums}
.news_xq>.k12-article-meta>.left{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;float:none;min-width:0;margin:0;padding:0;color:inherit;line-height:inherit}
.news_xq>.k12-article-meta>.left>span{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:0;color:inherit;font-size:inherit;line-height:inherit;overflow-wrap:anywhere}
.news_xq>.k12-article-meta span{margin:0}
.k12-article-meta .k12-meta-icon{display:block;flex:0 0 14px;width:14px;height:14px;color:#98a1ae}
.news_xq>.k12-article-meta>.date,.news_xq>.k12-article-meta>.left>span{height:20px;line-height:20px}
.k12-article-meta time,.k12-article-meta>.left>span>span:not(.k12-meta-label){display:block;line-height:20px}
.k12-article-meta .k12-meta-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.news_xq>.k12-article-meta>.left:empty,.news_xq>.k12-article-meta>.date:empty{display:none}
@media(max-width:767px){
 .news_xq>.k12-article-meta{justify-content:flex-start;align-items:center;flex-wrap:nowrap;gap:12px;margin:12px 0 22px;padding:0 0 14px;border:0;border-bottom:1px solid #edf0f3;border-radius:0;background:transparent;text-align:left;font-size:12px;line-height:20px}
 .news_xq>.k12-article-meta>.date{flex:0 0 auto;gap:5px;font-size:12px;line-height:20px;white-space:nowrap}
 .k12-article-meta time{font-size:inherit;line-height:20px}
 .news_xq>.k12-article-meta>.left{display:contents;font-size:12px;line-height:20px}
 .news_xq>.k12-article-meta>.left>span{min-width:0;gap:5px;white-space:nowrap}
 .news_xq>.k12-article-meta .k12-meta-author{flex:0 1 auto;max-width:28%}
 .news_xq>.k12-article-meta .k12-meta-source{flex:0 1 auto;max-width:100%}
 .news_xq>.k12-article-meta>.left>span>span:not(.k12-meta-label){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(max-width:359px){.news_xq>.k12-article-meta{gap:8px;font-size:11px}.news_xq>.k12-article-meta>.date,.news_xq>.k12-article-meta>.left{font-size:11px}}
.news_para.k12-body h3{font-size:20px;margin:28px 0 12px;padding:0 0 10px;border-bottom:1px solid #eceef1}
.news_para.k12-body h4{font-size:18px;margin:24px 0 10px}
.news_para.k12-body :is(h5,h6){font-size:16px;margin:20px 0 8px}
.news_para.k12-body>:is(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}
.news_para.k12-body :is(h1,h2,h3,h4,h5,h6)+:is(h2,h3,h4,h5,h6){margin-top:18px}
.news_para.k12-body ul,.news_para.k12-body ol{margin:16px 0 22px;padding-left:1.75em;text-indent:0;list-style-position:outside}
.news_para.k12-body ul{list-style-type:disc}.news_para.k12-body ol{list-style-type:decimal}
.news_para.k12-body li{display:list-item;float:none;width:auto;margin:8px 0;padding:0;line-height:1.85;text-indent:0;list-style:inherit}
.news_para.k12-body li::marker{color:var(--brand,#ea4245);font-weight:600}
.news_para.k12-body li p{margin:6px 0;text-indent:0}.news_para.k12-body li :is(ul,ol){margin:8px 0}
.news_para.k12-body blockquote{margin:24px 0;padding:16px 20px;border-left:3px solid #cbd0d8;border-radius:0 6px 6px 0;background:#f7f8fa;color:#626976;text-indent:0}
.news_para.k12-body blockquote p{margin:0 0 8px;text-indent:0}.news_para.k12-body blockquote>:last-child{margin-bottom:0}
.news_para.k12-body table{display:block;width:100%;max-width:100%;margin:24px 0;border-collapse:collapse;overflow-x:auto;text-indent:0;font-size:15px;line-height:1.7}
.news_para.k12-body :is(th,td){padding:12px 16px;border:1px solid #e2e5eb;vertical-align:top;text-align:left;min-width:100px}
.news_para.k12-body th{background:#fff2f3;color:#73333a;font-weight:600}.news_para.k12-body tbody tr:nth-child(even){background:#fafbfc}
.news_para.k12-body :is(th,td) p{margin:0;text-indent:0}.news_para.k12-body caption{text-align:left;padding:0 0 10px;color:#737b87}
.news_para.k12-body img{display:block;max-width:100%;height:auto;margin:24px auto;border-radius:8px}
.news_para.k12-body figure{margin:24px 0;text-indent:0}.news_para.k12-body figure img{margin:0 auto 10px}.news_para.k12-body figcaption{text-align:center;font-size:14px;line-height:1.6;color:#858b94}
.news_para.k12-body hr{border:0;border-top:1px solid #e5e7eb;margin:30px 0}
.news_para.k12-body pre{margin:22px 0;padding:16px;overflow-x:auto;border-radius:6px;background:#f5f6f8;line-height:1.65;text-indent:0;white-space:pre}
.news_para.k12-body code{font-family:SFMono-Regular,Consolas,monospace;font-size:.9em;background:#f5f6f8;border-radius:3px;padding:2px 4px}.news_para.k12-body pre code{padding:0;background:none}
@media(max-width:767px){.news_para.k12-body{font-size:16px;line-height:1.9}.news_para.k12-body h1{font-size:25px}.news_para.k12-body h2{font-size:19px;margin:26px 0 14px;padding:0 0 9px}.news_para.k12-body h3{font-size:19px;margin-top:24px}.news_para.k12-body h4{font-size:17px}.news_para.k12-body :is(th,td){padding:10px 12px}.news_para.k12-body blockquote{padding:14px 16px}}

/* Shared related-content modules: ordered selections with compact, equal-width cards. */
.k12-recommendation-sidebar .nytitle{margin-bottom:16px}
.k12-recommendation-sidebar .nytitle .zuo{float:none;font-size:20px;color:#333}
.k12-recommendation-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;margin:18px 0;align-items:start}
.k12-recommendation-row:last-child{margin-bottom:0}
.k12-recommendation-image img,.k12-recommendation-image .k12-image-placeholder{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:5px;display:block}
.k12-recommendation-row>div>a{display:block;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.k12-recommendation-row>div>.k12-recommendation-column{font-size:12px;color:#999;margin-top:6px}
.k12-recommendation-bottom{margin:30px 0 20px;clear:both}
.k12-recommendation-bottom>h3{font-size:22px;line-height:1.4;border-bottom:1px solid #ddd;padding:0 0 12px;margin-bottom:18px;color:#333}
.k12-recommendation-bottom>h3:before{content:'';display:inline-block;width:5px;height:22px;background:#ef3d44;border-radius:3px;vertical-align:-3px;margin-right:10px}
.k12-recommendation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.k12-recommendation-grid>a{display:block;border:1px solid #eee;border-radius:6px;overflow:hidden;text-align:center}
.k12-recommendation-grid img,.k12-recommendation-grid .k12-image-placeholder{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.k12-recommendation-grid h4{font-size:16px;line-height:1.6;padding:8px;margin:0;overflow-wrap:anywhere}
@media(max-width:767px){
 .k12-recommendation-bottom{margin:24px 0 12px}
 .k12-recommendation-bottom>h3{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid #edf0f3;color:#414955;font-size:18px;font-weight:500;line-height:26px}
 .k12-recommendation-bottom>h3::before{flex:0 0 3px;width:3px;height:15px;margin:0;vertical-align:initial;border-radius:2px}
 .k12-recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .k12-recommendation-grid>a{text-align:left;border-color:#eceef2;border-radius:8px}
 .k12-recommendation-grid h4{padding:9px 10px;margin:0;color:#505967;font-size:14px;font-weight:400;line-height:1.6}
 .k12-recommendation-sidebar .nytitle .zuo{color:#414955;font-size:18px;font-weight:500;line-height:26px}
 .k12-recommendation-row>div>a{color:#505967;font-size:14px;font-weight:400;line-height:1.6}
 #campus_detail .recommend h3{color:#505967;font-size:14px;font-weight:400;line-height:1.6!important}
}

/* Homepage campus list grows by rows, without fixed-height empty space. */
#main #xq .tab_block_l .tab_content{height:auto;min-height:0;padding:20px}
#main #xq .tab_block_l .tab_content li .tr{height:auto;min-height:0;margin-bottom:0}
#main #xq .tab_block_l .tab_content li .tr .td{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 20px;margin:0;float:none}
#main #xq .tab_block_l .tab_content li .tr .td>div{float:none;min-width:0;margin:0}
#main #xq .tab_block_l .tab_content li .tr .td p{float:none;width:auto;margin:0;white-space:normal;overflow-wrap:anywhere;line-height:1.8}
@media(max-width:900px){#main #xq .tab_block_l .tab_content li .tr .td{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#main #xq .tab_block_l .tab_content{padding:14px}#main #xq .tab_block_l .tab_content li .tr .td{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}}

/* Align homepage news accents to the text and compact the friend-link footer row. */
#main .newsbox .news_title{display:flex;align-items:center;justify-content:space-between;gap:12px}
#main .newsbox .news_title>.left{display:flex;align-items:center;min-width:0;float:none}
#main .newsbox .news_title>.right{float:none;flex-shrink:0}
#main .newsbox .news_title>.clearfix{display:none}
#main .newsbox .news_title .news_shu{display:block;position:static;float:none;flex:0 0 3px;height:20px;margin:0 8px 0 0;border-radius:2px}
#main .newsbox .news_title .left>a{line-height:1.5}
.youlianbox[data-friend-links]{margin:24px 0 0;padding:0;background:#fff;border-top:1px solid #e8e8e8}
.youlianbox[data-friend-links] .youlian{display:flex;align-items:flex-start;gap:12px 24px;height:auto;min-height:0;padding:18px 0;box-sizing:border-box}
.youlianbox[data-friend-links] .youlianTitle{float:none;flex-shrink:0;width:auto;margin:0;padding:0;font-size:16px;font-weight:600;color:#555;line-height:28px}
.youlianbox[data-friend-links] .youlianWord{display:flex;flex-wrap:wrap;gap:6px 24px;float:none;flex:1;min-width:0;width:auto;margin:0;padding:0;list-style:none}
.youlianbox[data-friend-links] .youlianWord li{float:none;margin:0;padding:0;line-height:28px}
.youlianbox[data-friend-links] .youlianWord li a{display:inline-block;font-size:14px;line-height:28px;color:#666;overflow-wrap:anywhere;text-decoration:none}
.youlianbox[data-friend-links] .youlianWord li a:hover{color:#ea4245;text-decoration:underline}
.youlianbox[data-friend-links]+#footer{margin-top:0}
@media(max-width:600px){.youlianbox[data-friend-links] .youlian{gap:8px 16px;padding:14px 0}.youlianbox[data-friend-links] .youlianWord{gap:4px 16px}}

/* Phone image geometry: compact previews, uncropped body images, and a taller hero.
   Override legacy fixed heights / fill rules after the shared designer stylesheet. */
@media(max-width:767px){
 .product-wrap .product li{flex-direction:row;align-items:flex-start;gap:12px;padding:12px}
 .product-wrap .product li>.left:first-child{flex:0 0 clamp(96px,29vw,156px);width:clamp(96px,29vw,156px)}
 .product-wrap .product li .left_text{flex:1;width:auto;min-width:0}
 .product-wrap .product li .left_text>a{display:block;font-size:16px;line-height:1.5}
 .product-wrap .product li p{margin-top:5px;font-size:13px;line-height:1.65}
 .product-wrap .product li>.left:first-child>a>img,
 .left_list>.left_img>a>img,
 .news_img>a:first-child>img,.act_img>a>img,
 .news_text .news_ti img,.course_img img,.rightnews_img img,
 #main #ys ul li .icon_img img{object-fit:cover}
 .product-wrap .product li>.left:first-child>a,
 .left_list>.left_img>a{aspect-ratio:3/2}
 .product-wrap .product li>.left:first-child>a>.k12-image-placeholder,
 .left_list>.left_img>a>.k12-image-placeholder{position:absolute;inset:0;height:100%}
 .left_list.k12-list-card{flex-direction:row;gap:12px;padding:16px 0;align-items:flex-start}
 .left_list.k12-list-card>.left_img{flex:0 0 clamp(96px,29vw,156px);width:clamp(96px,29vw,156px)}
 .left_list.k12-list-card>.left_text{flex:1;width:auto;min-width:0}
 .left_list.k12-list-card .left_text>a{font-size:16px;line-height:1.5}
 .left_list.k12-list-card .telist h2{font-size:16px;line-height:1.5;margin:0 0 6px}
 .left_list.k12-list-card .left_text p{font-size:13px;line-height:1.65}
 .left_list.k12-list-card .left_text p:not(.btnbox){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .news_img>a:first-child,.act_img>a{aspect-ratio:16/9;max-height:220px}
 .news_img .news_p{padding:8px 10px}
 .news_img .news_p a{font-size:14px;line-height:1.5}
 .news_para img,.shizitext img,.c_detail>img:first-child{width:auto;max-width:100%;height:auto!important;max-height:none;object-fit:contain}
 .left_list:not(.k12-list-card):has(.telist)>.left_img{width:100%;max-width:340px;margin:0 auto}
 .left_list:not(.k12-list-card):has(.telist)>.left_img>a{aspect-ratio:16/9}
 .left_main:has(>#campus_detail)>.nytitle{display:none}
 #campus_detail{display:flex;flex-direction:column}
 #campus_detail>*{order:3}
 #campus_detail>.campus-d{display:contents}
 #campus_detail>.campus-d::after{display:none}
 #campus_detail>.campus-d>.right{order:0}
 #campus_detail>.text{order:1}
 #campus_detail .campus-d>img,#campus_detail .campus-d>.k12-image-placeholder{order:2;display:block;float:none;width:100%;height:auto;max-height:260px;object-fit:contain;margin:16px auto 20px;border-radius:8px}
 #campus_detail .campus-d>.right{float:none;width:100%;margin:0}
 #campus_detail .course_type{margin:0;padding:16px 0 0}
 #campus_detail .course_type>span{display:block;float:none;margin:0 0 10px;font-size:14px;font-weight:500;line-height:22px;color:#414955}
 #campus_detail .course_type>.right{display:flex;flex-wrap:wrap;gap:8px;float:none;width:100%;margin:0}
 #campus_detail .course_type a{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:7px 12px;border-radius:6px;font-size:13px;font-weight:400;line-height:20px}
 .right_course{flex-direction:row;align-items:flex-start;gap:12px}
 .right_course>.course_img,.right_course>.rightnews_img{flex:0 0 88px;width:88px}
 .right_course>.course_text,.right_course>.rightnews_text{flex:1;width:auto;min-width:0}
 .right_course .course_img>a,.right_course .rightnews_img>a{aspect-ratio:3/2}
}

#head .k12-phone{color:inherit;text-decoration:none}
#head .k12-phone-label{margin-right:6px}
.k12-mobile-menu{display:none}
@media(max-width:767px){
 #head{background:#fff;border-bottom:1px solid #f1f2f4}
 #head>.width1080{width:calc(100% - 32px);min-height:78px;padding:12px 0;gap:16px}
 #head .logo{flex:1 1 auto;min-width:0;max-width:46%;display:flex;align-items:center}
 #head .logo a{display:flex;align-items:center;width:100%;height:50px;min-width:0}
 #head .logo img{display:block;width:auto;height:auto;max-width:100%;max-height:50px;object-fit:contain;object-position:left center}
 #head .logo a.k12-logo-fitted{display:block;position:relative;overflow:hidden;width:calc(50px * var(--logo-aspect));height:auto;max-width:100%;aspect-ratio:var(--logo-ratio)}
 #head .logo a.k12-logo-fitted img{position:absolute;width:var(--logo-image-width);height:var(--logo-image-height);left:var(--logo-image-left);top:var(--logo-image-top);max-width:none;max-height:none;object-fit:fill}
 #head .k12-brand{font-size:22px;line-height:1.3;overflow-wrap:anywhere}
 #head .tel{flex:0 0 auto;line-height:1.3}
 #head .k12-phone{display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding:4px 0}
 #head .k12-phone-label{font-size:11px;line-height:1.5;color:#8c929b;letter-spacing:.3px;margin:0}
 #head .tel .fontcolor{display:block;margin:0;font-size:clamp(18px,4.9vw,23px);line-height:1.3;letter-spacing:.2px;font-weight:700}
 #nav{position:relative;background:#fff;border-bottom:1px solid #eceef2;padding:0;box-shadow:0 3px 10px #24304005}
 #nav::after{content:'';position:absolute;right:0;top:0;bottom:0;width:24px;background:linear-gradient(90deg,#fff0,#fff);pointer-events:none}
 #nav>div{width:100%;gap:6px;padding:8px 16px 10px;scroll-padding-inline:16px;align-items:center;scrollbar-width:none}
 #nav a,#nav a:first-child,#nav a:last-child{flex:0 0 auto;display:block;min-height:36px;padding:0 12px;border-radius:8px;font-size:14px;font-weight:500;line-height:36px;color:#535963;white-space:nowrap;text-decoration:none}
 #nav a[aria-current="page"],#nav a.current{background:#fff0f1;color:var(--brand);font-weight:700;text-decoration:none}
 #nav a:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
}

@media(max-width:767px){
 html{scroll-padding-top:72px}
 #head{position:sticky;top:0;z-index:1100;width:100%;box-shadow:0 2px 12px #2430400a}
 #head>.width1080{min-height:60px;padding:10px 0;gap:16px}
 #head .tel{display:none}
 #head .logo{max-width:calc(100% - 60px)}
 #head .logo a{height:34px}
 #head .logo img{max-height:34px;max-width:190px}
 #head .logo a.k12-logo-fitted{width:calc(34px * var(--logo-aspect));height:auto;max-width:min(190px,100%)}
 #head .logo a.k12-logo-fitted img{max-height:none}
 #head .k12-mobile-menu{display:flex;flex:0 0 40px;width:40px;height:40px;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin:0;padding:0;border:1px solid #edf0f3;border-radius:9px;background:#fff;color:#59616d;cursor:pointer;box-shadow:none}
 .k12-mobile-menu>span{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .18s,opacity .18s}
 .k12-mobile-menu[aria-expanded="true"]>span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .k12-mobile-menu[aria-expanded="true"]>span:nth-child(2){opacity:0}
 .k12-mobile-menu[aria-expanded="true"]>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .k12-mobile-menu:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
 #nav{display:none;padding:12px 16px 16px;background:#fff;border-bottom:1px solid #edf0f3;box-shadow:0 6px 12px #24304008}
 #nav.k12-menu-open{display:block;position:fixed;top:60px;left:0;right:0;z-index:1099;max-height:calc(100dvh - 76px);overflow-y:auto}
 #nav::after{display:none}
 #nav>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-height:min(65vh,420px);gap:8px;margin:0;padding:0;overflow:auto;overscroll-behavior:contain}
 #nav>div>a,#nav>div>a:first-child,#nav>div>a:last-child{display:flex;align-items:center;min-width:0;min-height:42px;padding:10px 14px;border-radius:8px;background:#f7f8fa;font-size:14px;line-height:22px;text-align:left;white-space:normal}
 #nav>div>a[aria-current="page"]{background:#fff0f1;color:var(--brand);font-weight:600}
}
@media(prefers-reduced-motion:reduce){.k12-mobile-menu>span{transition:none}}

/* Shared mobile gutters, lighter content actions, and all carousel slides. */
@media(max-width:767px){
 #main .title,#main .content.width1080,#main #xq .tab_block_l{width:calc(100% - 32px);margin-left:auto;margin-right:auto}
 #main .lanrenzhijia{padding:0;width:100%;min-width:0}
 #main .lanrenzhijia .title-list{padding:0;margin:0 0 16px;min-height:36px}
 #main .product-wrap{padding:0;margin:0}
 #main .product-wrap .product{margin-left:0;margin-right:0}
 #main .product-wrap .product>ul{padding:0;margin-left:0;margin-right:0}
 .lanrenzhijia .all,.product ul>.duo{border:0;border-radius:7px;background:transparent;box-shadow:none}
 #main .lanrenzhijia .all a,#main .product .duo a,.left_main .btnbox a{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:auto;min-width:0;min-height:36px;height:auto;margin:0;padding:7px 12px;border:1px solid #efc8cc;border-radius:7px;background:#fff;color:var(--brand-dark);font-size:13px;font-weight:500;line-height:20px;text-decoration:none;box-shadow:none}
 #main .lanrenzhijia .all a::after,#main .product .duo a::after{content:'›';font-size:17px;line-height:1}
 #main .product .duo{height:auto;line-height:normal;margin:0;padding:0}
 #main .product .duo a{background:#fff6f7;border-color:#f2d9dc}
 .left_main .btnbox{gap:8px;margin-top:10px}
 .left_main .btnbox>div{width:auto;margin:0;background:transparent;border:0}
 #main .lanrenzhijia .all a:active,#main .product .duo a:active,.left_main .btnbox a:active{background:#ffe9ec}
 .k12-banner{touch-action:pan-y pinch-zoom}
 .k12-banner>ul>li{display:block;position:absolute;top:0;float:none;width:100%;height:100%}
 .k12-banner .img-btn-list{display:flex;align-items:center;justify-content:center;gap:0;height:24px;bottom:14px;line-height:1;z-index:2}
 .k12-banner .img-btn-list>span{display:grid;place-items:center;float:none;width:28px;height:24px;margin:0;padding:0;border:0;background:transparent;border-radius:4px}
 .k12-banner .img-btn-list>span::before{content:'';display:block;width:6px;height:6px;border-radius:6px;background:#ffffff9e;box-shadow:0 1px 5px #0003;transition:width .2s,background .2s}
 .k12-banner .img-btn-list>span.current::before{width:18px;background:#fff}
}

/* Course directory: small category chips and compact, fully clickable rows. */
@media(max-width:767px){
 .erjibox.k12-course-tabs{margin:14px 0 18px;padding:0}
 .left_main>.nytitle.left_title{display:flex;align-items:center;gap:8px;min-height:28px;height:auto;margin:0;padding:0;border:0;background:none;color:#303640;font-size:18px;font-weight:600;line-height:28px}
 .left_main>.nytitle.left_title::before{content:'';flex:0 0 3px;width:3px;height:16px;border-radius:3px;background:var(--brand)}
 .left_main>.nytitle.left_title>a{margin:0;padding:0;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;background:none}
 .left_main>.nytitle.left_title>.line,.left_main>.nytitle.left_title>.linex{display:none}
 .erjibox.k12-course-tabs li{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin:0;padding:0}
 .erjibox.k12-course-tabs li a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:32px;height:auto;margin:0;padding:6px 10px;border:1px solid #e9ebef;border-radius:6px;background:#f7f8fa;color:#626975;font-size:13px;font-weight:400;line-height:18px;text-decoration:none}
 .erjibox.k12-course-tabs li a[aria-current="page"]{border-color:#f4cbd0;background:#fff1f3;color:var(--brand-dark);font-weight:600}
 .left_main>.left_list.k12-course-list-card{position:relative;display:grid;grid-template-columns:clamp(88px,25vw,112px) minmax(0,1fr);align-items:start;gap:12px;margin:0 0 12px;padding:12px;border:1px solid #eceef2;border-radius:10px;background:#fcfcfd;transition:border-color .15s,background .15s}
 .left_main>.left_list.k12-course-list-card>.left_img{width:100%;min-width:0;margin:0;float:none}
 .left_main>.left_list.k12-course-list-card>.left_text{width:auto;min-width:0;margin:0;float:none}
 .left_main>.left_list.k12-course-list-card>.left_img>a{border-radius:6px;aspect-ratio:3/2}
 .k12-course-list-card .left_text>a{display:block;margin:0 0 5px;padding:0;color:#252b34}
 .left_list.k12-course-list-card .telist h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;font-size:16px;line-height:1.5;font-weight:600}
 .k12-course-list-card .left_text>a::after{content:'';position:absolute;inset:0;z-index:1;border-radius:10px}
 .left_list.k12-course-list-card .left_text>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:3px 0 0;padding:0;color:#777e89;font-size:12px;line-height:1.7}
 .left_list.k12-course-list-card .left_text>p:nth-of-type(n+3),.k12-course-list-card .coursexing1,.k12-course-list-card .btnbox{display:none}
 .k12-course-list-card .left_text::after{content:'了解课程 ›';display:block;margin-top:7px;color:var(--brand-dark);font-size:12px;line-height:18px}
 .left_main>.left_list.k12-course-list-card:active{background:#fff5f6;border-color:#f1c9ce}
 .left_main>.left_list.k12-course-list-card:focus-within{outline:2px solid var(--brand);outline-offset:2px}
}

@media(max-width:767px){
 .left_main:has(>.k12-course-overview)>.nytitle,.left_main:has(>.k12-course-overview)>.k12-course-tabs{display:none}
 .left_main>.left_list.k12-course-overview{display:block;margin:0 0 24px;padding:16px 16px 8px;border:0;border-radius:10px;background:#f7f8fa}
 .left_main>.left_list.k12-course-overview>.left_img{display:none}
 .left_main>.left_list.k12-course-overview>.left_text{float:none;width:100%;min-width:0;margin:0}
 .left_main>.left_list.k12-course-overview .left_text>h2{margin:0 0 12px;padding:0 0 0 10px;border-left:3px solid var(--brand);color:#29313c;font-size:18px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
 .left_main>.left_list.k12-course-overview .k12-course-fact{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:baseline;gap:8px;margin:0;padding:9px 0;border-top:1px solid #e8ebef;color:#697381;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
 .k12-course-overview .k12-course-fact-label{color:#868e9a;font-size:12px;line-height:1.7;white-space:nowrap}
 .k12-course-overview .k12-course-fact-value{color:#4c5664;font-size:13px;line-height:1.7}
}

@media(max-width:767px){
 :is(.left_main,.k12-related-news)>.left_list.k12-news-list-card{display:grid;grid-template-columns:clamp(88px,25vw,112px) minmax(0,1fr);align-items:start;gap:12px;margin:0;padding:16px 0;border:0;border-bottom:1px solid #e8ebef;border-radius:0;background:transparent}
 :is(.left_main,.k12-related-news)>.left_list.k12-news-list-card>.left_img{width:100%;min-width:0;margin:0;float:none}
 :is(.left_main,.k12-related-news)>.left_list.k12-news-list-card>.left_img>a{aspect-ratio:4/3;border-radius:7px}
 :is(.left_main,.k12-related-news)>.left_list.k12-news-list-card>.left_text{width:auto;min-width:0;margin:0;float:none}
 :is(.left_main,.k12-related-news)>.left_list.k12-news-list-card .left_text>p{display:none}
 :is(.left_main,.k12-related-news)>.left_list.k12-news-list-card .left_text>a{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0;padding:0;color:#454c57;font-size:15px;font-weight:400;line-height:1.7}
 :is(.left_main,.k12-related-news)>.left_list.k12-news-list-card .date1{display:block;float:none;width:auto;min-height:0;margin:8px 0 0;padding:0;background:none;color:#989faa;font-size:0;line-height:18px}
 :is(.left_main,.k12-related-news)>.left_list.k12-news-list-card .date1::before{content:attr(data-mobile-date);font-size:12px;line-height:18px}
}
