:root{
    --blue:#2563eb;
    --blue-dark:#1749bd;
    --blue-soft:#eaf1ff;
    --orange:#f97316;
    --orange-dark:#db5f0b;
    --ink:#111827;
    --muted:#667085;
    --line:#e5e7eb;
    --paper:#ffffff;
    --soft:#f7f9fc;
    --dark:#0b1736;
    --radius:12px;
    --shadow:0 18px 50px rgba(23,37,84,.10);

    --font-cn:"Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;
    --font-en:Inter,Arial,sans-serif;
}


/* =========================================================
   基础设置
========================================================= */

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    color:var(--ink);
    background:#fff;
    font-family:var(--font-cn);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
}

a{
    color:inherit;
    text-decoration:none;
}

button,
input,
select,
textarea{
    font:inherit;
}

img{
    display:block;
    max-width:100%;
    height:auto;
}

.container{
    width:min(1180px,calc(100% - 40px));
    margin:auto;
}

.section{
    padding:104px 0;
}

.section-pad{
    padding:76px 0 52px;
}

.section-soft{
    background:var(--soft);
}

.section-blue{
    background:linear-gradient(
        135deg,
        #1d4ed8,
        #2563eb 55%,
        #3b82f6
    );
    position:relative;
    overflow:hidden;
}

.section-dark{
    background:var(--dark);
    color:#fff;
}


/* =========================================================
   标题
========================================================= */

.eyebrow{
    display:inline-block;
    font:700 12px/1 var(--font-en);
    letter-spacing:.16em;
    color:var(--blue);
    margin-bottom:18px;
}

.section-heading{
    text-align:center;
    max-width:720px;
    margin:0 auto 54px;
}

.section-heading h2{
    font-size:clamp(30px,4vw,48px);
    line-height:1.18;
    margin:0 0 16px;
    letter-spacing:-.035em;
}

.section-heading p{
    margin:0;
    color:var(--muted);
    font-size:17px;
}

.section-heading-light h2,
.section-heading-light p,
.section-heading-light .eyebrow{
    color:#fff;
}

.heading-row{
    max-width:none;
    text-align:left;
    display:flex;
    justify-content:space-between;
    align-items:end;
}

.text-link{
    font-weight:700;
    color:var(--blue);
}


/* =========================================================
   Header
========================================================= */

.site-header{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(229,231,235,.8);
}

.nav-wrap{
    height:78px;
    display:flex;
    align-items:center;
    gap:28px;
}


/* =========================================================
   Logo
========================================================= */

.brand{
    display:flex;
    align-items:center;
    flex-shrink:0;
    min-width:max-content;
}

/* 新 Logo 图片 */

.brand-logo{
    width:120px;
    max-width:120px;
    height:auto;
    max-height:58px;
    object-fit:contain;
}

/* 如果还保留旧版 Logo，也不会报错 */

.brand-mark{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    color:#fff;
    background:linear-gradient(145deg,var(--blue),#60a5fa);
    font-size:22px;
    font-weight:900;
    box-shadow:0 10px 22px rgba(37,99,235,.28);
}

.brand-copy{
    display:flex;
    flex-direction:column;
    line-height:1.05;
    margin-left:12px;
}

.brand-copy strong{
    font-size:20px;
}

.brand-copy small{
    font:700 9px/1 var(--font-en);
    letter-spacing:.18em;
    color:#778198;
    margin-top:6px;
}


/* =========================================================
   导航栏
========================================================= */

.main-nav{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:23px;
    font-size:14px;
    font-weight:600;
}

.main-nav a{
    position:relative;
    padding:28px 0;
}

.main-nav a::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:19px;
    height:2px;
    background:var(--blue);
    transform:scaleX(0);
    transition:.25s;
}

.main-nav a:hover::after{
    transform:scaleX(1);
}

.nav-actions{
    display:flex;
    gap:10px;
}


/* =========================================================
   按钮
========================================================= */

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid transparent;
    border-radius:var(--radius);
    font-weight:800;
    transition:.25s;
    cursor:pointer;
}

.btn:hover{
    transform:translateY(-2px);
}

.btn-sm{
    height:42px;
    padding:0 18px;
    font-size:14px;
}

.btn-lg{
    min-height:52px;
    padding:0 26px;
}

.btn-primary{
    background:var(--orange);
    color:#fff;
    box-shadow:0 12px 25px rgba(249,115,22,.23);
}

.btn-primary:hover{
    background:var(--orange-dark);
}

.btn-ghost{
    background:#eef4ff;
    color:var(--blue);
}

.btn-outline{
    border-color:#b9c9ef;
    color:var(--blue);
    background:#fff;
}


/* =========================================================
   手机菜单按钮
========================================================= */

.menu-button{
    display:none;
    width:44px;
    height:44px;
    border:0;
    background:#f4f6fa;
    border-radius:10px;
    padding:12px;
}

.menu-button span{
    display:block;
    height:2px;
    background:#1f2937;
    margin:5px 0;
    transition:.25s;
}


/* =========================================================
   Hero
========================================================= */

.hero{
    position:relative;
    overflow:hidden;

    background:
        radial-gradient(
            circle at 85% 15%,
            #dce8ff 0,
            transparent 31%
        ),
        linear-gradient(
            180deg,
            #f8fbff,
            #fff
        );
}

.hero::before{
    content:"";
    position:absolute;
    right:-120px;
    top:55px;
    width:440px;
    height:440px;
    border:1px solid rgba(37,99,235,.09);
    border-radius:50%;
}

.hero::after{
    content:"";
    position:absolute;
    right:-20px;
    top:155px;
    width:240px;
    height:240px;
    border:1px solid rgba(37,99,235,.10);
    border-radius:50%;
}

.hero-particles{
    position:absolute;
    inset:0;
    background-image:
        radial-gradient(
            circle,
            #2563eb 1px,
            transparent 1.5px
        );
    background-size:42px 42px;
    opacity:.08;
    mask-image:linear-gradient(
        90deg,
        transparent,
        black 55%,
        black
    );
}

.hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.03fr .97fr;
    align-items:center;
    gap:70px;
    min-height:630px;
}


/* Hero 左边 */

.hero-copy h1{
    font-size:clamp(50px,6vw,78px);
    line-height:1.03;
    letter-spacing:-.055em;
    margin:0 0 22px;
}

.hero-copy h1 span{
    color:var(--blue);
}

.hero-subtitle{
    font-weight:800;
    color:#344054;
    font-size:20px;
    margin:0 0 16px;
}

.hero-description{
    font-size:18px;
    color:var(--muted);
    max-width:610px;
    margin:0;
}

.hero-actions{
    display:flex;
    gap:14px;
    margin:34px 0;
}

.hero-trust{
    display:flex;
    gap:42px;
    padding-top:12px;
}

.hero-trust div{
    display:flex;
    flex-direction:column;
}

.hero-trust strong{
    font:800 24px/1 var(--font-en);
    color:#1f3f8f;
}

.hero-trust span{
    font-size:13px;
    color:var(--muted);
    margin-top:8px;
}


/* =========================================================
   Hero 右侧
========================================================= */

.hero-visual{
    position:relative;
    min-height:500px;
    display:flex;
    align-items:center;
    justify-content:center;
}

/*
   重要：
   控制 Hero 区域图片大小
   防止 Logo / 图片变得特别大
*/

.hero-visual > img,
.hero-main-image{
    width:340px;
    max-width:80%;
    max-height:420px;
    height:auto;
    object-fit:contain;
}


/* =========================================================
   合格卡片轮播
========================================================= */

.admission-slider{
    position:relative;
    width:min(100%,470px);
    height:500px;
}

.slider-track{
    position:relative;
    height:100%;
}

.admission-card{
    position:absolute;
    inset:18px 20px 34px;
    border-radius:26px;
    background:#fff;
    box-shadow:0 28px 70px rgba(27,52,112,.18);
    overflow:hidden;

    opacity:0;
    transform:translateX(30px) scale(.96);
    transition:.7s ease;
}

.admission-card.active{
    opacity:1;
    transform:none;
    z-index:2;
}


/* =========================================================
   学生照片区域
========================================================= */

.student-photo{
    height:67%;
    position:relative;
    background:linear-gradient(145deg,#dbe8ff,#9abcfb);
    overflow:hidden;
}

.student-photo::before{
    content:"";
    position:absolute;
    width:185px;
    height:185px;
    border-radius:50%;
    background:#f7d4bd;
    left:50%;
    top:40px;
    transform:translateX(-50%);
}

.student-photo::after{
    content:"";
    position:absolute;
    width:270px;
    height:235px;
    border-radius:110px 110px 25px 25px;
    background:#203d7e;
    left:50%;
    top:190px;
    transform:translateX(-50%);
}

.student-photo-2{
    background:linear-gradient(145deg,#f9e0cf,#edb58c);
}

.student-photo-2::after{
    background:#4b5563;
}

.student-photo-3{
    background:linear-gradient(145deg,#d8f1ea,#93d5c3);
}

.student-photo-3::after{
    background:#173f52;
}

.student-photo-4{
    background:linear-gradient(145deg,#ece1ff,#bba4f4);
}

.student-photo-4::after{
    background:#3c2f64;
}

.student-photo span{
    position:absolute;
    z-index:3;
    right:24px;
    top:22px;

    background:#fff;
    color:var(--orange);

    border-radius:999px;
    padding:7px 13px;

    font-weight:900;

    box-shadow:0 8px 18px rgba(0,0,0,.08);
}


/* =========================================================
   合格通知纸
========================================================= */

.offer-paper{
    position:absolute;
    z-index:4;

    left:50%;
    bottom:30px;

    transform:translateX(-50%) rotate(-2deg);

    width:75%;

    padding:20px 22px;

    background:#fff;

    border:1px solid #dfe8f8;
    border-radius:12px;

    box-shadow:0 12px 35px rgba(25,51,100,.18);

    display:flex;
    flex-direction:column;

    text-align:center;
}

.offer-paper small{
    font:800 10px/1 var(--font-en);
    letter-spacing:.15em;
    color:var(--blue);
}

.offer-paper strong{
    font-size:22px;
    margin:10px 0 3px;
}

.offer-paper span{
    font-size:14px;
    color:var(--muted);
}


/* =========================================================
   Slider 点
========================================================= */

.slider-dots{
    position:absolute;
    bottom:0;
    left:0;
    right:0;

    display:flex;
    justify-content:center;
    gap:8px;
}

.slider-dots button{
    width:8px;
    height:8px;

    border:0;
    border-radius:50%;
    padding:0;

    background:#c8d3e7;

    cursor:pointer;
}

.slider-dots button.active{
    width:26px;
    border-radius:8px;
    background:var(--blue);
}


/* =========================================================
   Hero 浮动标签
========================================================= */

.floating-chip{
    position:absolute;
    z-index:8;

    background:rgba(255,255,255,.94);
    border:1px solid #e6ebf6;
    border-radius:999px;

    padding:11px 16px;

    font-size:13px;
    font-weight:800;

    box-shadow:0 12px 25px rgba(29,52,98,.12);

    animation:float 4s ease-in-out infinite;
}

.chip-1{
    top:45px;
    left:-35px;
}

.chip-2{
    right:-25px;
    top:170px;
    animation-delay:.8s;
}

.chip-3{
    left:-15px;
    bottom:80px;
    animation-delay:1.4s;
}

@keyframes float{
    50%{
        transform:translateY(-10px);
    }
}


/* =========================================================
   学校列表
========================================================= */

.school-strip{
    position:relative;
    z-index:3;

    display:flex;
    align-items:center;
    gap:38px;

    border-top:1px solid #e7ecf5;

    padding-top:30px;
}

.school-strip > span{
    font-size:13px;
    color:#7d8798;
    white-space:nowrap;
}

.school-list{
    display:flex;
    flex-wrap:wrap;
    gap:28px;

    color:#5b6575;
    font-size:14px;
}


/* =========================================================
   Feature
========================================================= */

.feature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.feature-card{
    background:#fff;
    border:1px solid #e8ebf1;
    border-radius:18px;

    padding:30px;

    min-height:245px;

    transition:.28s;
}

.feature-card:hover{
    transform:translateY(-8px);
    border-color:#bfd0fb;
    box-shadow:var(--shadow);
}

.icon-box{
    display:grid;
    place-items:center;

    width:48px;
    height:48px;

    border-radius:13px;

    background:var(--blue-soft);
    color:var(--blue);

    font:900 15px/1 var(--font-en);

    margin-bottom:24px;
}

.feature-card h3{
    font-size:20px;
    margin:0 0 12px;
}

.feature-card p{
    color:var(--muted);
    margin:0;
}


/* =========================================================
   数据
========================================================= */

.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);

    border:1px solid #e3e8f2;
    border-radius:18px;

    overflow:hidden;

    background:#fff;

    box-shadow:0 15px 45px rgba(16,24,40,.06);
}

.stat-card{
    padding:38px 20px;

    text-align:center;

    border-right:1px solid #e3e8f2;
}

.stat-card:last-child{
    border:0;
}

.stat-card strong{
    font:800 clamp(38px,5vw,58px)/1 var(--font-en);
    color:var(--blue);
}

.stat-card span{
    display:block;
    color:var(--muted);
    margin-top:12px;
}


/* =========================================================
   合格滚动条
========================================================= */

.offer-marquee{
    overflow:hidden;

    margin-top:54px;

    background:#0f285c;
    color:#fff;

    padding:18px 0;
}

.marquee-track{
    display:flex;

    width:max-content;

    gap:14px;

    animation:marquee 32s linear infinite;
}

.marquee-track span{
    padding:9px 18px;

    background:rgba(255,255,255,.09);

    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;

    white-space:nowrap;

    font-size:14px;
}

@keyframes marquee{
    to{
        transform:translateX(-50%);
    }
}


/* =========================================================
   课程
========================================================= */

.course-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.course-card{
    position:relative;

    background:#fff;

    border-radius:18px;

    padding:30px;

    min-height:410px;

    box-shadow:0 15px 30px rgba(11,36,90,.12);

    transition:.3s;
}

.course-card:hover{
    transform:translateY(-8px);
}

.course-card > span{
    font:900 46px/1 var(--font-en);
    color:#d9e5ff;
}

.course-card h3{
    font-size:25px;
    margin:18px 0 10px;
}

.course-card p{
    color:var(--muted);
    min-height:80px;
}

.course-card ul{
    padding:0;
    margin:22px 0 28px;
    list-style:none;
}

.course-card li{
    padding:7px 0;

    border-bottom:1px solid #edf0f5;

    font-size:14px;
}

.course-card li::before{
    content:"✓";
    color:var(--blue);
    font-weight:900;
    margin-right:9px;
}

.course-card a{
    position:absolute;

    left:30px;
    bottom:28px;

    color:var(--blue);
    font-weight:800;
}


/* =========================================================
   学习流程
========================================================= */

.process-line{
    display:grid;
    grid-template-columns:repeat(8,1fr);
    gap:0;

    position:relative;
}

.process-line::before{
    content:"";

    position:absolute;

    left:5%;
    right:5%;
    top:28px;

    height:2px;

    background:linear-gradient(
        90deg,
        #d4e0fa,
        #2563eb,
        #f8b17f
    );
}

.process-step{
    position:relative;
    text-align:center;
}

.process-step b{
    position:relative;
    z-index:2;

    width:58px;
    height:58px;

    border-radius:50%;

    display:grid;
    place-items:center;

    margin:0 auto 17px;

    background:#fff;

    border:2px solid #c9d8f7;

    color:var(--blue);

    font:800 14px/1 var(--font-en);

    transition:.25s;
}

.process-step:hover b{
    background:var(--blue);
    color:#fff;
    transform:scale(1.08);
}

.process-step:last-child b{
    border-color:#ffc49e;
    color:var(--orange);
}

.process-step span{
    font-weight:700;
    font-size:14px;
}


/* =========================================================
   学生案例
========================================================= */

.student-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:22px;

    min-height:330px;
}

.student-story{
    background:#fff;

    border:1px solid #e7eaf0;
    border-radius:18px;

    padding:28px;

    box-shadow:0 12px 28px rgba(16,24,40,.05);
}

.student-head{
    display:flex;
    align-items:center;
    gap:15px;

    margin-bottom:22px;
}

.student-avatar{
    width:58px;
    height:58px;

    border-radius:50%;

    display:grid;
    place-items:center;

    background:linear-gradient(135deg,#dce8ff,#97bafa);

    color:#1648ae;

    font-weight:900;
}

.student-head strong{
    display:block;
    font-size:18px;
}

.student-head span{
    font-size:13px;
    color:var(--muted);
}

.student-university{
    display:inline-block;

    background:#edf3ff;
    color:var(--blue);

    font-weight:800;

    border-radius:999px;

    padding:7px 12px;

    font-size:13px;
}

.score-up{
    margin:18px 0;

    font:800 24px/1 var(--font-en);

    color:var(--orange);
}

.student-story p{
    color:var(--muted);
    margin:0;
}

.pagination{
    display:flex;
    justify-content:center;

    gap:8px;

    margin-top:32px;
}

.pagination button{
    width:38px;
    height:38px;

    border-radius:10px;

    border:1px solid #dfe5ef;

    background:#fff;

    cursor:pointer;
}

.pagination button.active{
    background:var(--blue);
    border-color:var(--blue);
    color:#fff;
}


/* =========================================================
   在线课堂
========================================================= */

.classroom-grid{
    display:grid;
    grid-template-columns:.82fr 1.18fr;

    align-items:center;

    gap:70px;
}

.classroom-copy h2{
    font-size:clamp(36px,4.5vw,58px);
    line-height:1.1;
    margin:0 0 22px;
}

.classroom-copy > p{
    color:var(--muted);
    font-size:17px;
}

.mini-feature-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);

    gap:13px;

    margin-top:30px;
}

.mini-feature-grid div{
    padding:16px;

    border:1px solid #e5eaf2;
    border-radius:12px;
}

.mini-feature-grid b,
.mini-feature-grid span{
    display:block;
}

.mini-feature-grid b{
    color:var(--blue);
    margin-bottom:4px;
}

.mini-feature-grid span{
    font-size:13px;
    color:var(--muted);
}


/* =========================================================
   Dashboard
========================================================= */

.dashboard{
    border:1px solid #dfe6f1;
    border-radius:22px;

    overflow:hidden;

    background:#fff;

    box-shadow:0 32px 80px rgba(19,45,104,.17);

    transform:
        perspective(900px)
        rotateY(-4deg)
        rotateX(2deg);
}

.dash-top{
    height:44px;

    background:#f3f6fb;

    display:flex;
    align-items:center;

    padding:0 16px;

    gap:24px;

    color:#7b8494;

    font:600 11px/1 var(--font-en);
}

.dash-top div{
    display:flex;
    gap:6px;
}

.dash-top i{
    width:8px;
    height:8px;

    border-radius:50%;

    background:#ccd4e0;
}

.dash-body{
    display:grid;
    grid-template-columns:145px 1fr;

    min-height:420px;
}

.dash-body aside{
    background:#10275a;
    color:#fff;

    padding:23px 18px;

    display:flex;
    flex-direction:column;

    gap:16px;
}

.dash-body aside strong{
    font-size:18px;
    margin-bottom:18px;
}

.dash-body aside span{
    font-size:12px;
    color:#b9c7e8;
}

.dash-content{
    padding:28px;
    background:#f8faff;
}

.dash-welcome{
    display:flex;
    justify-content:space-between;
    align-items:center;

    background:linear-gradient(135deg,#2563eb,#5b8df5);

    color:#fff;

    padding:22px;

    border-radius:16px;
}

.dash-welcome small{
    font:700 9px/1 var(--font-en);
    letter-spacing:.15em;
}

.dash-welcome h3{
    font-size:18px;
    margin:9px 0 0;
}

.dash-welcome b{
    font:800 30px/1 var(--font-en);
}

.dash-cards{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:14px;

    margin:14px 0;
}

.dash-cards div,
.progress-card{
    background:#fff;

    border:1px solid #e7ebf2;
    border-radius:14px;

    padding:18px;
}

.dash-cards span,
.dash-cards small{
    display:block;

    color:#7b8494;

    font-size:11px;
}

.dash-cards strong{
    display:block;

    margin:8px 0;

    font-size:18px;
}

.progress-card > div:first-child{
    display:flex;
    justify-content:space-between;
}

.bars{
    height:90px;

    display:flex;
    align-items:end;

    gap:9px;

    margin-top:18px;
}

.bars i{
    flex:1;

    background:linear-gradient(#7ba0f8,#2563eb);

    border-radius:6px 6px 2px 2px;
}


/* =========================================================
   校长介绍
========================================================= */

.principal-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;

    gap:90px;

    align-items:center;
}

.principal-photo{
    position:relative;
}

.portrait-shape{
    height:520px;

    border-radius:30px 30px 120px 30px;

    background:linear-gradient(155deg,#2f5ea5,#8eb4eb);

    display:grid;
    place-items:center;

    color:rgba(255,255,255,.65);

    font-weight:800;

    overflow:hidden;
}

.portrait-shape::before{
    content:"";

    width:190px;
    height:190px;

    border-radius:50%;

    background:#efc9ac;

    position:absolute;

    top:80px;
}

.portrait-shape::after{
    content:"";

    width:300px;
    height:300px;

    border-radius:140px 140px 40px 40px;

    background:#162a52;

    position:absolute;

    bottom:0;
}

.portrait-shape span{
    position:relative;
    z-index:2;

    margin-top:auto;
    margin-bottom:25px;

    font-size:13px;
}

.principal-badge{
    position:absolute;

    right:-35px;
    bottom:34px;

    background:#fff;
    color:var(--ink);

    padding:18px 22px;

    border-radius:14px;

    box-shadow:0 18px 40px rgba(0,0,0,.25);
}

.principal-badge small,
.principal-badge strong{
    display:block;
}

.principal-badge small{
    font:800 9px/1 var(--font-en);
    letter-spacing:.16em;

    color:var(--blue);

    margin-bottom:8px;
}

.principal-copy h2{
    font-size:clamp(36px,4.5vw,56px);
    line-height:1.18;

    margin:0 0 26px;
}

.principal-copy p{
    color:#b9c4dc;

    font-size:17px;
}

.principal-copy blockquote{
    margin:30px 0;

    padding:20px 24px;

    border-left:3px solid var(--orange);

    background:rgba(255,255,255,.06);

    font-size:18px;
}


/* =========================================================
   教师头像
========================================================= */

.teacher-row{
    display:flex;
    align-items:center;
}

.avatar{
    width:45px;
    height:45px;

    border-radius:50%;

    display:grid;
    place-items:center;

    border:3px solid var(--dark);

    margin-left:-8px;

    font-weight:900;
}

.avatar:first-child{
    margin-left:0;
}

.a1{
    background:#dbe7ff;
    color:#2455bd;
}

.a2{
    background:#ffe2cf;
    color:#c35409;
}

.a3{
    background:#d7f4e7;
    color:#18714e;
}

.a4{
    background:#eee4ff;
    color:#6542a8;
}

.teacher-row span{
    margin-left:15px;
    color:#b9c4dc;
}


/* =========================================================
   新闻
========================================================= */

.news-tabs{
    display:flex;
    gap:10px;

    margin-bottom:28px;

    flex-wrap:wrap;
}

.news-tabs button{
    border:1px solid #dfe5ef;
    border-radius:999px;

    background:#fff;

    padding:10px 17px;

    cursor:pointer;

    font-weight:700;

    color:#667085;
}

.news-tabs button.active{
    background:var(--blue);
    border-color:var(--blue);
    color:#fff;
}

.news-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:22px;
}

.news-card{
    border:1px solid #e4e8ef;
    border-radius:18px;

    overflow:hidden;

    padding-bottom:25px;

    background:#fff;

    transition:.28s;
}

.news-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow);
}

.news-card.hidden{
    display:none;
}

.news-cover{
    height:190px;

    display:grid;
    place-items:center;

    margin-bottom:24px;
}

.news-cover span{
    font:900 42px/1 var(--font-en);
    color:rgba(255,255,255,.92);
}

.cover-1{
    background:linear-gradient(135deg,#2b66dd,#80a8ff);
}

.cover-2{
    background:linear-gradient(135deg,#ef8b45,#fbc18f);
}

.cover-3{
    background:linear-gradient(135deg,#5b4aaf,#a390e7);
}

.news-card > small,
.news-card > h3,
.news-card > p,
.news-card > a{
    margin-left:24px;
    margin-right:24px;
}

.news-card > small{
    color:var(--blue);
    font-weight:700;
}

.news-card h3{
    font-size:20px;
    line-height:1.45;

    margin-top:12px;
    margin-bottom:10px;
}

.news-card p{
    color:var(--muted);
}

.news-card a{
    font-weight:800;
    color:var(--blue);
}


/* =========================================================
   联系区域
========================================================= */

.contact-section{
    background:linear-gradient(180deg,#f6f9ff,#fff);
}

.contact-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;

    gap:80px;

    align-items:start;
}

.contact-copy h2{
    font-size:clamp(38px,4.7vw,60px);
    line-height:1.15;

    margin:0 0 22px;
}

.contact-copy > p{
    color:var(--muted);
    font-size:17px;
}

.contact-items{
    margin:30px 0;
}

.contact-items div{
    display:grid;
    grid-template-columns:90px 1fr;

    padding:12px 0;

    border-bottom:1px solid #e6eaf1;
}

.contact-items b{
    color:#344054;
}

.contact-items span{
    color:var(--muted);
}


/* =========================================================
   QR
========================================================= */

.qr-row{
    display:flex;
    gap:15px;
}

.qr-card{
    width:138px;

    padding:12px;

    border-radius:14px;

    background:#fff;

    border:1px solid #e5e9f1;

    text-align:center;
}

.qr-card span{
    display:block;
    font-size:13px;
    margin-top:8px;
}

.fake-qr{
    height:110px;

    background:
        repeating-conic-gradient(
            #111 0 25%,
            #fff 0 50%
        ) 0 / 18px 18px;

    border:8px solid #fff;

    box-shadow:inset 0 0 0 1px #ddd;
}

.fake-qr.alt{
    filter:hue-rotate(90deg);
}


/* =========================================================
   联系表单
========================================================= */

.contact-form{
    background:#fff;

    border:1px solid #e2e8f2;
    border-radius:20px;

    padding:32px;

    box-shadow:var(--shadow);
}

.contact-form label{
    display:block;

    font-weight:700;

    margin-bottom:18px;
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:14px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
    width:100%;

    margin-top:8px;

    border:1px solid #dce2eb;
    border-radius:10px;

    padding:13px 14px;

    outline:none;

    background:#fbfcfe;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
    border-color:#8aabf3;

    box-shadow:0 0 0 4px rgba(37,99,235,.08);
}

.contact-form button{
    width:100%;
    border:0;
}

.form-note{
    font-size:12px;
    color:#8a94a6;
    text-align:center;
}

.form-message{
    min-height:24px;

    text-align:center;

    color:#18794e;

    font-weight:700;
}


/* =========================================================
   地图
========================================================= */

.map-box{
    margin-top:60px;

    height:280px;

    border-radius:20px;

    background:linear-gradient(135deg,#dce7f7,#edf3fb);

    display:grid;
    place-items:center;

    text-align:center;

    color:#476080;
}

.map-box span,
.map-box small{
    grid-column:1;
    grid-row:1;
}

.map-box small{
    margin-top:44px;
    color:#71829b;
}


/* =========================================================
   Footer
========================================================= */

.site-footer{
    background:#07122c;
    color:#fff;

    padding:70px 0 25px;
}

.footer-grid{
    display:grid;
    grid-template-columns:1.5fr repeat(3,1fr);

    gap:50px;
}

.brand-light .brand-copy small{
    color:#9fb0d3;
}

.brand-light .brand-logo{
    max-width:120px;
}

.footer-grid > div{
    display:flex;
    flex-direction:column;

    gap:10px;
}

.footer-grid > div:first-child p{
    color:#9fb0d3;
}

.footer-grid a,
.footer-grid span{
    color:#aebad0;
    font-size:14px;
}

.footer-grid strong{
    margin-bottom:10px;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.12);

    margin-top:50px;

    padding-top:22px;

    display:flex;
    justify-content:space-between;

    color:#8f9db8;

    font-size:12px;
}


/* =========================================================
   右下角咨询
========================================================= */

.floating-consult{
    position:fixed;

    right:18px;
    bottom:88px;

    z-index:900;

    width:66px;
    height:66px;

    border-radius:50%;

    background:var(--orange);
    color:#fff;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    box-shadow:0 15px 30px rgba(249,115,22,.35);

    line-height:1.1;
}

.floating-consult span{
    font-size:11px;
}

.floating-consult strong{
    font-size:16px;
}


/* =========================================================
   返回顶部
========================================================= */

.back-top{
    position:fixed;

    right:27px;
    bottom:24px;

    width:46px;
    height:46px;

    border:0;
    border-radius:50%;

    background:#10275a;
    color:#fff;

    cursor:pointer;

    opacity:0;
    pointer-events:none;

    transition:.25s;
}

.back-top.show{
    opacity:1;
    pointer-events:auto;
}


/* =========================================================
   页面出现动画
========================================================= */

.reveal{
    opacity:0;

    transform:translateY(24px);

    transition:
        opacity .7s ease,
        transform .7s ease;
}

.reveal.visible{
    opacity:1;
    transform:none;
}


/* =========================================================
   平板
========================================================= */

@media(max-width:1080px){

    .main-nav{
        gap:15px;
    }

    .main-nav a{
        font-size:13px;
    }

    .nav-actions .btn-ghost{
        display:none;
    }

    .hero-grid{
        gap:35px;
    }

    .hero-visual > img,
    .hero-main-image{
        width:300px;
    }

    .course-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .process-line{
        grid-template-columns:repeat(4,1fr);
        row-gap:28px;
    }

    .process-line::before{
        display:none;
    }

    .classroom-grid{
        gap:40px;
    }

    .principal-grid{
        gap:55px;
    }
}


/* =========================================================
   手机 / 小平板
========================================================= */

@media(max-width:860px){

    .container{
        width:min(100% - 28px,720px);
    }

    .section{
        padding:78px 0;
    }

    .site-header{
        position:sticky;
    }

    .nav-wrap{
        height:70px;
    }

    .brand-logo{
        width:105px;
        max-width:105px;
        max-height:50px;
    }

    .menu-button{
        display:block;
        margin-left:auto;
    }

    .main-nav{
        position:absolute;

        left:14px;
        right:14px;
        top:76px;

        background:#fff;

        border:1px solid #e4e8ef;
        border-radius:16px;

        box-shadow:0 20px 50px rgba(16,24,40,.14);

        padding:12px;

        display:none;
        flex-direction:column;

        align-items:stretch;

        gap:0;
    }

    .main-nav.open{
        display:flex;
    }

    .main-nav a{
        padding:12px 14px;
    }

    .main-nav a::after{
        display:none;
    }

    .nav-actions{
        display:none;
    }

    .hero-grid,
    .classroom-grid,
    .principal-grid,
    .contact-grid{
        grid-template-columns:1fr;
    }

    .hero-grid{
        padding-top:40px;
        min-height:auto;
    }

    .hero-visual{
        min-height:430px;
    }

    .hero-visual > img,
    .hero-main-image{
        width:280px;
        max-width:70%;
    }

    .hero-copy{
        text-align:center;
    }

    .hero-description{
        margin:auto;
    }

    .hero-actions,
    .hero-trust{
        justify-content:center;
    }

    .school-strip{
        flex-direction:column;
        align-items:flex-start;
        gap:15px;
    }

    .feature-grid,
    .student-grid,
    .news-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .stats-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .stat-card:nth-child(2){
        border-right:0;
    }

    .stat-card:nth-child(-n+2){
        border-bottom:1px solid #e3e8f2;
    }

    .process-line{
        grid-template-columns:repeat(4,1fr);
    }

    .dashboard{
        transform:none;
    }

    .principal-photo{
        max-width:480px;
        margin:auto;
    }

    .heading-row{
        display:block;
    }

    .heading-row .text-link{
        display:inline-block;
        margin-top:18px;
    }

    .contact-grid{
        gap:45px;
    }

    .footer-grid{
        grid-template-columns:1.3fr 1fr 1fr;
    }

    .footer-grid > div:last-child{
        display:none;
    }
}


/* =========================================================
   手机
========================================================= */

@media(max-width:600px){

    .container{
        width:calc(100% - 24px);
    }

    .section{
        padding:66px 0;
    }

    .section-pad{
        padding-top:32px;
    }


    /* Logo */

    .brand-logo{
        width:90px;
        max-width:90px;
        max-height:44px;
    }


    /* Hero */

    .hero-copy h1{
        font-size:48px;
    }

    .hero-subtitle{
        font-size:16px;
    }

    .hero-description{
        font-size:16px;
    }

    .hero-actions{
        flex-direction:column;
    }

    .hero-actions .btn{
        width:100%;
    }

    .hero-trust{
        gap:24px;
    }

    .hero-trust strong{
        font-size:20px;
    }

    .hero-visual{
        min-height:350px;
    }

    .hero-visual > img,
    .hero-main-image{
        width:230px;
        max-width:70%;
        max-height:280px;
    }


    /* Slider */

    .admission-slider{
        height:420px;
    }

    .admission-card{
        inset:10px 4px 28px;
    }

    .student-photo{
        height:65%;
    }

    .student-photo::before{
        width:145px;
        height:145px;
    }

    .student-photo::after{
        width:230px;
        height:210px;
        top:160px;
    }

    .offer-paper{
        bottom:22px;
        padding:15px;
    }

    .offer-paper strong{
        font-size:18px;
    }

    .floating-chip{
        display:none;
    }


    /* 学校 */

    .school-list{
        gap:13px 20px;
    }


    /* 卡片 */

    .feature-grid,
    .course-grid,
    .student-grid,
    .news-grid{
        grid-template-columns:1fr;
    }

    .feature-card{
        min-height:auto;
    }

    .stats-grid{
        grid-template-columns:1fr 1fr;
    }

    .stat-card{
        padding:25px 12px;
    }

    .course-card{
        min-height:385px;
    }

    .process-line{
        grid-template-columns:repeat(2,1fr);
    }


    /* 标题 */

    .classroom-copy h2,
    .principal-copy h2,
    .contact-copy h2{
        font-size:38px;
    }


    /* 在线课堂 */

    .mini-feature-grid{
        grid-template-columns:1fr 1fr;
    }

    .dash-body{
        grid-template-columns:90px 1fr;
    }

    .dash-body aside{
        padding:16px 10px;
    }

    .dash-body aside span{
        font-size:10px;
    }

    .dash-content{
        padding:14px;
    }

    .dash-cards{
        grid-template-columns:1fr;
    }


    /* 校长 */

    .principal-photo{
        width:88%;
    }

    .portrait-shape{
        height:420px;
    }

    .principal-badge{
        right:-18px;
    }


    /* 表单 */

    .form-row{
        grid-template-columns:1fr;
    }

    .qr-row{
        justify-content:center;
    }


    /* Footer */

    .footer-grid{
        grid-template-columns:1fr 1fr;
    }

    .footer-grid > div:first-child{
        grid-column:1/-1;
    }

    .footer-bottom{
        flex-direction:column;
        gap:8px;
    }


    /* 标题 */

    .section-heading{
        margin-bottom:38px;
    }

    .section-heading h2{
        font-size:34px;
    }

    .heading-row{
        text-align:left;
    }


    /* 浮动按钮 */

    .floating-consult{
        width:60px;
        height:60px;
    }

    .back-top{
        right:23px;
    }
/* ===== 京ノ塾 LOGO 强制尺寸 ===== */

.site-header .brand{
    display:flex;
    align-items:center;
    width:auto;
    height:70px;
    flex-shrink:0;
}

.site-header .brand img{
    display:block;
    width:105px !important;
    max-width:105px !important;
    height:60px !important;
    max-height:60px !important;
    object-fit:contain !important;
}

/* 平板 */
@media(max-width:860px){
    .site-header .brand img{
        width:95px !important;
        max-width:95px !important;
        height:52px !important;
        max-height:52px !important;
    }
}

/* 手机 */
@media(max-width:600px){
    .site-header .brand img{
        width:85px !important;
        max-width:85px !important;
        height:46px !important;
        max-height:46px !important;
    }
}
/* ===== 顶部 Logo，只改变图片，不动右边两行文字 ===== */

.site-header .brand{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:max-content;
}

/* 只控制图片 */
.site-header .brand img{
    width:30px !important;
    height:30px !important;
    max-width:30px !important;
    max-height:30px !important;
    object-fit:contain !important;
    flex-shrink:0;
}

/* 京ノ塾 */
.site-header .brand-copy{
    display:flex !important;
    flex-direction:column;
    line-height:1.05;
    margin:0;
}

/* 京ノ塾文字 */
.site-header .brand-copy strong{
    font-size:20px;
    font-weight:700;
    margin:0;
}

/* KYO NO JUKU */
.site-header .brand-copy small{
    font:700 9px/1 var(--font-en);
    letter-spacing:.18em;
    color:#778198;
    margin-top:6px;
}
}
.student-photo::before,
.student-photo::after{
    display:none !important;
}