@charset "utf-8";
/* ==========================================================================
   响阳优升官网 · 站点样式
   --------------------------------------------------------------------------
   说明：本文件为手写维护的站点样式（项目未提供 Less 编译工具链，
   因此不采用 public/assets/less 的源码-编译流程，直接维护本文件）。
   依赖：assets/css/bootstrap.css（Bootstrap 3 栅格与组件）
        assets/libs/font-awesome/css/font-awesome.min.css
   响应式断点沿用 Bootstrap 3：768px / 992px / 1200px
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 基础
   -------------------------------------------------------------------------- */
:root {
    /* 墨蓝 + 香槟金 + 象牙底：机构/学术气质，替代原来的“亮宝蓝 + 橙 + 冷灰”（通用 SaaS 观感） */
    --c-primary: #123b63;
    --c-primary-dark: #0c2a47;
    --c-primary-light: #e8edf2;
    --c-accent: #b98a2e;
    --c-accent-dark: #9c7223;
    --c-ink: #0e2740;
    --c-text: #24313d;
    --c-muted: #636e7a;
    --c-border: #e2dcd1;
    --c-bg: #f7f4ee;
    --radius: 3px;
    /* 英文校名与数字用系统衬线体：增加编辑感，且不加载中文字体（避免几 MB 下载） */
    --font-serif: Georgia, "Times New Roman", "Songti SC", "SimSun", serif;
}

body.site-body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
        "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    color: var(--c-text);
    background: #fff;
    font-size: 15px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}

.site-main {
    overflow-x: hidden;
}

a {
    color: var(--c-primary);
}

a:hover,
a:focus {
    color: var(--c-primary-dark);
    text-decoration: none;
}

h1,
h2,
h3,
h4 {
    color: var(--c-ink);
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: .01em;
    margin-top: 0;
}

/* 通用区块 */
.site-section {
    padding: 56px 0;
}

.site-section + .site-section {
    padding-top: 0;
}

.section-h1 {
    font-size: 28px;
    margin: 0 0 16px;
    letter-spacing: .02em;
}

.section-title {
    font-size: 24px;
    margin: 0 0 12px;
    text-align: center;
    letter-spacing: .02em;
}

/* 居中区块标题上方的金色细线：替代“居中标题 + 图标”的模板观感 */
.section-title::before {
    content: "";
    display: block;
    width: 40px;
    height: 2px;
    background: var(--c-accent);
    margin: 0 auto 14px;
}

/* 左对齐的小标题不使用居中细线（它们用左侧竖线标识层级） */
.page-about .section-title::before,
.page-contact .section-title::before,
.service-items .section-title::before,
.service-section .section-title::before,
.service-others .section-title::before,
.page-service-detail .service-faq .section-title::before,
.school-block .section-title::before,
.major-block .section-title::before,
.case-block .section-title::before {
    content: none;
}

.section-desc {
    color: var(--c-muted);
    text-align: center;
    max-width: 760px;
    margin: 0 auto 32px;
}

.section-more {
    text-align: center;
    margin: 24px 0 0;
}

/* 面包屑：约束为与 .container 相同的宽度与内边距，
   保证文字左缘与下方正文容器内容上下对齐 */
.breadcrumb.site-breadcrumb {
    background: transparent;
    margin: 0 auto;
    padding: 16px 15px 0;
    max-width: 100%;
    font-size: 13px;
    color: var(--c-muted);
}

@media (min-width: 768px) {
    .breadcrumb.site-breadcrumb {
        max-width: 750px;
    }
}

@media (min-width: 992px) {
    .breadcrumb.site-breadcrumb {
        max-width: 970px;
    }
}

@media (min-width: 1200px) {
    .breadcrumb.site-breadcrumb {
        max-width: 1170px;
    }
}

/* --------------------------------------------------------------------------
   2. 顶部导航
   -------------------------------------------------------------------------- */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1030;
}

.site-navbar {
    background: #fff;
    border: 0;
    border-bottom: 1px solid var(--c-border);
    margin-bottom: 0;
    border-radius: 0;
    box-shadow: 0 1px 3px rgba(28, 37, 48, .06);
}

.site-navbar .navbar-brand {
    display: flex;
    align-items: center;
    height: auto;
    padding: 12px 15px;
    line-height: 1.2;
}

/* 客户 logo 为竖排组合标（图形 + 中英文名），整体按高度自适应宽度 */
.site-navbar .brand-logo {
    display: block;
    height: 52px;
    width: auto;
}

.site-navbar .brand-tagline {
    margin-left: 12px;
    padding-left: 12px;
    border-left: 1px solid var(--c-border);
    font-size: 13px;
    color: var(--c-muted);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.5;
}

.site-navbar .navbar-nav > li > a {
    color: var(--c-text);
    font-size: 15px;
    padding: 22px 14px;
}

.site-navbar .navbar-nav > li > a:hover,
.site-navbar .navbar-nav > li > a:focus {
    color: var(--c-primary);
    background: transparent;
}

.site-navbar .navbar-nav > .active > a,
.site-navbar .navbar-nav > .active > a:hover,
.site-navbar .navbar-nav > .active > a:focus {
    color: var(--c-primary);
    background: transparent;
    font-weight: 600;
    box-shadow: inset 0 -2px 0 var(--c-primary);
}

/* 下拉卡片：香槟金顶线 + 大圆角 + 双层阴影，菜单项左侧金色指示条，
   悬停时文字右移 4px 的微动效（reduced-motion 兜底）。
   入场动画只做位移、不碰 opacity：动画时间线被冻结的环境（截图合成器等）
   下菜单仍完整可见，只是偏移 8px，不会出现「隐形菜单」 */
@keyframes site-dropdown-in {
    from {
        transform: translateY(-8px);
    }
    to {
        transform: translateY(0);
    }
}

.site-navbar .dropdown-menu {
    min-width: 236px;
    padding: 10px 0;
    border: 1px solid rgba(18, 59, 99, .08);
    border-top: 2px solid var(--c-accent);
    border-radius: 6px;
    background: linear-gradient(180deg, #fff 0%, #fdfcf9 100%);
    box-shadow:
        0 20px 44px rgba(14, 39, 64, .16),
        0 6px 14px rgba(14, 39, 64, .08);
    animation: site-dropdown-in .22s ease both;
}

.site-navbar .dropdown-menu > li > a {
    padding: 11px 26px;
    color: var(--c-text);
    font-size: 14.5px;
    line-height: 1.55;
    border-left: 3px solid transparent;
    transition: background .18s ease, color .18s ease,
        border-color .18s ease, padding-left .18s ease;
}

.site-navbar .dropdown-menu > li + li > a {
    border-top: 1px solid rgba(18, 59, 99, .06);
}

.site-navbar .dropdown-menu > li > a:hover,
.site-navbar .dropdown-menu > li > a:focus {
    background: linear-gradient(90deg,
        rgba(185, 138, 46, .13), rgba(185, 138, 46, .03) 70%, transparent);
    color: var(--c-primary);
    border-left-color: var(--c-accent);
    padding-left: 30px;
}

/* 下拉箭头随展开状态翻转 */
.site-navbar .dropdown-toggle .caret {
    margin-left: 6px;
    transition: transform .2s ease;
}

.site-navbar .navbar-nav > .dropdown:hover > .dropdown-toggle .caret,
.site-navbar .navbar-nav > .dropdown.open > .dropdown-toggle .caret {
    transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
    .site-navbar .dropdown-menu {
        animation: none;
    }

    .site-navbar .dropdown-menu > li > a,
    .site-navbar .dropdown-toggle .caret {
        transition: none;
    }
}

/* 桌面端：悬停/键盘聚焦即展开子菜单。
   父级链接仍指向栏目总页（保证爬虫与直接点击可达），
   移动端由折叠菜单 + Bootstrap 点击行为接管。 */
@media (min-width: 768px) {
    .site-navbar .navbar-nav > .dropdown:hover > .dropdown-menu,
    .site-navbar .navbar-nav > .dropdown:focus-within > .dropdown-menu,
    .site-navbar .navbar-nav > .dropdown.open > .dropdown-menu {
        display: block;
    }

    .site-navbar .navbar-nav > .dropdown:hover > a,
    .site-navbar .navbar-nav > .dropdown:focus-within > a {
        color: var(--c-primary);
    }

    /* 悬停区域下移填补空隙，避免鼠标移动过程中菜单闪断 */
    .site-navbar .navbar-nav > .dropdown:hover > .dropdown-menu {
        margin-top: 0;
    }
}

.site-navbar .navbar-toggle {
    margin-top: 16px;
    border-color: var(--c-border);
}

.site-navbar .navbar-toggle .icon-bar {
    background: var(--c-primary);
}

/* --------------------------------------------------------------------------
   3. 首屏 Banner
   -------------------------------------------------------------------------- */
/* 首屏：全屏轮播（左右通栏）+ 文案叠加层。
   轮播由 site.js 的 initHeroCarousel() 初始化（模板不写 data-ride）；
   系统开启「减少动态」时停止自动播放，仍可手动切换；无 JS 时只显示第一张。 */
.hero {
    position: relative;
    background: var(--c-ink);
    color: #fff;
    border-bottom: 1px solid rgba(185, 138, 46, .45);
    overflow: hidden;
}

.hero-carousel {
    width: 100%;
}

/* 图片包在 <picture> 里（手机端换 -m 竖构图），选择器用后代匹配 */
.hero-carousel .carousel-inner .item img {
    display: block;
    width: 100%;
    height: 620px;
    object-fit: cover;
    object-position: center;
}

/* 英文页轮播在右侧窄栏（约 5 列宽），取景右移对准主体（约见源图 46%~88% 横带），避免把中段裁掉；
   手机端换 4:5 竖构图后几乎不裁切，仍回落移动端的取景规则 */
@media (min-width: 768px) {
    /* 毕业幻灯片：人物重心偏下，桌面 620px 视窗取景下移让脚部完整进画（75% 适配 2026-11-02 第二轮图的人物脚位） */
    .hero-carousel .carousel-inner .item-focus-lower img {
        object-position: center 75%;
    }

    /* 英文页窄栏恒用竖版构图（hero-*-m），完整显示不裁局部 */
    .hero-visual .hero-carousel .carousel-inner .item img {
        object-position: center;
    }
}

/* 文案叠加：渐变遮罩保证文字可读；overlay 层不拦截轮播控件点击 */
.hero-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    background: linear-gradient(90deg, rgba(12, 28, 52, .82) 0%, rgba(12, 28, 52, .5) 46%, rgba(12, 28, 52, .12) 100%);
    pointer-events: none;
}

.hero-overlay .container {
    width: 100%;
}

.hero-overlay .hero-copy {
    max-width: 640px;
    /* 文案相对版心右移一段距离（按比例缩放，窄屏下限 24px） */
    margin-left: clamp(24px, 8%, 120px);
    pointer-events: auto;
}

.hero-carousel .carousel-indicators {
    bottom: 14px;
    margin-bottom: 0;
    width: auto;
    left: 50%;
    transform: translateX(-50%);
}

.hero-carousel .carousel-indicators li {
    width: 9px;
    height: 9px;
    margin: 0 4px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .5);
    /* 图片底部可能很亮，加一圈描边保证指示点始终可见 */
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .35);
}

.hero-carousel .carousel-indicators .active {
    width: 9px;
    height: 9px;
    margin: 0 4px;
    background: var(--c-accent);
}

.hero-carousel .carousel-control {
    width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 30, 60, .16);
    opacity: .8;
    text-shadow: none;
    /* 提到 hero-overlay 之上：移动端文字块全宽时会盖住两侧箭头，导致无法点击切换 */
    z-index: 2;
}

.hero-carousel .carousel-control:hover,
.hero-carousel .carousel-control:focus {
    opacity: 1;
    background: rgba(10, 30, 60, .3);
}

.hero-carousel .carousel-control .fa {
    font-size: 24px;
    line-height: 1;
    margin: 0;
}

.hero-title {
    color: #fff;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: .01em;
    margin: 0 0 18px;
    text-wrap: balance;
}

.hero-title::after {
    content: "";
    display: block;
    width: 56px;
    height: 3px;
    background: var(--c-accent);
    margin-top: 20px;
}

.hero-subtitle {
    font-size: 16px;
    color: rgba(255, 255, 255, .88);
    margin: 0 0 30px;
}

.hero-actions {
    margin: 0 0 26px;
}

.hero .btn-primary {
    background: var(--c-accent);
    border-color: var(--c-accent);
    color: #3a2a06;
    font-weight: 600;
    padding: 12px 34px;
}

.hero .btn-primary:hover,
.hero .btn-primary:focus {
    background: var(--c-accent-dark);
    border-color: var(--c-accent-dark);
    color: #3a2a06;
}

.hero-points {
    margin: 0;
    color: rgba(255, 255, 255, .9);
    font-size: 14px;
}

.hero-points > li {
    margin: 0;
    color: rgba(255, 255, 255, .86);
}

.hero-points > li + li::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 11px;
    background: rgba(255, 255, 255, .3);
    margin: 0 14px;
    vertical-align: -1px;
}

/* 去掉三连对勾图标（模板观感最重的一处） */
.hero-points .fa {
    display: none;
}

/* --------------------------------------------------------------------------
   4. 四大业务板块
   -------------------------------------------------------------------------- */
.section-services {
    background: #fff;
    padding-top: 56px;
}

.service-card {
    display: block;
    height: 100%;
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    padding: 26px 22px;
    margin-bottom: 24px;
    color: var(--c-text);
    transition: box-shadow .2s, transform .2s, border-color .2s;
}

.service-card:hover {
    border-color: var(--c-primary);
    color: var(--c-text);
}

.service-card-title {
    font-size: 18px;
    margin: 0 0 12px;
    color: var(--c-primary);
}

.service-card-text {
    color: var(--c-muted);
    font-size: 14px;
    margin: 0 0 16px;
}

.service-card-more {
    color: var(--c-primary);
    font-size: 14px;
}

/* --------------------------------------------------------------------------
   5. 院校快速入口
   -------------------------------------------------------------------------- */
.section-schools {
    background: var(--c-bg);
    padding: 56px 0;
}

.school-entry {
    text-align: center;
    margin: 0 0 8px;
}

.school-entry > li {
    margin: 0 4px 10px;
    /* li 默认按基线对齐，卡片内 logo 高度不同会把基线顶高导致各卡片上下错位，
       改为垂直居中对齐，保证所有 logo 卡片处在同一水平线上 */
    vertical-align: middle;
}

.school-entry > li > a {
    display: inline-block;
    padding: 7px 16px;
    background: transparent;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    font-size: 14px;
    color: var(--c-text);
}

.school-entry > li > a:hover {
    border-color: var(--c-primary);
    color: var(--c-primary);
}

/* 带 logo 的入口：改为固定高度的 logo 托底卡片，logo 保持比例居中 */
.school-entry > li > a.school-entry-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 64px;
    padding: 8px 10px;
    background: #fff;
}

.school-entry-logo {
    max-width: 120px;
    max-height: 48px;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* --------------------------------------------------------------------------
   6. 精选案例
   -------------------------------------------------------------------------- */
.case-card {
    display: block;
    background: #fff;
    border: 1px solid var(--c-border);
    border-left: 2px solid var(--c-accent);
    border-radius: var(--radius);
    padding: 24px;
    margin-bottom: 24px;
    color: var(--c-text);
    min-height: 168px;
}

/* 卡片在 flex 行中填满列高，保证同一行底部对齐 */
.case-card {
    height: 100%;
}

/* flex 列布局下子元素默认被拉伸，徽章需要收缩为内容宽度 */
.case-tag {
    align-self: flex-start;
}

.case-card:hover {
    border-color: var(--c-primary);
    color: var(--c-text);
}

.case-tag {
    display: inline-block;
    background: var(--c-primary-light);
    color: var(--c-primary);
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 3px;
    margin-bottom: 12px;
}

.case-title {
    font-size: 16px;
    margin: 0 0 16px;
    line-height: 1.5;
}

.case-more {
    color: var(--c-primary);
    font-size: 14px;
}

/* --------------------------------------------------------------------------
   7. 服务优势（图文交替行：桌面端图左文右/文左图右交替，移动端图上文下）
   -------------------------------------------------------------------------- */
.section-advantages {
    background: var(--c-bg);
    padding: 56px 0;
}

.advantage-row {
    margin-bottom: 48px;
}

.advantage-row:last-child {
    margin-bottom: 0;
}

/* 16:9 图片容器：padding-bottom 撑出比例 + overflow 裁切，机制同 .card-media */
.advantage-figure {
    display: block;
    position: relative;
    overflow: hidden;
    padding-bottom: 56.25%;
    background: #f0ece4;
    border-radius: var(--radius);
}

.advantage-figure img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.advantage-row:hover .advantage-figure img {
    transform: scale(1.045);
}

/* 移动端：图上文下，图片与文字留间距 */
.advantage-media {
    margin-bottom: 18px;
}

.advantage-title {
    font-size: 20px;
    margin: 0 0 10px;
}

.advantage-index {
    display: inline-block;
    font-family: var(--font-serif);
    font-size: 16px;
    font-weight: 700;
    color: var(--c-accent);
    margin-right: 10px;
}

.advantage-text {
    color: var(--c-muted);
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
}

/* 桌面端：单行图文垂直居中，文字列向图片侧留出呼吸空间 */
@media (min-width: 992px) {
    .advantage-row {
        align-items: center;
        margin-bottom: 56px;
    }

    .advantage-media {
        margin-bottom: 0;
    }

    .advantage-body {
        padding-left: 44px;
    }

    /* 偶数行左右互换：图列换到右侧、文字列换到左侧（Flex order，纯 Bootstrap 3 + 手写 CSS） */
    .advantage-row:nth-of-type(even) .advantage-media {
        order: 2;
    }

    .advantage-row:nth-of-type(even) .advantage-body {
        order: 1;
        padding-left: 15px;
        padding-right: 44px;
    }
}

/* --------------------------------------------------------------------------
   8. FAQ
   -------------------------------------------------------------------------- */
.faq-accordion .faq-item {
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    margin-bottom: 12px;
    overflow: hidden;
}

.faq-accordion .panel-heading {
    background: #fff;
    border: 0;
    padding: 0;
}

.faq-accordion .panel-title {
    font-size: 16px;
    margin: 0;
}

.faq-accordion .panel-title > a {
    display: block;
    padding: 16px 20px;
    color: var(--c-text);
}

.faq-accordion .panel-title > a:hover {
    color: var(--c-primary);
}

.faq-question {
    display: inline-block;
    width: 88%;
    vertical-align: middle;
}

.faq-icon {
    float: right;
    transition: transform .2s;
    color: var(--c-muted);
    margin-top: 4px;
}

.faq-accordion .panel-title > a[aria-expanded="true"] .faq-icon {
    transform: rotate(180deg);
    color: var(--c-primary);
}

.faq-accordion .panel-body {
    border-top: 1px solid var(--c-border);
    background: #fcfdfe;
    color: var(--c-muted);
    padding: 16px 20px;
}

/* --------------------------------------------------------------------------
   9. 咨询表单 / CTA
   -------------------------------------------------------------------------- */
.section-consult {
    background: var(--c-bg);
    padding: 56px 0 64px;
}

.consult-box,
.contact-form-box {
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    border-top: 3px solid var(--c-accent);
    padding: 32px;
}

.consult-title {
    font-size: 22px;
    text-align: center;
    margin: 0 0 10px;
}

.consult-subtitle {
    color: var(--c-muted);
    text-align: center;
    margin: 0 0 26px;
}

.consult-form .form-group {
    margin-bottom: 16px;
}

.consult-form label {
    font-weight: 500;
    font-size: 14px;
    margin-bottom: 6px;
}

.consult-form .form-control {
    height: 42px;
    border-radius: 4px;
    border-color: #d8dee6;
    font-size: 14px;
    box-shadow: none;
}

.consult-form .form-control:focus {
    border-color: var(--c-primary);
    box-shadow: 0 0 0 3px rgba(26, 95, 180, .12);
}

.consult-form .btn-consult-submit {
    height: 42px;
    background: var(--c-primary);
    border-color: var(--c-primary);
    font-weight: 600;
}

.consult-form .btn-consult-submit:hover {
    background: var(--c-primary-dark);
    border-color: var(--c-primary-dark);
}

.consult-form .btn-consult-submit[disabled] {
    opacity: .7;
}

.consult-form-tip {
    color: var(--c-muted);
    font-size: 12px;
    margin: 6px 0 0;
    line-height: 1.6;
}

.consult-form-result {
    margin: 14px 0 0;
}

/* 蜜罐字段：移出可视区域但保留在表单中（display:none 会被部分机器人跳过） */
.hp-field {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.captcha-addon {
    padding: 0;
    border: 0;
    background: transparent;
}

.captcha-img {
    display: block;
    width: 112px;
    height: 42px;
    cursor: pointer;
    border: 1px solid #d8dee6;
    border-radius: 4px;
}

/* --------------------------------------------------------------------------
   10. 页脚
   -------------------------------------------------------------------------- */
.site-footer {
    background: var(--c-ink);
    border-top: 1px solid rgba(185, 138, 46, .45);
    color: rgba(255, 255, 255, .72);
    padding: 48px 0 20px;
    font-size: 14px;
}

.site-footer a {
    color: rgba(255, 255, 255, .72);
}

.site-footer a:hover {
    color: #fff;
}

.footer-brand {
    color: #fff;
    font-size: 20px;
    margin: 0 0 10px;
}

.footer-slogan {
    color: rgba(255, 255, 255, .6);
    font-size: 13px;
    margin: 0 0 18px;
}

.footer-title {
    color: #fff;
    font-size: 15px;
    margin: 0 0 16px;
}

.footer-links > li {
    margin-bottom: 10px;
}

.footer-contact > li {
    margin-bottom: 12px;
    display: flex;
}

.footer-contact .fa {
    width: 18px;
    color: var(--c-accent);
    margin-top: 4px;
    flex: 0 0 18px;
}

.footer-contact span {
    flex: 1;
    word-break: break-all;
}

.footer-cta-text {
    color: rgba(255, 255, 255, .6);
    font-size: 13px;
    margin-bottom: 12px;
}

.footer-cta-btn {
    background: var(--c-accent);
    border-color: var(--c-accent);
    color: #3a2a06;
    font-weight: 600;
}

.footer-cta-btn:hover {
    background: var(--c-accent-dark);
    border-color: var(--c-accent-dark);
    color: #3a2a06;
}

.footer-qrcode {
    margin-top: 16px;
    text-align: center;
}

.footer-qrcode img {
    width: 104px;
    height: 104px;
    background: #fff;
    padding: 4px;
    border-radius: 4px;
}

.footer-qrcode span {
    display: block;
    font-size: 12px;
    margin-top: 6px;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .12);
    margin-top: 32px;
    padding-top: 18px;
    font-size: 13px;
}

.footer-copyright {
    margin: 0 0 6px;
}

.footer-meta {
    margin: 0;
}

.footer-meta > a,
.footer-meta > span {
    margin-right: 16px;
    display: inline-block;
}

/* --------------------------------------------------------------------------
   11. 占位页 / 404
   -------------------------------------------------------------------------- */
.placeholder-box {
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    padding: 56px 24px;
    text-align: center;
    margin-bottom: 40px;
}

.placeholder-icon {
    font-size: 40px;
    color: #b9c5d3;
    margin-bottom: 16px;
    display: block;
}

.placeholder-text {
    color: var(--c-muted);
    margin-bottom: 22px;
}

.placeholder-actions .btn {
    margin: 0 6px;
}

.error-page {
    padding: 80px 0 96px;
    text-align: center;
}

.error-code {
    font-size: 76px;
    font-weight: 700;
    color: var(--c-primary-light);
    margin: 0;
    line-height: 1;
}

.error-title {
    font-size: 24px;
    margin: 10px 0 14px;
}

.error-message {
    color: var(--c-muted);
    margin-bottom: 26px;
}

.error-actions .btn {
    margin: 0 6px;
}

.error-links {
    margin-top: 28px;
    color: var(--c-muted);
    font-size: 14px;
}

.error-links a {
    margin-left: 12px;
}

/* --------------------------------------------------------------------------
   12. 关于我们
   -------------------------------------------------------------------------- */
.page-about .about-block {
    margin-bottom: 40px;
}

.page-about .section-title {
    text-align: left;
    font-size: 20px;
    padding-left: 12px;
    border-left: 2px solid var(--c-accent);
}

.idea-item {
    margin-bottom: 20px;
}

.idea-title {
    font-size: 16px;
    margin: 0 0 8px;
    color: var(--c-primary);
}

.idea-text {
    color: var(--c-muted);
    font-size: 14px;
    margin: 0;
}

.about-gallery {
    margin-bottom: 8px;
}

.gallery-placeholder {
    height: 170px;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    background: var(--c-bg);
    color: #a8b4c2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    font-size: 13px;
}

.gallery-placeholder .fa {
    font-size: 30px;
    margin-bottom: 8px;
}

.gallery-note {
    color: var(--c-muted);
    font-size: 13px;
}

.page-cta {
    background: var(--c-primary-light);
    border-radius: var(--radius);
    padding: 28px 24px;
    text-align: center;
}

.page-cta p {
    font-size: 16px;
    margin-bottom: 16px;
}

/* --------------------------------------------------------------------------
   13. 联系我们
   -------------------------------------------------------------------------- */
.page-contact .section-title {
    text-align: left;
    font-size: 20px;
    padding-left: 12px;
    border-left: 2px solid var(--c-accent);
}

.contact-info {
    margin-bottom: 32px;
}

.contact-list > li {
    display: flex;
    padding: 14px 0;
    border-bottom: 1px dashed var(--c-border);
}

.contact-list > li:last-child {
    border-bottom: 0;
}

.contact-list .fa {
    width: 22px;
    font-size: 17px;
    color: var(--c-primary);
    margin-top: 3px;
    flex: 0 0 22px;
}

.contact-list > li > div {
    flex: 1;
}

.contact-list strong {
    display: block;
    font-size: 13px;
    color: var(--c-muted);
    font-weight: 500;
}

.contact-list span {
    font-size: 15px;
    word-break: break-all;
}

.contact-qrcode {
    margin-top: 18px;
    text-align: center;
}

.contact-qrcode img {
    width: 130px;
    height: 130px;
    border: 1px solid var(--c-border);
    padding: 4px;
    border-radius: 4px;
}

.contact-qrcode span {
    display: block;
    font-size: 13px;
    color: var(--c-muted);
    margin-top: 8px;
}

.contact-map {
    margin-top: 40px;
}

.map-embed,
.map-placeholder {
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    background: var(--c-bg);
    min-height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--c-muted);
    text-align: center;
    padding: 24px;
}

.map-placeholder .fa {
    font-size: 34px;
    color: #b9c5d3;
    margin-bottom: 10px;
}

.map-placeholder .map-note {
    font-size: 13px;
    color: #9aa7b5;
    margin: 6px 0 0;
}

.map-embed iframe {
    width: 100%;
    height: 340px;
    border: 0;
    display: block;
}

/* 到访位置静态地图：2:1 图卡 + 地址信息行 */
.contact-map-figure {
    margin: 14px 0 0;
    border: 1px solid rgba(18, 59, 99, .1);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(14, 39, 64, .1);
    background: var(--c-bg);
}

.contact-map-figure img {
    display: block;
    width: 100%;
    height: auto;
}

.contact-map-meta {
    margin-top: 14px;
}

.contact-map-meta .map-address {
    margin: 0;
    font-weight: 600;
    color: var(--c-ink);
}

.contact-map-meta .map-address .fa {
    color: var(--c-accent);
    margin-right: 6px;
}

.contact-map-meta .map-note {
    font-size: 13px;
    color: var(--c-muted);
    margin: 6px 0 12px;
}

.contact-privacy {
    margin-top: 28px;
    color: var(--c-muted);
    font-size: 13px;
    text-align: center;
}

/* --------------------------------------------------------------------------
   14. 隐私政策
   -------------------------------------------------------------------------- */
.page-privacy .section-title {
    text-align: left;
    font-size: 18px;
    margin-top: 26px;
}

/* 隐私政策标题左对齐，去掉居中金色短线；正文收成居中阅读栏，避免右侧大片空白 */
.page-privacy .section-title::before {
    content: none;
}

.page-privacy .rich-text,
.page-privacy .privacy-draft {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.page-privacy .privacy-contact {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.rich-text {
    line-height: 1.85;
}

.rich-text p {
    margin-bottom: 14px;
}

.draft-note {
    background: #fff8e6;
    border: 1px solid #f0dca8;
    border-radius: var(--radius);
    padding: 12px 16px;
    font-size: 13px;
    color: #8a6d1f;
    margin-bottom: 24px;
}

.page-privacy .privacy-effective {
    max-width: 820px;
    margin: 24px auto 0;
    color: var(--c-muted);
    font-size: 13px;
}

.privacy-contact {
    margin-top: 32px;
    color: var(--c-muted);
    font-size: 13px;
}

/* 等高卡片行：Bootstrap 3 栅格默认浮动不齐高，这里用 flex 让同一行卡片等高、底部链接对齐 */
.row-equal {
    display: flex;
    flex-wrap: wrap;
}

.row-equal > [class*="col-"] {
    min-width: 0;
}

/* flex 布局下不需要 Bootstrap 3 的浮动清除伪元素（否则会多出一个 flex 项） */
.row-equal::before,
.row-equal::after {
    content: none;
}

/* 卡片数量不满一行时居中，避免左侧留白（配合 row-equal 使用） */
.row-center {
    justify-content: center;
}

.service-card,
.case-card,
.service-other {
    display: flex;
    flex-direction: column;
}

.service-card-more,
.case-more {
    margin-top: auto;
}

/* --------------------------------------------------------------------------
   14.5 升学服务页（总页 + 子页）
   -------------------------------------------------------------------------- */
.lead-text {
    font-size: 16px;
    color: var(--c-muted);
    max-width: 900px;
    margin: 0 0 36px;
    line-height: 1.85;
}

.section-process {
    background: var(--c-bg);
}

.process-steps {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}

.process-step {
    flex: 1 1 200px;
    margin: 0 10px 20px;
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    padding: 20px 18px;
}

.process-index {
    display: block;
    font-family: var(--font-serif);
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    color: var(--c-accent);
    margin-bottom: 10px;
}

.process-name {
    font-size: 16px;
    margin: 0 0 8px;
}

.process-text {
    color: var(--c-muted);
    font-size: 14px;
    margin: 0;
}

.service-items {
    margin-bottom: 40px;
}

.service-items .section-title,
.service-section .section-title,
.service-others .section-title,
.page-service-detail .service-faq .section-title {
    text-align: left;
    padding-left: 12px;
    border-left: 2px solid var(--c-accent);
    font-size: 20px;
    margin-bottom: 20px;
}

/* 编辑式序号清单：衬线序号 + 名称/描述分层；md+ 两列等高，细线通栏分隔 */
.item-ledger {
    border-top: 2px solid var(--c-accent);
    margin-bottom: 8px;
}

.item-ledger > li {
    border-bottom: 1px solid var(--c-border);
}

.item-ledger-item {
    display: flex;
    align-items: flex-start;
    height: 100%;
    padding: 24px 0;
}

.item-ledger-num {
    flex: 0 0 52px;
    font-family: var(--font-serif);
    font-size: 26px;
    font-weight: 700;
    line-height: 1.15;
    color: var(--c-accent);
    transition: color .2s;
}

.item-ledger-body {
    flex: 1 1 auto;
    min-width: 0;
}

.item-ledger-name {
    font-size: 17px;
    font-weight: 600;
    color: var(--c-ink);
    margin: 0 0 8px;
    transition: color .2s;
}

.item-ledger-text {
    color: var(--c-muted);
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
}

.item-ledger > li:hover .item-ledger-name {
    color: var(--c-primary);
}

.item-ledger > li:hover .item-ledger-num {
    color: var(--c-accent-dark);
}

.service-section {
    margin-bottom: 40px;
}

.service-section-text {
    color: var(--c-muted);
    margin: 0 0 8px;
    line-height: 1.85;
}

/* 时间线/适配群体：与序号清单同款细线分隔，行前金色菱形标记 */
.service-section-list > li {
    position: relative;
    padding: 18px 0 18px 22px;
    border-bottom: 1px solid var(--c-border);
}

.service-section-list > li:first-child {
    border-top: 1px solid var(--c-border);
}

.service-section-list > li::before {
    content: "";
    position: absolute;
    left: 3px;
    top: 27px;
    width: 7px;
    height: 7px;
    background: var(--c-accent);
    transform: rotate(45deg);
}

.service-list-name {
    font-size: 16px;
    font-weight: 600;
    color: var(--c-ink);
    margin: 0 0 6px;
}

.service-list-text {
    color: var(--c-muted);
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
}

.service-faq {
    margin-bottom: 40px;
}

.service-other {
    display: block;
    height: 100%;
    background: var(--c-bg);
    border: 1px solid var(--c-border);
    border-left: 2px solid var(--c-accent);
    border-radius: var(--radius);
    padding: 18px;
    margin-bottom: 20px;
    color: var(--c-text);
    transition: border-color .2s, box-shadow .2s, transform .2s;
}

.service-other:hover {
    border-color: var(--c-primary);
    border-left-color: var(--c-accent);
    color: var(--c-text);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(28, 37, 48, .08);
}

.service-other-name {
    font-size: 16px;
    color: var(--c-primary);
    margin: 0 0 8px;
}

.service-other-name::after {
    content: "\f105";
    font-family: FontAwesome;
    display: inline-block;
    margin-left: 8px;
    color: var(--c-accent);
    transition: transform .2s;
}

.service-other:hover .service-other-name::after {
    transform: translateX(4px);
}

.service-other-text {
    color: var(--c-muted);
    font-size: 13px;
    margin: 0;
}

/* --------------------------------------------------------------------------
   14.6 院校库与专业页
   -------------------------------------------------------------------------- */
.school-search {
    max-width: 540px;
    margin: 0 0 20px;
}

.filter-tabs {
    margin: 0 0 26px;
}

.filter-tabs > li {
    margin: 0 6px 10px 0;
}

.filter-tabs > li > a {
    display: inline-block;
    padding: 7px 16px;
    background: transparent;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    font-size: 14px;
    color: var(--c-text);
}

.filter-tabs > li > a:hover {
    border-color: var(--c-primary);
    color: var(--c-primary);
}

.filter-tabs > li.active > a,
.filter-tabs > li.active > a:hover {
    background: var(--c-primary);
    border-color: var(--c-primary);
    color: #fff;
}

.filter-count {
    margin-left: 6px;
    font-family: var(--font-serif);
    font-size: 12px;
    opacity: .7;
}

.empty-state {
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    padding: 56px 24px;
    text-align: center;
    margin-bottom: 24px;
}

.empty-state .fa {
    display: block;
    font-size: 38px;
    color: var(--c-border);
    margin-bottom: 14px;
}

.empty-hint {
    color: var(--c-muted);
    font-size: 13px;
    margin: 6px 0 0;
}

/* 院校库列表（榜格式）：不使用通用校园图，改为信息行 + 细分隔线 */
.school-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 22px 0;
    border-bottom: 1px solid var(--c-border);
    color: var(--c-text);
    transition: background .2s;
}

.school-row:hover {
    background: rgba(18, 59, 99, .035);
    color: var(--c-text);
}

.school-row-badge {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 18px;
    font-family: var(--font-serif);
    font-size: 22px;
    color: var(--c-accent);
    border: 1px solid var(--c-border);
    background: transparent;
}

.school-row-badge img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.school-row-main {
    flex: 1 1 240px;
    min-width: 0;
    margin-right: 18px;
}

.school-row-name {
    display: block;
    font-size: 17px;
    font-weight: 600;
    color: var(--c-primary);
}

.school-row-enname {
    display: block;
    margin-top: 3px;
    font-family: var(--font-serif);
    font-size: 13px;
    color: var(--c-muted);
    word-break: break-word;
}

.school-row-meta {
    flex: 0 0 168px;
    margin-right: 18px;
    font-size: 13px;
    color: var(--c-muted);
}

.school-row-meta span {
    display: block;
}

.school-row-meta .fa {
    width: 15px;
    color: var(--c-accent);
}

.school-row-summary {
    flex: 1 1 320px;
    min-width: 0;
    margin-right: 18px;
    font-size: 14px;
    color: var(--c-muted);
}

.school-row-more {
    flex: 0 0 116px;
    text-align: right;
    font-size: 13px;
    color: var(--c-primary);
    white-space: nowrap;
}

.school-card-head {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}

.school-logo {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    margin-right: 12px;
    object-fit: contain;
}

.school-logo-text {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--c-primary-light);
    color: var(--c-primary);
    border-radius: 6px;
    font-size: 20px;
    font-weight: 600;
}

.school-card-title {
    min-width: 0;
}

.school-name {
    font-size: 17px;
    color: var(--c-primary);
    margin: 0;
}

.school-enname {
    font-size: 12px;
    color: var(--c-muted);
    margin: 3px 0 0;
    word-break: break-word;
}

.school-meta {
    margin: 0 0 10px;
    font-size: 13px;
    color: var(--c-muted);
}

.school-meta > li {
    margin-right: 14px;
}

.school-meta .fa {
    margin-right: 4px;
    color: #9aa7b5;
}

/* QS 世界排名标注（画册口径：QS2026） */
.rank-badge {
    display: inline-block;
    padding: 1px 8px;
    border: 1px solid rgba(185, 138, 46, .45);
    border-radius: 999px;
    background: rgba(185, 138, 46, .1);
    color: var(--c-accent-dark);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.7;
    white-space: nowrap;
}

.rank-badge-inline {
    margin: 2px 0;
}

.rank-badge-inline .fa {
    margin-right: 4px;
    color: var(--c-accent);
}

.school-summary {
    color: var(--c-muted);
    font-size: 13px;
    margin: 0 0 14px;
}

.school-more {
    margin-top: auto;
    color: var(--c-primary);
    font-size: 13px;
}

.site-pagination {
    margin-top: 26px;
}

.site-pagination .pagination {
    margin: 0;
}

/* 院校详情 */
.school-header {
    display: flex;
    align-items: center;
    padding-bottom: 22px;
    margin-bottom: 28px;
    border-bottom: 1px solid var(--c-border);
}

.school-header-logo {
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    margin-right: 18px;
    object-fit: contain;
}

.school-header-body {
    min-width: 0;
}

.school-header-enname {
    color: var(--c-muted);
    margin: 2px 0 10px;
}

.page-school-detail .section-h1 {
    margin-bottom: 4px;
}

.school-block,
.major-block {
    margin-bottom: 36px;
}

.school-block .section-title,
.major-block .section-title {
    text-align: left;
    font-size: 20px;
    padding-left: 12px;
    border-left: 2px solid var(--c-accent);
    margin-bottom: 18px;
}

.section-note {
    color: var(--c-muted);
    font-size: 13px;
    margin: 0 0 16px;
}

.major-table {
    background: #fff;
}

.major-table > thead > tr > th {
    background: var(--c-bg);
    font-weight: 600;
    vertical-align: middle;
}

.major-table > tbody > tr > td {
    vertical-align: middle;
}

.tier-tag {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 3px;
    font-size: 12px;
    white-space: nowrap;
}

.tier-reach {
    background: #fdeaea;
    color: #c0392b;
}

.tier-match {
    background: var(--c-primary-light);
    color: var(--c-primary);
}

.tier-safe {
    background: #eaf7ee;
    color: #1f7a45;
}

/* 专业详情 */
.major-subtitle {
    color: var(--c-muted);
    font-size: 15px;
    margin: 0 0 24px;
}

.major-subtitle .tier-tag {
    margin-left: 10px;
}

.major-spec-table > tbody > tr > th {
    width: 28%;
    background: var(--c-bg);
    font-weight: 500;
    color: var(--c-text);
    vertical-align: middle;
}

.major-related {
    margin-top: 8px;
}

.related-links > li {
    margin-bottom: 10px;
}

.related-links > li > a {
    font-size: 15px;
}

/* --------------------------------------------------------------------------
   14.7 成功案例
   -------------------------------------------------------------------------- */
.case-card-full {
    min-height: 0;
    padding: 24px 22px;
}

.case-summary {
    color: var(--c-muted);
    font-size: 14px;
    margin: 0 0 16px;
}

.case-date {
    color: #9aa7b5;
    margin-right: 12px;
    font-size: 12px;
}

.case-header {
    margin-bottom: 24px;
}

.case-header .section-h1 {
    margin: 12px 0 10px;
}

.case-meta {
    color: var(--c-muted);
    font-size: 13px;
    margin: 0;
}

.case-meta > span {
    margin-right: 16px;
}

.case-meta .fa {
    margin-right: 4px;
}

.case-cover {
    margin-bottom: 28px;
}

/* 案例页头封面：16:9 专属裁切图，完整显示（勿再裁切） */
.case-cover img {
    width: 100%;
    height: auto;
    border-radius: var(--radius);
}

.case-block {
    margin-bottom: 34px;
}

.case-block .section-title {
    text-align: left;
    font-size: 20px;
    padding-left: 12px;
    border-left: 2px solid var(--c-accent);
    margin-bottom: 16px;
}

/* 富文本（编辑器输出）中的表格：编辑器不会带 Bootstrap 的 .table 类，这里补齐可读样式 */
.rich-text table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 16px;
    font-size: 14px;
}

.rich-text table th,
.rich-text table td {
    border: 1px solid var(--c-border);
    padding: 9px 12px;
    vertical-align: top;
    text-align: left;
}

.rich-text table th,
.rich-text table tbody th {
    background: var(--c-bg);
    font-weight: 600;
}

.rich-text ol,
.rich-text ul {
    padding-left: 22px;
    margin-bottom: 14px;
}

.rich-text li {
    margin-bottom: 6px;
}

.rich-text img {
    max-width: 100%;
    height: auto;
}

/* --------------------------------------------------------------------------
   14.8 升学资讯
   -------------------------------------------------------------------------- */
.article-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid var(--c-border);
    border-left: 2px solid var(--c-accent);
    border-radius: var(--radius);
    padding: 24px 22px;
    margin-bottom: 24px;
    color: var(--c-text);
    transition: box-shadow .2s, border-color .2s;
}

.article-card:hover {
    border-color: var(--c-primary);
    color: var(--c-text);
}

.article-tag {
    align-self: flex-start;
    display: inline-block;
    background: var(--c-primary-light);
    color: var(--c-primary);
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 3px;
    margin-bottom: 12px;
}

.article-title {
    font-size: 16px;
    margin: 0 0 12px;
    line-height: 1.55;
}

.article-summary {
    color: var(--c-muted);
    font-size: 14px;
    margin: 0 0 16px;
}

.article-more {
    margin-top: auto;
    color: var(--c-primary);
    font-size: 13px;
}

.article-lead {
    margin-bottom: 22px;
    color: var(--c-text);
    font-size: 15px;
}

/* 文章正文的小标题（编辑器里用 H2/H3 组织问答结构） */
.rich-text h2 {
    font-size: 19px;
    margin: 26px 0 12px;
    padding-left: 10px;
    border-left: 3px solid var(--c-primary);
}

.rich-text h3 {
    font-size: 16px;
    margin: 20px 0 10px;
}

.rich-text h2:first-child,
.rich-text h3:first-child {
    margin-top: 0;
}

.rich-text blockquote {
    border-left: 3px solid var(--c-border);
    padding: 4px 0 4px 14px;
    color: var(--c-muted);
    margin: 0 0 16px;
}

/* --------------------------------------------------------------------------
   14.9 图片体系（卡片封面 / 页面图带 / 图片渐显）
   -------------------------------------------------------------------------- */
.brand-logo {
    display: block;
    height: 52px;
    width: auto;
}

/* 卡片封面：16:9，容器裁切 + 悬停轻微放大 */
.card-media {
    display: block;
    position: relative;
    overflow: hidden;
    padding-bottom: 56.25%;
    margin: -24px -24px 16px;
    background: #f0ece4;
    border-radius: var(--radius) var(--radius) 0 0;
}

.service-card .card-media {
    margin: -26px -22px 16px;
}

.article-card .card-media,
.case-card-full .card-media {
    margin: -24px -22px 16px;
}

/* 资讯列表桌面端为 2 列，封面压到约 2.2:1，避免大图把卡片拉得过高、内部留白过多 */
@media (min-width: 992px) {
    .page-news .article-card .card-media {
        padding-bottom: 45%;
    }
}

/* 卡片 height:100% 时 margin-bottom 会与下一行重叠，行间距改由栅格列承担 */
.page-news .row-equal > [class*="col-"] {
    padding-bottom: 24px;
}

.page-news .article-card {
    margin-bottom: 0;
}

.school-card .card-media {
    margin: -20px -20px 14px;
}

.card-media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.service-card:hover .card-media img,
.case-card:hover .card-media img,
.article-card:hover .card-media img,
.school-card:hover .card-media img {
    transform: scale(1.045);
}

/* 卡片需要裁切图片圆角 */
.service-card,
.case-card,
.article-card,
.school-card {
    overflow: hidden;
}

/* 页面顶部图带（服务详情） */
.page-band {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 360px;
    background: var(--c-ink);
}

.page-band-media {
    display: block;
}

.page-band-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-band-body {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 58px 0;
}

.page-band-body::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, rgba(11, 34, 68, .84) 0%, rgba(11, 34, 68, .52) 62%, rgba(11, 34, 68, .24) 100%);
    z-index: -1;
}

.page-band-title {
    color: #fff;
    font-size: 32px;
    margin: 0;
}

.page-band-kicker {
    color: rgba(255, 255, 255, .82);
    font-size: 14px;
    letter-spacing: .5px;
    margin: 0 0 8px;
}

/* 院校详情封面 */
.school-cover {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius);
    margin-bottom: 24px;
}

.school-cover img {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
}

/* 关于我们配图 */
.about-figure {
    margin: 0 0 20px;
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    overflow: hidden;
}

.about-figure img {
    display: block;
    width: 100%;
    height: auto;
}

.about-figure figcaption {
    padding: 10px 14px;
    font-size: 13px;
    color: var(--c-muted);
}

/* --------------------------------------------------------------------------
   14.10 动效层
   --------------------------------------------------------------------------
   无 JS 时内容默认可见：只有 site.js 给 <html> 加上 .js-reveal 后，
   带 data-reveal 的元素才会先隐藏再淡入。系统开启「减少动态」时全部关闭。
   -------------------------------------------------------------------------- */
@keyframes heroIn {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

.hero-copy > * {
    animation: heroIn .7s both ease;
}

.hero-copy > *:nth-child(1) { animation-delay: .05s; }
.hero-copy > *:nth-child(2) { animation-delay: .15s; }
.hero-copy > *:nth-child(3) { animation-delay: .25s; }
.hero-copy > *:nth-child(4) { animation-delay: .35s; }

.hero-visual {
    animation: heroIn .9s both ease;
    animation-delay: .2s;
}

.js-reveal [data-reveal] {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .6s ease, transform .6s ease;
}

.js-reveal [data-reveal].is-visible {
    opacity: 1;
    transform: none;
}

.js-reveal [data-reveal-group] > [class*="col-"] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .55s ease, transform .55s ease;
    transition-delay: calc(var(--reveal-i, 0) * 70ms);
}

.js-reveal [data-reveal-group] > [class*="col-"].is-visible {
    opacity: 1;
    transform: none;
}

/* 图片加载渐显（仅 JS 开启后生效） */
.js-reveal img[data-fade] {
    opacity: 0;
    transition: opacity .5s ease, transform .6s ease;
}

.js-reveal img[data-fade].is-loaded {
    opacity: 1;
}

/* 顶部导航：滚动后加阴影（导航为粘性定位时可见） */
.site-navbar {
    transition: box-shadow .25s ease;
}

.site-navbar.is-scrolled {
    box-shadow: 0 6px 20px rgba(20, 40, 70, .12);
}

@media (prefers-reduced-motion: reduce) {
    .hero-copy > *,
    .hero-visual {
        animation: none !important;
    }

    .js-reveal [data-reveal],
    .js-reveal [data-reveal-group] > [class*="col-"],
    .js-reveal img[data-fade] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .card-media img {
        transition: none !important;
    }

    .offer-card,
    .offer-card:hover,
    .offer-card:focus {
        transition: none !important;
        transform: none !important;
    }

    .service-other,
    .service-other:hover {
        transition: none !important;
        transform: none !important;
    }
}

/* --------------------------------------------------------------------------
   15. 响应式
   -------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------
   14. 按钮基调：统一为墨蓝，覆盖 Bootstrap 默认蓝，并与站点圆角一致
   -------------------------------------------------------------------------- */
.btn {
    border-radius: var(--radius);
}

.btn-primary {
    background: var(--c-primary);
    border-color: var(--c-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
    background: var(--c-primary-dark);
    border-color: var(--c-primary-dark);
}

.btn-default {
    border-radius: var(--radius);
    border-color: var(--c-border);
    color: var(--c-text);
}

.btn-default:hover,
.btn-default:focus {
    background: #fff;
    border-color: var(--c-primary);
    color: var(--c-primary);
}

/* 首屏与页脚的转化按钮保留金色强调，与墨蓝形成对比 */
.hero .btn-primary,
.site-footer .btn-primary {
    background: var(--c-accent);
    border-color: var(--c-accent);
    color: #2a1f06;
}

.hero .btn-primary:hover,
.hero .btn-primary:focus,
.site-footer .btn-primary:hover,
.site-footer .btn-primary:focus {
    background: var(--c-accent-dark);
    border-color: var(--c-accent-dark);
    color: #2a1f06;
}

@media (max-width: 991px) {
    .school-row-meta {
        flex: 1 1 100%;
        margin: 10px 0 0;
    }

    .school-row-meta span {
        display: inline-block;
        margin-right: 16px;
    }

    .school-row-summary {
        flex: 1 1 100%;
        margin: 8px 0 0;
    }

    .school-row-more {
        flex: 0 0 100%;
        text-align: left;
        margin-top: 8px;
    }

    .site-section {
        padding: 44px 0;
    }

    .hero {
        padding: 56px 0 50px;
    }

    .hero-title {
        font-size: 28px;
    }

    .section-title {
        font-size: 21px;
    }

    .consult-box,
    .contact-form-box {
        padding: 24px 20px;
    }

    /* 折叠菜单展开后的层级与可点区域 */
    .site-navbar .navbar-nav > li > a {
        padding: 13px 15px;
    }

    .site-navbar .navbar-nav > .active > a {
        box-shadow: inset 3px 0 0 var(--c-primary);
        background: var(--c-primary-light);
    }

    /* 折叠菜单内的下拉：金色左脊 + 白卡片，与桌面卡片语言一致 */
    .site-navbar .dropdown-menu {
        box-shadow: none;
        border: 0;
        border-left: 2px solid rgba(185, 138, 46, .4);
        border-radius: 0 4px 4px 0;
        background: #fff;
        padding: 4px 0;
        margin: 2px 0 10px 14px;
        animation: none;
        min-width: 0;
    }

    .site-navbar .dropdown-menu > li > a {
        padding: 10px 18px;
        border-left: 0;
    }

    .site-navbar .dropdown-menu > li + li > a {
        border-top-color: rgba(18, 59, 99, .05);
    }

    .footer-col {
        margin-bottom: 28px;
    }

    /* 序号清单：两列变窄后序号与内距同步收紧 */
    .item-ledger-item {
        padding: 20px 0;
    }

    .item-ledger-num {
        flex-basis: 44px;
        font-size: 22px;
    }

    .item-ledger-name {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    body.site-body {
        font-size: 14px;
    }

    .site-section {
        padding: 36px 0;
    }

    /* 全屏轮播-移动适配：文案沉底 + 底部渐变遮罩；取景偏右保住画面主体 */
    .hero-carousel .carousel-inner .item img {
        height: 460px;
        object-position: 68% center;
    }

    .hero-overlay {
        align-items: flex-end;
        background: linear-gradient(180deg, rgba(12, 28, 52, .18) 0%, rgba(12, 28, 52, .62) 52%, rgba(12, 28, 52, .88) 100%);
    }

    .hero-overlay .hero-copy {
        max-width: none;
        padding-bottom: 30px;
    }

    .hero-carousel .carousel-control {
        width: 34px;
    }

    .hero-carousel .carousel-control .fa {
        font-size: 20px;
    }

    .page-band {
        min-height: 260px;
    }

    .page-band-body {
        padding: 48px 0;
    }

    .page-band-title {
        font-size: 23px;
    }

    .school-cover img {
        height: 180px;
    }

    .site-navbar .brand-logo {
        height: 44px;
    }

    .hero-title {
        font-size: 23px;
    }

    .hero-subtitle {
        font-size: 14px;
    }

    .hero .btn-primary {
        width: 100%;
        padding: 12px 0;
    }

    .hero-points > li {
        display: block;
        margin: 4px 0;
    }

    /* 窄屏每项独占一行，不使用分隔竖线 */
    .hero-points > li + li::before {
        content: none;
    }

    .section-title {
        font-size: 19px;
    }

    .section-h1 {
        font-size: 22px;
    }

    .service-card,
    .case-card {
        margin-bottom: 16px;
    }

    .case-card {
        min-height: 0;
    }

    .faq-question {
        width: 82%;
    }

    .faq-accordion .panel-title > a {
        padding: 14px 16px;
        font-size: 15px;
    }

    .consult-title {
        font-size: 19px;
    }

    .site-footer {
        padding: 32px 0 16px;
    }

    .footer-col {
        margin-bottom: 22px;
    }

    .error-code {
        font-size: 58px;
    }

    .error-links a {
        display: inline-block;
        margin: 6px 10px 0 0;
    }

    .contact-list > li {
        padding: 12px 0;
    }

    .map-embed,
    .map-placeholder {
        min-height: 240px;
    }

    /* 服务页：流程步骤与条目在窄屏改为整行排列 */
    .process-steps {
        margin: 0;
    }

    .process-step {
        flex: 1 1 100%;
        margin: 0 0 14px;
        padding: 16px 14px;
    }

    .lead-text {
        font-size: 15px;
        margin-bottom: 26px;
    }

    .service-items .section-title,
    .service-section .section-title,
    .service-others .section-title,
    .page-service-detail .service-faq .section-title {
        font-size: 18px;
        margin-bottom: 16px;
    }

    /* 序号清单单列：序号与文字进一步收紧 */
    .item-ledger-item {
        padding: 18px 0;
    }

    .item-ledger-num {
        flex-basis: 40px;
        font-size: 20px;
    }

    .item-ledger-name {
        font-size: 15px;
        margin-bottom: 6px;
    }

    .item-ledger-text {
        font-size: 13px;
    }

    .service-section-list > li {
        padding: 14px 0 14px 20px;
    }

    .service-section-list > li::before {
        top: 23px;
    }

    /* 院校库：筛选标签收紧、详情头部改为纵向、表格字号收紧 */
    .filter-tabs > li > a {
        padding: 6px 13px;
        font-size: 13px;
    }

    .school-header {
        display: block;
    }

    .school-header-logo {
        margin: 0 0 14px;
    }

    .school-row {
        padding: 18px 0;
    }

    .school-row-badge {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        font-size: 19px;
        margin-right: 14px;
    }

    .school-row-main {
        margin-right: 0;
    }

    .school-block,
    .major-block {
        margin-bottom: 26px;
    }

    .school-block .section-title,
    .major-block .section-title {
        font-size: 18px;
        margin-bottom: 14px;
    }

    .major-table,
    .major-spec-table {
        font-size: 13px;
    }

    .major-spec-table > tbody > tr > th {
        width: 34%;
    }

    /* 案例页 */
    .case-block {
        margin-bottom: 26px;
    }

    .case-cover img {
        height: 200px;
    }

    .case-block .section-title {
        font-size: 18px;
        margin-bottom: 14px;
    }

    .rich-text table {
        font-size: 13px;
    }

    .rich-text table th,
    .rich-text table td {
        padding: 8px 10px;
    }
}

/* 移动端表格降级：宽表横向滚动（阶段3 院校/专业表格使用） */
.table-responsive-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 20px;
}

.table-responsive-wrap table {
    margin-bottom: 0;
    min-width: 640px;
}

/* 两列的键值规格表不需要强制最小宽度，窄屏直接换行即可读 */
.table-responsive-wrap .major-spec-table {
    min-width: 0;
}

/* 录取捷报墙（/offers）：竖版 offer 图卡片，点击新窗口看原图 */
.offer-card {
    display: block;
    margin-bottom: 24px;
    background: #fff;
    border: 1px solid #e6e2dd;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow .25s ease, transform .25s ease;
}
.offer-card:hover,
.offer-card:focus {
    text-decoration: none;
    box-shadow: 0 14px 32px rgba(40, 20, 10, .14);
    transform: translateY(-3px);
}
.offer-media {
    display: block;
    background: #f7f5f2;
    border-bottom: 1px solid #eee8e2;
}
.offer-media img {
    display: block;
    width: 100%;
    height: auto;
}
.offer-body {
    display: block;
    padding: 12px 14px 14px;
}
.offer-title {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #33231a;
    line-height: 1.45;
}
.offer-meta {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #9a7b6c;
}
.offer-tag {
    display: inline-block;
    margin-right: 8px;
    padding: 1px 8px;
    border: 1px solid #e0d2c8;
    border-radius: 10px;
    color: #a2522f;
}
.offer-year {
    color: #9a7b6c;
}
@media (max-width: 767px) {
    .offer-card { margin-bottom: 16px; }
    .offer-body { padding: 10px; }
    .offer-title { font-size: 14px; }
}

/* 关于页：顾问团队 / 企业宣传视频 / 办公环境 / 企业资质 */
.team-grid {
    margin-top: 8px;
}
.team-card {
    height: 100%;
    padding-bottom: 14px;
    background: #fff;
    border: 1px solid #e6e2dd;
    border-radius: 8px;
    overflow: hidden;
}
.team-photo {
    display: block;
    width: 100%;
    height: auto;
}
.team-name {
    margin: 10px 12px 0;
    font-size: 16px;
    font-weight: 600;
    color: #33231a;
}
.team-role {
    margin: 2px 12px 0;
    font-size: 12.5px;
    color: #a2522f;
}
.team-bio {
    margin: 8px 12px 0;
    font-size: 12.5px;
    line-height: 1.85;
    color: #6b5c52;
}
.about-video video {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
    background: #111;
}
/* 办公环境四宫格：统一 16:9 卡片 + cover 裁切。
   素材原始宽高比不一（2.22/1.77/1.90/1.33:1），若按 height:auto 会高低不齐；
   height:auto 保留为不支持 aspect-ratio 老浏览器的回落 */
.office-gallery img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    object-fit: cover;
    object-position: center;
    margin-bottom: 15px;
    border-radius: 8px;
    background: var(--c-primary-light);
}
.qualification-figure {
    max-width: 760px;
    margin: 14px auto 0;
}
.qualification-figure img {
    width: 100%;
    height: auto;
    border: 1px solid #e6e2dd;
    border-radius: 8px;
}
@media (max-width: 767px) {
    .team-bio { font-size: 12px; line-height: 1.75; }
    .team-name { font-size: 15px; }
}

/* 服务页：资料下载块 */
.download-list {
    margin: 8px 0 0;
}
.download-item {
    margin-bottom: 12px;
}
.download-link {
    display: block;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid #e6e2dd;
    border-radius: 8px;
    transition: box-shadow .25s ease, border-color .25s ease;
}
.download-link:hover,
.download-link:focus {
    text-decoration: none;
    border-color: #d8b8a6;
    box-shadow: 0 10px 24px rgba(40, 20, 10, .10);
}
.download-link .fa {
    margin-right: 10px;
    color: #a2522f;
    font-size: 20px;
    vertical-align: middle;
}
.download-name {
    font-size: 15px;
    font-weight: 600;
    color: #33231a;
    vertical-align: middle;
}
.download-hint {
    display: block;
    margin: 4px 0 0 30px;
    font-size: 12.5px;
    color: #9a7b6c;
}
@media (prefers-reduced-motion: reduce) {
    .download-link,
    .download-link:hover,
    .download-link:focus {
        transition: none !important;
    }
}

/* 案例详情多图画廊：offer 排「文档墙」，聊天截图排双列，均可点击看原图 */
.case-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 320px));
    justify-content: center;
    gap: 18px;
    margin: 18px 0 22px;
}
.case-gallery--shots {
    grid-template-columns: repeat(auto-fit, minmax(220px, 300px));
}
.case-gallery-item {
    display: block;
    padding: 10px;
    background: #fff;
    border: 1px solid #e6e2dd;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(40, 20, 10, .08);
    transition: transform .25s ease, box-shadow .25s ease;
}
.case-gallery-item:hover,
.case-gallery-item:focus {
    text-decoration: none;
    transform: translateY(-3px);
    box-shadow: 0 16px 32px rgba(40, 20, 10, .14);
}
.case-gallery--docs img {
    display: block;
    width: 100%;
    height: 320px;
    object-fit: contain;
    background: #faf8f5;
}
.case-gallery--shots .case-gallery-item {
    padding: 0;
    overflow: hidden;
}
.case-gallery--shots img {
    display: block;
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: top center;
}
.case-gallery--single {
    display: block;
    text-align: center;
}
.case-gallery--single .case-gallery-item {
    display: inline-block;
    width: 100%;
    max-width: 480px;
}
.case-gallery--single img {
    display: block;
    width: 100%;
    height: auto;
}
@media (max-width: 767px) {
    .case-gallery {
        gap: 12px;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
    .case-gallery--docs img { height: 240px; }
    .case-gallery--shots img { height: 300px; }
}
@media (prefers-reduced-motion: reduce) {
    .case-gallery-item,
    .case-gallery-item:hover,
    .case-gallery-item:focus {
        transition: none !important;
        transform: none !important;
    }
}

/* 询盘表单：板块居中呈现（表单限宽居中 + 提交按钮独立居中行 + 提示语居中） */
.consult-form {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}
.consult-actions {
    margin: 10px 0 2px;
    text-align: center;
}
.consult-actions .btn-consult-submit {
    min-width: 260px;
    padding-left: 42px;
    padding-right: 42px;
}
.consult-form-tip {
    text-align: center;
}
@media (max-width: 767px) {
    .consult-actions .btn-consult-submit {
        min-width: 0;
        width: 100%;
    }
}

/* 询盘板块：表单在板块内上下左右居中（四边留白均衡） */
.section-consult {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 620px;
    padding: 48px 15px;
}
.section-consult > .container {
    width: 100%;
}
@media (max-width: 767px) {
    .section-consult {
        min-height: 0;
        padding: 40px 15px;
    }
}
