/*
Theme Name: 易百谦教育官网
Author: 易百谦教育集团
Description: 为易百谦教育定制的专业高中生涯规划官网主题。
Version: 1.2.243
Text Domain: yibaiqian
*/

:root {
  --ybq-red: #e71f1a;
  --ybq-red-dark: #bd1713;
  --ybq-red-deep: #97120f;
  --ybq-red-soft: #fff2ee;
  --ybq-gold: #ffde00;
  --ybq-ink: #18191d;
  --ybq-muted: #65666d;
  --ybq-line: #e8e5e3;
  --ybq-paper: #ffffff;
  --ybq-wash: #f8f6f3;
  --ybq-shadow: 0 18px 54px rgba(87, 28, 17, .10);
  --ybq-radius: 18px;
  --ybq-content: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ybq-ink);
  background: var(--ybq-paper);
  font-family: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: fixed; z-index: 1000; top: 10px; left: 10px; width: auto; height: auto; padding: 12px 16px; clip: auto; color: #fff; background: var(--ybq-red); }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(231, 31, 26, .3); outline-offset: 3px; }

.ybq-container { width: min(calc(100% - 40px), var(--ybq-content)); margin-inline: auto; }
.ybq-section { padding: 88px 0; }
.ybq-home p:not(.ybq-eyebrow), body.home p:not(.ybq-eyebrow) { text-indent: 2em; }
.ybq-section--wash { background: var(--ybq-wash); }
.ybq-section--dark { color: #fff; background: #19191d; }
.ybq-eyebrow { margin: 0 0 10px; color: var(--ybq-red); font-size: .82rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.ybq-section-title { max-width: 760px; margin: 0; font-family: "Noto Serif SC", "Songti SC", serif; font-size: clamp(1.125rem, 2.2vw, 1.875rem); line-height: 1.35; letter-spacing: -.01em; }
.ybq-subject-lead-title { max-width: none; font-size: min(2.125rem, 4.9vw); letter-spacing: -.01em; white-space: nowrap; }
.ybq-section-intro { max-width: 720px; margin: 18px 0 0; color: var(--ybq-muted); font-size: 1.05rem; }
.ybq-section-heading { display: flex; justify-content: space-between; gap: 32px; align-items: end; margin-bottom: 42px; }
.ybq-section-heading .ybq-text-link { flex: 0 0 auto; }
.ybq-grid { display: grid; gap: 24px; }
.ybq-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ybq-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.ybq-site-header { position: sticky; top: 0; z-index: 50; border-top: 4px solid var(--ybq-red); border-bottom: 1px solid rgba(231, 31, 26, .09); background: rgba(255,255,255,.97); backdrop-filter: blur(14px); }
.ybq-header-inner { width: min(calc(100% - 16vw), 1680px); min-height: clamp(62px, 4.6vw, 88px); display: flex; align-items: center; justify-content: space-between; gap: clamp(10px, 1.5vw, 28px); }
.ybq-brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: clamp(8px, 1vw, 13px); font-weight: 900; letter-spacing: .04em; line-height: 1; }
.ybq-brand img { max-height: 44px; width: auto; }
.ybq-brand-mark { display: grid; place-items: center; width: 42px; height: 42px; color: #fff; background: var(--ybq-red); border-radius: 12px 4px 12px 4px; font-family: "Noto Serif SC", serif; font-size: 1.25rem; }
.ybq-brand-emblem { display: flex; flex: 0 0 auto; height: clamp(44px, 3.65vw, 70px); align-items: center; overflow: visible; }
.ybq-brand-emblem img { position: static; width: auto; height: 100%; max-width: none; max-height: none; object-fit: contain; }
.ybq-brand-name { display: inline-flex; align-items: center; white-space: nowrap; font-size: clamp(.88rem, 1.05vw, 1.22rem); line-height: 1; }
/* 品牌字标（含「易百谦教育集团」）：深色版正常显示，首页首屏压在视频上时换白色版 */
.ybq-brand-logo { display: block; width: auto; height: clamp(31px, 2.6vw, 40px); max-width: min(62vw, 300px); object-fit: contain; }
.ybq-brand-logo--light { display: none; }
body.home .ybq-brand-logo--dark, body.ybq-home .ybq-brand-logo--dark { display: none; }
body.home .ybq-brand-logo--light, body.ybq-home .ybq-brand-logo--light { display: block; }
body.home .ybq-brand-logo, body.ybq-home .ybq-brand-logo { height: clamp(38px, 3.4vw, 52px); }
/* 白色版压在视频上，加一层投影才不会被亮部吃掉 */
body.home .ybq-brand-logo--light, body.ybq-home .ybq-brand-logo--light { filter: drop-shadow(0 2px 7px rgba(0,0,0,.55)) drop-shadow(0 1px 2px rgba(0,0,0,.45)); }
body.home.ybq-past-hero .ybq-brand-logo--dark, body.ybq-home.ybq-past-hero .ybq-brand-logo--dark { display: block; }
body.home.ybq-past-hero .ybq-brand-logo--light, body.ybq-home.ybq-past-hero .ybq-brand-logo--light { display: none; }
.ybq-nav { display: flex; align-items: center; gap: clamp(14px, 2vw, 28px); }
.ybq-nav ul { display: flex; align-items: center; gap: clamp(14px, 1.8vw, 26px); margin: 0; padding: 0; list-style: none; }
.ybq-nav li { position: relative; }
.ybq-nav a { font-size: clamp(.78rem, .82vw, .98rem); font-weight: 650; }
.ybq-nav a:hover, .ybq-nav .current-menu-item > a { color: var(--ybq-red); }
.ybq-nav .menu-item-has-children > a::after { content: "⌄"; display: inline-block; margin-left: 6px; color: var(--ybq-red); font-size: .78em; transform: translateY(-1px); }
.ybq-nav > ul > .menu-item-has-children > a::after { display: none; }
.ybq-nav .sub-menu { position: absolute; top: calc(100% + 18px); left: -22px; display: none; width: 230px; padding: 12px; border: 1px solid rgba(231,31,26,.14); border-top: 3px solid var(--ybq-red); border-radius: 0 0 14px 14px; background: #fff; box-shadow: var(--ybq-shadow); }
/* 一级菜单与下拉之间的 18px 间隙桥接。
   ⚠️ 必须挂在 li 上，不能挂在 .sub-menu 上：
   九项的下拉带 overflow-y:auto（矮屏滚动），overflow 会把超出的子元素裁掉，
   桥接块被裁 → 间隙失去命中 → 鼠标从一级菜单移向下拉的途中菜单立刻收起。
   只给一级菜单的 li 加，嵌套三级菜单 top 是 -15px（往上偏），不需要向下桥接。 */
.ybq-nav > ul > .menu-item-has-children::before { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 20px; }
.ybq-nav .sub-menu::before { content: none; }
.ybq-nav .sub-menu li { width: 100%; }
.ybq-nav .sub-menu a { display: block; padding: 10px 12px; border-radius: 7px; color: var(--ybq-ink); font-size: .88rem; }
.ybq-nav .sub-menu a:hover { color: var(--ybq-red); background: var(--ybq-red-soft); }
.ybq-nav .sub-menu .sub-menu { top: -15px; left: calc(100% + 10px); }
.ybq-nav .sub-menu .menu-item-has-children > a::after { content: "›"; float: right; font-size: 1.05em; }
.ybq-nav li:hover > .sub-menu, .ybq-nav li:focus-within > .sub-menu { display: block; }
.ybq-menu-toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; }
.ybq-menu-toggle span { display: block; width: 22px; height: 2px; margin: 5px auto; background: var(--ybq-ink); }
.ybq-submenu-toggle { display: none; }

body.home .ybq-site-header, body.ybq-home .ybq-site-header { position: fixed; inset: 0 0 auto; color: #fff; border-top-color: transparent; border-bottom-color: transparent; background: transparent; backdrop-filter: none; transition: color .25s ease, background .25s ease, border-color .25s ease; }
body.home .ybq-header-inner, body.ybq-home .ybq-header-inner { width: min(calc(100% - 6vw), 1760px); min-height: clamp(92px, 7vw, 112px); gap: clamp(18px, 2vw, 34px); }
body.home .ybq-brand, body.ybq-home .ybq-brand { gap: clamp(13px, 1.15vw, 19px); }
body.home .ybq-brand-emblem, body.ybq-home .ybq-brand-emblem { height: clamp(66px, 5.3vw, 86px); }
body.home .ybq-brand > img, body.ybq-home .ybq-brand > img { width: auto; max-height: clamp(66px, 5.3vw, 86px); }
body.home .ybq-brand-name, body.ybq-home .ybq-brand-name { font-size: clamp(1.48rem, 1.72vw, 1.92rem); letter-spacing: .055em; }
body.home .ybq-nav, body.ybq-home .ybq-nav { gap: clamp(18px, 1.8vw, 30px); }
body.home .ybq-nav ul, body.ybq-home .ybq-nav ul { gap: clamp(17px, 1.6vw, 28px); }
body.home .ybq-nav a, body.ybq-home .ybq-nav a { font-size: clamp(.94rem, .93vw, 1.06rem); font-weight: 700; }
body.home .ybq-nav > .ybq-button, body.ybq-home .ybq-nav > .ybq-button { min-height: 50px; padding-inline: 24px; }
body.home .ybq-brand, body.home .ybq-nav > ul > li > a, body.ybq-home .ybq-brand, body.ybq-home .ybq-nav > ul > li > a { text-shadow: 0 2px 12px rgba(0,0,0,.8), 0 1px 3px rgba(0,0,0,.9); }
body.home .ybq-nav a:hover, body.home .ybq-nav .current-menu-item > a, body.ybq-home .ybq-nav a:hover { color: #ffe648; }
body.home .ybq-nav > .ybq-button, body.ybq-home .ybq-nav > .ybq-button { color: #fff; border-color: rgba(255,255,255,.75); background: transparent; text-shadow: 0 2px 8px rgba(0,0,0,.72); }
body.home.ybq-past-hero .ybq-site-header, body.ybq-home.ybq-past-hero .ybq-site-header { color: var(--ybq-ink); border-top-color: var(--ybq-red); border-bottom-color: rgba(231,31,26,.09); background: rgba(255,255,255,.97); backdrop-filter: blur(14px); }
body.home.ybq-past-hero .ybq-brand, body.home.ybq-past-hero .ybq-nav > ul > li > a, body.ybq-home.ybq-past-hero .ybq-brand, body.ybq-home.ybq-past-hero .ybq-nav > ul > li > a { text-shadow: none; }
body.home.ybq-past-hero .ybq-nav a:hover, body.ybq-home.ybq-past-hero .ybq-nav a:hover { color: var(--ybq-red); }
body.home.ybq-past-hero .ybq-nav > .ybq-button, body.ybq-home.ybq-past-hero .ybq-nav > .ybq-button { color: #fff; border-color: transparent; background: var(--ybq-red); text-shadow: none; }

.ybq-button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 8px; padding: 11px 20px; border: 1px solid transparent; border-radius: 999px; background: var(--ybq-red); color: #fff; font-weight: 750; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.ybq-button:hover { color: #fff; background: var(--ybq-red-dark); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(231,31,26,.22); }
.ybq-button--ghost { color: var(--ybq-red); background: #fff; border-color: rgba(231,31,26,.2); }
.ybq-button--ghost:hover { color: #fff; }
.ybq-text-link { color: var(--ybq-red); font-weight: 750; }

.ybq-hero { position: relative; isolation: isolate; display: flex; min-height: 100svh; align-items: center; overflow: hidden; padding: 0; color: #fff; background: #111; }
.ybq-hero::before { display: none; }
.ybq-hero-video { position: absolute; z-index: -3; top: 50%; left: 50%; width: max(100vw, 213.334vh); height: max(56.25vw, 120vh); max-width: none; object-fit: contain; object-position: center; filter: none; transform: translate(-50%, -50%); }
.ybq-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.25fr .75fr; gap: 58px; align-items: center; }
.ybq-hero h1 { margin: 0; max-width: 760px; font-family: "Noto Serif SC", "Songti SC", serif; font-size: clamp(2.75rem, 5.5vw, 5rem); line-height: 1.08; letter-spacing: -.045em; }
.ybq-hero h1 em { color: #fff; font-style: normal; }
.ybq-hero .ybq-eyebrow { color: #ffe648; }
.ybq-hero-lead { max-width: 650px; margin: 24px 0 30px; color: rgba(255,255,255,.9); font-size: 1.12rem; }
.ybq-hero .ybq-button { color: var(--ybq-red-dark); background: #fff; }
.ybq-hero .ybq-button:hover { color: var(--ybq-red-dark); background: #fff8e9; }
.ybq-hero .ybq-button--ghost { color: #fff; background: transparent; border-color: rgba(255,255,255,.55); }
.ybq-hero .ybq-button--ghost:hover { color: var(--ybq-red-dark); background: #fff; }
.ybq-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ybq-proof-panel { position: relative; padding: 30px; color: #fff; background: rgba(145, 20, 8, .70); border: 1px solid rgba(255,255,255,.24); border-radius: 30px 8px 30px 8px; box-shadow: 0 28px 70px rgba(105,18,7,.22); backdrop-filter: blur(8px); }
.ybq-proof-panel::after { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(255,222,0,.30); border-radius: 22px 5px 22px 5px; pointer-events: none; }
.ybq-proof-panel h2 { position: relative; z-index: 1; margin: 0 0 22px; font-family: "Noto Serif SC", serif; font-size: 1.35rem; }
.ybq-proof-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ybq-proof-item { min-height: 98px; padding: 17px; border: 1px solid rgba(255,255,255,.20); border-radius: 12px; background: rgba(255,255,255,.10); }
.ybq-proof-item strong { display: block; color: #ffe43b; font-size: 1.5rem; line-height: 1.25; }
.ybq-proof-item span { display: block; margin-top: 5px; color: rgba(255,255,255,.84); font-size: .82rem; }
.ybq-proof-note { position: relative; z-index: 1; margin: 18px 0 0; color: rgba(255,255,255,.72); font-size: .75rem; }

.ybq-trust-strip { color: #fff; border-block: 1px solid rgba(255,255,255,.16); background: #c5220e; }
.ybq-trust-inner { display: grid; grid-template-columns: 1.1fr repeat(3, 1fr); align-items: center; min-height: 104px; }
.ybq-trust-inner > div { padding: 20px 26px; border-left: 1px solid rgba(255,255,255,.16); }
.ybq-trust-inner > div:first-child { padding-left: 0; border-left: 0; }
.ybq-trust-label { color: #ffe43b; font-weight: 850; }
.ybq-trust-item strong { display: block; }
.ybq-trust-item span { color: rgba(255,255,255,.7); font-size: .86rem; }
.ybq-section--brand { position: relative; overflow: hidden; background: linear-gradient(180deg, #fff2ee 0%, #fff 100%); }
.ybq-section--brand::after { content: ""; position: absolute; right: -130px; bottom: -230px; width: 420px; height: 420px; border: 68px solid rgba(231,31,26,.055); border-radius: 50%; }
.ybq-section--brand .ybq-container { position: relative; z-index: 1; }
.ybq-strength-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 26px; border-block: 1px solid rgba(231,31,26,.18); }
.ybq-strength-facts > div { padding: 22px 24px; border-left: 1px solid rgba(231,31,26,.14); }
.ybq-strength-facts > div:first-child { border-left: 0; }
.ybq-strength-facts strong, .ybq-strength-facts span { display: block; }
.ybq-strength-facts strong { color: var(--ybq-red); font-family: "Noto Serif SC", "Songti SC", serif; font-size: clamp(1.45rem, 2.5vw, 2.25rem); line-height: 1.25; }
.ybq-strength-facts span { margin-top: 5px; color: var(--ybq-muted); font-size: .84rem; }
.ybq-strength-principles .ybq-card { padding-block: 24px; }

.ybq-card { position: relative; padding: 30px; border: 1px solid var(--ybq-line); border-radius: var(--ybq-radius); background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.ybq-card:hover { transform: translateY(-4px); border-color: rgba(231,31,26,.24); box-shadow: var(--ybq-shadow); }
.ybq-card-index { display: inline-grid; place-items: center; width: 38px; height: 38px; margin-bottom: 24px; border-radius: 10px; color: var(--ybq-red); background: var(--ybq-red-soft); font-weight: 850; }
.ybq-card h3 { margin: 0 0 10px; font-size: 1.18rem; }
.ybq-card p { margin: 0; color: var(--ybq-muted); }
.ybq-card-link { display: inline-block; margin-top: 22px; color: var(--ybq-red); font-weight: 750; }

.ybq-path { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; margin-top: 46px; counter-reset: path; }
.ybq-path-step { position: relative; padding: 26px 20px 22px; border-top: 2px solid #d9d4d1; counter-increment: path; }
.ybq-path-step::before { content: counter(path); position: absolute; top: -18px; left: 20px; display: grid; place-items: center; width: 34px; height: 34px; color: #fff; background: var(--ybq-red); border: 5px solid #fff; border-radius: 50%; font-size: .8rem; font-weight: 800; }
.ybq-path-step h3 { margin: 15px 0 8px; font-size: 1rem; }
.ybq-path-step p { margin: 0; color: var(--ybq-muted); font-size: .88rem; }
.ybq-career-entry-grid { margin-top: 34px; }
.ybq-career-entry { display: flex; min-height: 255px; flex-direction: column; border-top: 3px solid var(--ybq-red); }
.ybq-career-entry h2 { margin: 22px 0 8px; font-size: 1.35rem; }
.ybq-career-entry p { color: var(--ybq-muted); }
.ybq-career-entry .ybq-card-link { margin-top: auto; }
/* 生涯规划总览 · 开篇导语（红色渐变，先讲清"为什么现在就要做规划"） */
.ybq-career-intro { position: relative; overflow: hidden; padding: clamp(68px, 9vw, 116px) 0; color: #fff; background: linear-gradient(128deg, #b5120f, var(--ybq-red) 62%, #f13a34); }
.ybq-career-intro::after { content: ""; position: absolute; right: -12%; top: -48%; width: min(46vw, 620px); aspect-ratio: 1; border: clamp(38px, 5vw, 74px) solid rgba(255,255,255,.08); border-radius: 50%; pointer-events: none; }
.ybq-career-intro .ybq-container { position: relative; z-index: 1; }
.ybq-career-intro-inner { max-width: 880px; margin: 0 auto; }
.ybq-career-intro h1 { margin: 0 0 24px; color: #fff; font-family: "Noto Serif SC", "Songti SC", serif; font-size: clamp(1.05rem, 1.9vw, 1.55rem); font-weight: 800; line-height: 1.4; letter-spacing: .08em; }
.ybq-career-intro h1::after { content: ""; display: block; width: 56px; height: 4px; margin-top: 22px; border-radius: 999px; background: #ffe43b; }
.ybq-career-intro p { margin: 0 0 18px; color: rgba(255,255,255,.94); font-size: clamp(1rem, 1.15vw, 1.12rem); line-height: 2; }
.ybq-career-intro p:last-child { margin-bottom: 0; }
.ybq-career-intro strong { color: #ffe43b; font-weight: 800; }
.ybq-career-screen { display: flex; min-height: 0; align-items: center; overflow: hidden; padding: clamp(30px, 4.5vh, 52px) 0; background: #fff; }
.ybq-career-screen--assessment { background: #fff5f1; }
.ybq-career-screen--planning { background: #fbf8f5; }
.ybq-career-screen--camps { background: #fff; }
.ybq-career-screen--whitelist { background: #f6f1ee; }
.ybq-career-screen-inner { display: grid; width: min(calc(100% - 96px), 1280px); max-width: 1280px; min-height: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; gap: clamp(36px, 5vw, 72px); margin: auto; padding: 0; }
.ybq-career-screen-inner--reverse .ybq-career-screen-copy { order: 2; }
.ybq-career-screen-inner--reverse .ybq-career-screen-visual { order: 1; }
.ybq-career-screen-inner--reverse { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.ybq-career-screen-copy { max-width: 520px; align-self: center; padding: 0; }
.ybq-career-screen-inner--reverse .ybq-career-screen-copy { padding: 0; }
.ybq-career-screen-copy .ybq-eyebrow { color: var(--ybq-red); font-weight: 800; }
.ybq-career-screen-copy h1, .ybq-career-screen-copy h2 { margin: 0 0 18px; color: var(--ybq-ink); font-family: "Noto Serif SC", "Songti SC", serif; font-size: clamp(1.5rem, 2.5vw, 2.25rem); line-height: 1.25; }
.ybq-career-screen-copy > p:not(.ybq-eyebrow) { max-width: 510px; margin: 0 0 30px; color: var(--ybq-muted); font-size: clamp(1.03rem, 1.3vw, 1.2rem); line-height: 1.9; }
.ybq-career-screen-points-title { margin: 0 0 14px; color: var(--ybq-ink); font-size: .98rem; font-weight: 750; }
.ybq-career-screen-points { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0 0 26px; padding: 0; list-style: none; }
.ybq-career-screen-points li { position: relative; padding-left: 25px; color: var(--ybq-muted); font-size: .98rem; line-height: 1.55; }
.ybq-career-screen-points li::before { position: absolute; top: .42em; left: 0; width: 11px; height: 11px; border: 2px solid var(--ybq-red); border-radius: 50%; content: ""; }
.ybq-career-screen-points li::after { position: absolute; top: .66em; left: 4px; width: 7px; height: 1px; background: var(--ybq-red); content: ""; }
/* 双层阴影：上层紧贴卡片模拟接触面，下层大范围投射制造悬浮感，让五屏图片更立体 */
.ybq-career-screen-visual { width: 100%; height: auto; min-height: clamp(320px, 42vh, 420px); max-width: none; justify-self: stretch; align-self: stretch; margin: 0; overflow: hidden; border: 0; border-radius: 20px; background: #fff; box-shadow: 0 4px 10px rgba(76, 34, 28, .09), 0 20px 56px rgba(76, 34, 28, .16); }
.ybq-career-screen-visual--table { background: #fff; }
.ybq-career-screen-visual--table img { object-fit: contain; }
/* 九宫格真实研学 / 赛事照片：原图近正方形，横版槽位用 cover 会切掉上下两排。
   用 contain 完整呈现，但去掉原先的浅色衬底与内边距——卡片底色、圆角、阴影
   与上面三屏（高中选科/在线测评/升学规划）保持完全一致。 */
.ybq-career-screen-visual--camps { background: #fff; }
.ybq-career-screen-visual--camps img { object-fit: contain; }
.ybq-career-screen-visual--whitelist { background: #fff; }
.ybq-career-screen-visual--whitelist img { object-fit: contain; }
.ybq-career-screen-inner--reverse .ybq-career-screen-visual { border-radius: 20px; }
.ybq-career-screen-visual img { display: block; width: 100%; height: 100%; min-height: inherit; aspect-ratio: auto; object-fit: cover; }
.ybq-subject-callout { margin-top: 26px; padding: 18px 22px; border-left: 4px solid var(--ybq-red); border-radius: 0 14px 14px 0; background: #fdf0ed; color: var(--ybq-ink); font-size: 1.02rem; line-height: 1.9; }
.ybq-subject-callout strong { color: var(--ybq-red); }
.ybq-subject-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 22px 0 26px; }
.ybq-subject-tier { border-radius: var(--ybq-radius); padding: 18px 20px; }
.ybq-subject-tier span { display: block; margin-bottom: 6px; font-size: .92rem; line-height: 1.5; }
.ybq-subject-tier strong { display: block; font-family: "Noto Serif SC", serif; font-size: 1.7rem; line-height: 1.2; }
.ybq-subject-tier em { display: block; margin-top: 6px; font-style: normal; font-size: .86rem; line-height: 1.55; }
.ybq-subject-tier--high { background: #fdeae8; color: #8f1d18; }
.ybq-subject-tier--high strong { color: var(--ybq-red); }
.ybq-subject-tier--mid { background: #fdf1dc; color: #7a5312; }
.ybq-subject-tier--mid strong { color: #a16207; }
.ybq-subject-tier--low { background: #f0ece5; color: #5f514e; }
.ybq-subject-tier--low strong { color: #443b38; }
.ybq-subject-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 30px; }
.ybq-subject-card { background: #fff; border: 1px solid #f0ded9; border-radius: var(--ybq-radius); padding: 22px 24px; box-shadow: 0 10px 26px rgba(76, 34, 28, .06); }
.ybq-subject-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.ybq-subject-card h3 { margin: 0; font-family: "Noto Serif SC", serif; font-size: 1.18rem; line-height: 1.35; color: var(--ybq-ink); }
.ybq-subject-badge { flex: none; padding: 4px 11px; border-radius: 999px; font-size: .8rem; font-weight: 750; white-space: nowrap; color: #fff; background: var(--ybq-red); }
.ybq-subject-fields { display: grid; gap: 10px; margin: 0; }
.ybq-subject-fields > div { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 10px; }
.ybq-subject-fields dt { color: var(--ybq-red); font-size: .88rem; font-weight: 750; }
.ybq-subject-fields dd { margin: 0; color: var(--ybq-muted); font-size: .94rem; line-height: 1.72; }
.ybq-subject-note { margin-top: 4px; padding: 13px 18px; border-radius: 12px; background: #f0ece5; color: #5f514e; font-size: .96rem; line-height: 1.7; }
.ybq-advice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 30px; }
.ybq-advice-card { display: flex; gap: 16px; background: #fff; border: 1px solid #f0ded9; border-radius: var(--ybq-radius); padding: 22px 24px; }
.ybq-advice-num { flex: none; font-family: "Noto Serif SC", serif; font-size: 1.5rem; font-weight: 800; line-height: 1.1; color: #c9a13b; }
.ybq-advice-card h3 { margin: 0 0 8px; font-size: 1.05rem; color: var(--ybq-ink); }
.ybq-advice-card p { margin: 0; color: var(--ybq-muted); font-size: .94rem; line-height: 1.72; }
.ybq-reason-list { display: grid; gap: 18px; margin-top: 30px; }
.ybq-reason-row { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: stretch; }
.ybq-reason-row .ybq-advice-card { min-height: 176px; align-items: center; }
.ybq-reason-img { width: 300px; align-self: stretch; overflow: hidden; border: 1px solid var(--ybq-line); border-radius: 16px; background: #fff; box-shadow: 0 10px 26px rgba(76, 34, 28, .07); }
.ybq-reason-img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ybq-reason-card { display: block; }
.ybq-reason-card h3 { display: flex; align-items: baseline; gap: 10px; margin: 0 0 10px; }
.ybq-timeline { display: grid; gap: 16px; margin-top: 26px; }
.ybq-timeline-item { scroll-margin-top: 130px; }
.ybq-timeline-item .ybq-subject-card-head h3 { font-size: 1.1rem; }

/* 时间线末尾祝福语：书法体居中，作为时间线板块与 FAQ 之间的过渡留白 */
.ybq-blessing { padding: clamp(18px, 2.6vw, 32px) 0 clamp(52px, 8vw, 88px); background: linear-gradient(180deg, #fff 0%, #fff7f5 50%, #fff 100%); }
.ybq-blessing-text { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 3vw, 34px); margin: 0; color: var(--ybq-red); font-family: "STXingkai", "华文行楷", "STKaiti", "华文楷体", "KaiTi", "楷体", cursive, serif; font-size: clamp(1.6rem, 4.2vw, 3rem); font-weight: 700; line-height: 1.5; letter-spacing: .06em; text-align: center; }
.ybq-blessing-line { display: block; width: clamp(36px, 10vw, 128px); height: 1px; background: linear-gradient(90deg, rgba(231, 31, 26, 0), rgba(231, 31, 26, .45)); }
.ybq-blessing-line:last-child { background: linear-gradient(90deg, rgba(231, 31, 26, .45), rgba(231, 31, 26, 0)); }
.ybq-official-note { display: grid; gap: 10px; margin-top: 28px; padding: 22px 24px; border-left: 4px solid var(--ybq-red); background: #fff; color: var(--ybq-muted); }
.ybq-official-note strong { color: var(--ybq-ink); }
.ybq-official-note a { color: var(--ybq-red); font-weight: 700; }
.ybq-planning-steps { margin-top: 36px; }
.ybq-faq-list { display: grid; gap: 10px; margin-top: 26px; }
.ybq-faq { padding: 0 20px; border: 1px solid rgba(40,32,29,.12); border-radius: 12px; background: #fff; }
.ybq-faq summary { position: relative; padding: 14px 30px 14px 0; color: var(--ybq-ink); font-size: .96rem; font-weight: 700; cursor: pointer; list-style: none; }
.ybq-faq summary::-webkit-details-marker { display: none; }
.ybq-faq summary::after { content: "+"; position: absolute; right: 0; color: var(--ybq-red); font-size: 1.1rem; }
.ybq-faq[open] summary::after { content: "−"; }
.ybq-faq p { margin: 0; padding: 0 0 16px; color: var(--ybq-muted); font-size: .94rem; line-height: 1.75; }
.ybq-concept-visual, .ybq-service-lead-visual { position: relative; margin: 34px 0 12px; overflow: hidden; border: 1px solid rgba(231,31,26,.14); border-radius: 24px 8px 24px 8px; background: #fff; box-shadow: 0 22px 55px rgba(76,42,31,.09); }
.ybq-concept-visual img, .ybq-service-lead-visual img { display: block; width: 100%; height: auto; }
.ybq-concept-visual figcaption, .ybq-service-lead-visual figcaption { position: absolute; right: 14px; bottom: 12px; padding: 5px 9px; border-radius: 999px; color: rgba(255,255,255,.92); background: rgba(17,18,22,.66); font-size: .72rem; backdrop-filter: blur(6px); }
.ybq-concept-visual--wide { margin-top: 0; margin-bottom: 38px; }
.ybq-service-lead-visual { max-height: 560px; margin-top: 0; margin-bottom: 48px; }
.ybq-service-lead-visual img { aspect-ratio: 3/2; object-fit: cover; }
.ybq-path--compact { margin-top: 32px; }
.ybq-path--compact .ybq-path-step { padding-bottom: 0; }
.ybq-path--compact .ybq-path-step p { display: none; }

.ybq-service-card { min-height: 278px; display: flex; flex-direction: column; }
.ybq-service-card .ybq-card-link { margin-top: auto; }
.ybq-service-tag { display: inline-flex; align-self: flex-start; margin-bottom: 24px; padding: 5px 10px; color: var(--ybq-red); background: var(--ybq-red-soft); border-radius: 999px; font-size: .75rem; font-weight: 750; }
.ybq-service-card--visual { min-height: 0; overflow: hidden; padding: 0; }
.ybq-service-image { aspect-ratio: 3/2; overflow: hidden; background: #f6f2ef; }
.ybq-service-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.ybq-service-card--visual:hover .ybq-service-image img { transform: scale(1.035); }
.ybq-service-content { display: flex; flex: 1; flex-direction: column; padding: 24px 26px 26px; }
.ybq-service-content .ybq-service-tag { margin-bottom: 16px; }
.ybq-service-content h2, .ybq-service-content h3 { margin-top: 0; }
.ybq-service-when { display: flex; gap: 10px; align-items: baseline; margin: 0 0 20px; padding: 9px 12px; background: var(--ybq-wash); border-radius: 8px; font-size: .82rem; }
/* 服务页真实照片展示区：九宫格原图为正方形，用 contain 保证一格不裁 */
.ybq-service-photo-grid { display: flex; justify-content: center; }
.ybq-service-photo-grid img { width: 100%; max-width: 860px; height: auto; max-height: 720px; object-fit: contain; border-radius: 20px; box-shadow: 0 4px 10px rgba(76, 34, 28, .09), 0 20px 56px rgba(76, 34, 28, .16); background: #fff; }
.ybq-service-when dt { flex: none; color: var(--ybq-red); font-weight: 750; }
.ybq-service-when dd { margin: 0; color: var(--ybq-muted); }
.ybq-section-note { margin: 32px 0 0; padding-top: 22px; border-top: 1px solid var(--ybq-line); color: var(--ybq-muted); font-size: .92rem; text-align: center; }
.ybq-section-note a { color: var(--ybq-red); font-weight: 750; }
.ybq-empty--visual { padding: 0; overflow: hidden; text-align: left; }
.ybq-empty--visual img { display: block; width: 100%; max-height: 380px; object-fit: cover; }
.ybq-empty--visual p { margin: 0; padding: 22px 26px; }
/* 文章头图区：九宫格真实研学照片是近正方形（1645×1645），横版裁切会切掉上下两排，
   所以改成「左图右文」相框布局——图保持原比例完整呈现，右侧放导语，比例接近 1:1 不会裁切。
   宽度与正文栏（880px）对齐并居中，整篇左右留白一致。 */
.ybq-article-lead { display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); align-items: center; gap: 36px; max-width: 880px; margin: 0 auto 38px; }
.ybq-article-lead img { display: block; width: 100%; height: auto; border-radius: 18px; box-shadow: 0 4px 10px rgba(76, 34, 28, .09), 0 20px 56px rgba(76, 34, 28, .16); }
@media (max-width: 900px) {
    .ybq-article-lead { grid-template-columns: 1fr; gap: 24px; }
    .ybq-article-lead img { max-width: 520px; }
}

/* 文章式板块页的段落配图槽（2026-10-12 高校冬夏令营板块）
   作用：在公众号长文的每个段落之间预留图片位，真实照片到位前显示占位说明。
   落地时把 <figure class="ybq-figure-slot"> 换成 <figure class="ybq-figure"><img …></figure> 即可，
   两者圆角与阴影完全一致，视觉不跳。 */
.ybq-figure { margin: 34px 0; overflow: hidden; border-radius: 18px; box-shadow: 0 4px 10px rgba(76, 34, 28, .09), 0 20px 56px rgba(76, 34, 28, .16); }
.ybq-figure img { display: block; width: 100%; max-height: 520px; object-fit: cover; }
.ybq-figure figcaption { margin-top: 10px; color: var(--ybq-muted); font-size: .88rem; line-height: 1.7; text-align: center; }
/* 成品配图与图槽同宽居中，和正文栏（880px）保持一致 */
.ybq-prose .ybq-figure { max-width: 880px; margin-inline: auto; }
.ybq-figure-slot { margin: 34px 0; border: 1px dashed #e6c9c4; border-radius: 18px; background: linear-gradient(180deg, #fdf4f2, #fbf1ee); }
/* 图槽与正文栏同宽并居中，避免整篇左右留白不一致 */
.ybq-prose--article .ybq-figure-slot { max-width: 880px; margin-inline: auto; }
.ybq-figure-slot-body { display: grid; justify-items: center; gap: 6px; padding: 40px 26px; text-align: center; }
.ybq-figure-slot-badge { padding: 4px 12px; border-radius: 999px; background: var(--ybq-red); color: #fff; font-size: .74rem; font-weight: 750; letter-spacing: .08em; }
.ybq-figure-slot-title { color: var(--ybq-ink); font-family: "Noto Serif SC", serif; font-size: 1.08rem; font-weight: 750; line-height: 1.5; }
.ybq-figure-slot-hint { color: var(--ybq-muted); font-size: .88rem; line-height: 1.7; }
.ybq-figure-slot-size { color: #ab9d98; font-size: .78rem; letter-spacing: .04em; }
/* 图片与表格/卡片并排时用窄版槽位，避免长文里出现宽屏留白 */
.ybq-figure-slot--slim .ybq-figure-slot-body { padding: 28px 22px; }
@media (max-width: 640px) {
    .ybq-figure-slot-body { padding: 28px 18px; }
}

.ybq-about-sections { display: grid; gap: 24px; }
.ybq-about-sections article { scroll-margin-top: 110px; padding: clamp(30px, 5vw, 58px); border: 1px solid var(--ybq-line); border-radius: 24px 8px 24px 8px; background: #fff; box-shadow: 0 18px 48px rgba(76,42,31,.07); }
.ybq-about-sections h2 { margin: 8px 0 12px; font-family: "Noto Serif SC", serif; font-size: clamp(1.6rem, 3vw, 2.5rem); }
.ybq-about-sections article > p:last-child { margin-bottom: 0; color: var(--ybq-muted); }

.ybq-about-panel { position: relative; isolation: isolate; overflow: hidden; scroll-margin-top: clamp(154px, calc(7vw + 62px), 174px); }
.ybq-about-panel::after { content: ""; position: absolute; z-index: -1; width: min(52vw, 760px); aspect-ratio: 1; border: clamp(42px, 6vw, 86px) solid rgba(231,31,26,.065); border-radius: 50%; pointer-events: none; }
.ybq-about-panel--intro::after { right: -15%; top: -34%; }
.ybq-about-home-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(48px, 8vw, 120px); align-items: center; }
.ybq-about-home-title { max-width: 820px; margin: 10px 0 0; font-family: "Noto Serif SC", serif; font-size: clamp(2.7rem, 5vw, 5.3rem); font-weight: 700; line-height: 1.14; letter-spacing: -.035em; }
.ybq-about-home-lead { max-width: 720px; margin: 30px 0 34px; color: var(--ybq-muted); font-size: clamp(1rem, 1.35vw, 1.22rem); line-height: 1.95; }
.ybq-about-signature { min-height: 420px; display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 5vw, 70px); color: #fff; background: linear-gradient(140deg, var(--ybq-red-dark), var(--ybq-red) 68%, #f3433d); border-radius: 46px 10px 46px 10px; box-shadow: 0 32px 90px rgba(142,15,12,.24); }
.ybq-about-signature span { color: #ffe43b; font-family: Georgia, serif; font-size: clamp(5.8rem, 10vw, 10rem); font-weight: 700; line-height: .8; letter-spacing: -.08em; }
.ybq-about-signature strong { margin-top: 38px; font-size: clamp(1.4rem, 2.4vw, 2.2rem); letter-spacing: .14em; }
.ybq-about-signature em { margin-top: 10px; color: rgba(255,255,255,.6); font-size: .76rem; font-style: normal; letter-spacing: .22em; }
.ybq-about-panel--social { color: #fff; background: linear-gradient(128deg, #b5120f, var(--ybq-red) 62%, #f13a34); }
.ybq-about-panel--social::after { right: 2%; bottom: -46%; border-color: rgba(255,255,255,.09); }
.ybq-about-panel--social .ybq-eyebrow { color: #ffe43b; }
.ybq-social-value-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(44px, 6vw, 82px); border-top: 1px solid rgba(255,255,255,.28); }
.ybq-social-value-grid article { padding: 32px clamp(18px, 3vw, 42px) 0; border-left: 1px solid rgba(255,255,255,.2); }
.ybq-social-value-grid article:first-child { padding-left: 0; border-left: 0; }
.ybq-social-value-grid span { color: #ffe43b; font-size: .82rem; font-weight: 850; }
.ybq-social-value-grid h3 { margin: 42px 0 14px; font-size: clamp(1.35rem, 2.2vw, 2rem); }
.ybq-social-value-grid p { margin: 0; color: rgba(255,255,255,.72); line-height: 1.85; }
.ybq-about-panel--mission { color: #fff; background: #15161a; }
.ybq-about-panel--mission::after { left: -12%; top: -42%; border-color: rgba(231,31,26,.24); }
.ybq-about-panel--mission .ybq-eyebrow { color: #ff443e; }
.ybq-mission-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(50px, 9vw, 140px); align-items: start; }
.ybq-confirmation-tag { display: inline-flex; margin-top: 22px; padding: 9px 14px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: rgba(255,255,255,.62); font-size: .78rem; }
.ybq-mission-statements { display: grid; gap: clamp(32px, 6vh, 64px); }
.ybq-mission-statements article + article { padding-top: clamp(30px, 5vh, 54px); border-top: 1px solid rgba(255,255,255,.2); }
.ybq-mission-statements span { color: var(--ybq-red); font-family: Georgia, serif; font-size: 1rem; letter-spacing: .16em; }
.ybq-mission-statements h2 { margin: 12px 0; font-family: "Noto Serif SC", serif; font-size: clamp(3rem, 6vw, 6rem); line-height: 1; }
.ybq-mission-statements p { max-width: 680px; margin: 0; color: rgba(255,255,255,.66); font-size: 1.05rem; line-height: 1.85; }
.ybq-values-heading { margin: 0 0 18px; text-align: center; }
.ybq-values-heading h2 { margin: 0; color: var(--ybq-red); font-family: "Noto Serif SC", serif; font-size: clamp(1.8rem, 3.6vw, 3.1rem); font-weight: 800; line-height: 1.08; letter-spacing: .08em; }
.ybq-values-tabs { display: flex; justify-content: center; gap: clamp(20px, 5vw, 72px); margin: 0 auto; border-bottom: 1px solid rgba(231,31,26,.18); }
.ybq-values-tabs button { position: relative; padding: 17px 5px 19px; border: 0; color: #887b79; background: transparent; font: inherit; font-size: clamp(1rem, 1.45vw, 1.2rem); font-weight: 550; white-space: nowrap; cursor: pointer; transition: color .28s ease, font-weight .28s ease; }
.ybq-values-tabs button::after { position: absolute; right: 50%; bottom: -2px; width: 0; height: 4px; border-radius: 4px; background: var(--ybq-red); content: ""; transform: translateX(50%); transition: width .35s cubic-bezier(.22,1,.36,1); }
.ybq-values-tabs button[aria-selected="true"] { color: var(--ybq-ink); font-weight: 800; }
.ybq-values-tabs button[aria-selected="true"]::after { width: 34px; }
.ybq-values-tabs button:focus-visible { outline: 2px solid var(--ybq-red); outline-offset: 4px; }
.ybq-values-stage { position: relative; height: clamp(440px, 39vw, 540px); margin: 18px auto 0; overflow: hidden; isolation: isolate; }
.ybq-value-slide { position: absolute; top: 50%; left: 50%; display: flex; flex-direction: column; justify-content: center; width: 64%; height: calc(100% - 38px); margin: 0; padding: clamp(28px, 4vw, 54px); overflow: hidden; border-left: 5px solid var(--ybq-red); border-radius: 2px 16px 16px 2px; color: var(--ybq-ink); background: rgba(255,255,255,.98); box-shadow: 0 22px 55px rgba(90,38,31,.1); opacity: 0; pointer-events: none; transform: translate3d(-50%,-50%,0) scale(.72); transition: left .65s cubic-bezier(.22,1,.36,1), opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1), color .45s ease; }
.ybq-value-slide h3 { margin: 0 0 18px; color: var(--ybq-red); font-family: "Noto Serif SC", serif; font-size: clamp(1.35rem, 2vw, 1.8rem); font-weight: 800; line-height: 1.3; }
.ybq-value-slide p { margin: 0; color: var(--ybq-muted); font-size: 1rem; line-height: 1.9; }
.ybq-value-slide[data-position="active"] { left: 50%; z-index: 5; opacity: 1; pointer-events: auto; transform: translate3d(-50%,-50%,0) scale(1); }
.ybq-value-slide[data-position="left"] { left: 20%; z-index: 2; opacity: .43; transform: translate3d(-50%,-50%,0) scale(.82); }
.ybq-value-slide[data-position="right"] { left: 80%; z-index: 2; opacity: .43; transform: translate3d(-50%,-50%,0) scale(.82); }
.ybq-value-slide[data-position="far-left"] { left: 8%; z-index: 1; opacity: .23; transform: translate3d(-50%,-50%,0) scale(.72); }
.ybq-value-slide[data-position="far-right"] { left: 92%; z-index: 1; opacity: .23; transform: translate3d(-50%,-50%,0) scale(.72); }
.ybq-value-slide:not([data-position="active"]) h3 { color: #897d7b; }
.ybq-value-slide:not([data-position="active"]) p { color: #8c8280; }
.ybq-about-panel--history { color: #fff; background: linear-gradient(120deg, #8f0f0c, #c81713 55%, var(--ybq-red)); }
.ybq-about-panel--history::after { left: -16%; bottom: -44%; border-color: rgba(255,222,0,.12); }
.ybq-about-panel--history .ybq-eyebrow { color: #ffe43b; }
.ybq-about-panel--history .ybq-section-intro { color: rgba(255,255,255,.68); }

/* 首页企业信息统一使用易百谦中国红体系；外部参考只用于结构。 */
.ybq-home-tabs { position: sticky; z-index: 35; top: clamp(92px, 7vw, 112px); border-bottom: 1px solid rgba(231,31,26,.14); background: rgba(255,255,255,.97); backdrop-filter: blur(12px); }
.ybq-home-tabs .ybq-container { display: flex; align-items: center; gap: clamp(24px, 5vw, 72px); min-height: 62px; overflow-x: auto; scrollbar-width: none; }
.ybq-home-tabs .ybq-container::-webkit-scrollbar { display: none; }
.ybq-home-tabs a { position: relative; flex: 0 0 auto; padding: 18px 0; font-weight: 750; }
.ybq-home-tabs a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 4px; border-radius: 4px; background: var(--ybq-red); transition: right .22s ease; }
.ybq-home-tabs a:hover { color: var(--ybq-red); }
.ybq-home-tabs a:hover::after { right: 0; }
.ybq-about-panel, .ybq-about-panel--soft { color: var(--ybq-ink); background: #fff; }
.ybq-about-panel--soft { background: linear-gradient(135deg, #fff 0%, var(--ybq-red-soft) 100%); }
.ybq-about-panel::after { border-color: rgba(231,31,26,.055); }
.ybq-company-banner { position: relative; isolation: isolate; width: min(78%, 900px); height: auto; margin: 0 auto 8px; border-radius: 18px 7px 18px 7px; background: transparent; transform: perspective(1500px) rotateX(1.2deg) rotateY(-1deg); transform-style: preserve-3d; transition: transform .45s cubic-bezier(.2,.7,.2,1), filter .45s ease; filter: drop-shadow(0 18px 22px rgba(71,24,19,.16)); }
.ybq-company-banner::before { content: ""; position: absolute; z-index: -1; inset: 14px -14px -14px 14px; border: 1px solid rgba(231,31,26,.2); border-radius: 18px 7px 18px 7px; background: linear-gradient(135deg, rgba(255,242,238,.95), rgba(255,255,255,.72)); transform: translateZ(-18px); }
.ybq-company-banner:hover { transform: perspective(1500px) rotateX(0) rotateY(0) translateY(-5px); filter: drop-shadow(0 24px 30px rgba(71,24,19,.2)); }
.ybq-company-banner img { width: 100%; height: auto; border: 5px solid #fff; border-radius: 18px 7px 18px 7px; object-fit: contain; backface-visibility: hidden; }
.ybq-company-copy { display: block; max-width: 1080px; margin: 0 auto; padding: 34px clamp(4px, 3vw, 44px) 0; }
.ybq-company-copy p { margin: 0 0 18px; color: var(--ybq-muted); line-height: 1.9; }
.ybq-company-copy p:last-child { margin-bottom: 0; }
.ybq-social-heading { margin: 0 0 clamp(34px, 4vw, 58px); text-align: center; }
.ybq-social-heading h2 { position: relative; display: inline-block; margin: 0; padding-bottom: 18px; color: var(--ybq-red); font-family: "Noto Serif SC", serif; font-size: clamp(3rem, 5.6vw, 5rem); font-weight: 800; line-height: 1.1; letter-spacing: .08em; }
.ybq-social-heading h2::after { content: ""; position: absolute; bottom: 0; left: 50%; width: 76px; height: 5px; border-radius: 5px; background: var(--ybq-red); transform: translateX(-50%); }
.ybq-social-value-list { display: grid; max-width: 1000px; gap: 22px; margin-inline: auto; }
.ybq-social-value-list article { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; overflow: hidden; border: 1px solid rgba(231,31,26,.16); border-radius: 20px 7px 20px 7px; background: #fff; box-shadow: 0 2px 3px rgba(92,23,17,.04), 0 15px 38px rgba(92,23,17,.09); transition: box-shadow .3s ease; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .ybq-social-value-list article:hover { z-index: 1; box-shadow: 0 3px 5px rgba(92,23,17,.05), 0 24px 48px rgba(92,23,17,.16); }
}
.ybq-social-value-list article:nth-child(even) .ybq-social-photo-slot { order: 2; }
.ybq-social-value-list article:nth-child(even) > .ybq-social-photo { order: 2; }
.ybq-social-photo-slot { position: relative; display: flex; min-height: 300px; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; gap: 10px; padding: 24px; color: var(--ybq-red); background: radial-gradient(ellipse at 78% 20%, rgba(231,31,26,.09), transparent 34%), linear-gradient(145deg, #fff9f7, #fae9e6); text-align: center; }
.ybq-social-photo { display: block; width: 100%; height: 100%; min-height: 300px; align-self: stretch; object-fit: contain; background: #fff; }
.ybq-social-photo-slot::before { content: ""; position: absolute; inset: 16px; border: 1px dashed rgba(231,31,26,.3); border-radius: 14px 5px 14px 5px; pointer-events: none; }
.ybq-social-photo-slot strong { position: relative; font-size: 1.2rem; }
.ybq-social-photo-slot small { position: relative; color: var(--ybq-muted); font-size: .88rem; }
.ybq-social-card-copy { align-self: center; padding: clamp(22px, 2.4vw, 32px); }
.ybq-social-card-copy h3 { margin: 8px 0 14px; font-family: "Noto Serif SC", serif; font-size: clamp(1.45rem, 2vw, 1.85rem); line-height: 1.3; }
.ybq-social-card-copy p { margin: 0; color: var(--ybq-muted); font-size: .93rem; line-height: 1.8; }
.ybq-social-card-copy .ybq-social-summary { margin: 0 0 16px; padding: 12px 16px; border-left: 4px solid var(--ybq-red); color: var(--ybq-ink); background: var(--ybq-red-soft); }
.ybq-social-card-copy > p:not(.ybq-social-summary) strong { color: inherit; font-weight: 700; }
.ybq-social-visual-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: clamp(24px, 3vw, 40px); }
.ybq-social-visual-grid article { overflow: hidden; border: 1px solid rgba(231,31,26,.16); border-radius: 18px 6px 18px 6px; background: #fff; box-shadow: var(--ybq-shadow); }
.ybq-social-visual-grid img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.ybq-social-visual-grid article > div { min-height: 150px; padding: 20px 24px; border-top: 5px solid var(--ybq-red); }
.ybq-social-visual-grid span { color: var(--ybq-red); font-size: .8rem; font-weight: 850; }
.ybq-social-visual-grid h3 { margin: 14px 0 8px; font-size: 1.35rem; }
.ybq-social-visual-grid p { margin: 0; color: var(--ybq-muted); }
.ybq-social-visual-grid .ybq-donation-placeholder { aspect-ratio: 16/10; display: grid; place-items: center; align-content: center; gap: 14px; padding: 28px; background: linear-gradient(145deg, #fff, #ffe9e6); }
.ybq-social-visual-grid .ybq-donation-placeholder img { width: auto; height: 76px; aspect-ratio: auto; object-fit: contain; opacity: .58; }
.ybq-social-visual-grid .ybq-donation-placeholder strong { color: var(--ybq-red); font-size: .9rem; letter-spacing: .08em; }
.ybq-mission-visual-grid { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: clamp(34px, 5vw, 68px); align-items: stretch; }
.ybq-mission-visual-grid figure { position: relative; min-height: 0; margin: 0; overflow: hidden; border: 10px solid #fff; border-radius: 24px 8px 24px 8px; background: var(--ybq-red-soft); box-shadow: 0 20px 56px rgba(92,23,17,.14), 12px 12px 0 rgba(231,31,26,.08); }
.ybq-mission-visual-grid figure img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: 58% center; transform: scale(1.2); }
.ybq-mission-copy { min-width: 0; align-self: center; }
.ybq-mission-lead { padding: 0 0 24px; border-bottom: 1px solid rgba(231,31,26,.2); }
.ybq-mission-lead h2, .ybq-vision-title { margin: 4px 0 12px; color: var(--ybq-ink); font-family: "Noto Serif SC", serif; font-size: clamp(1.33rem, 2.07vw, 2.1rem); font-weight: 800; line-height: 1.3; }
.ybq-mission-label { color: var(--ybq-red); }
.ybq-mission-lead > p:last-child { margin: 0; color: var(--ybq-muted); font-size: 1rem; line-height: 1.9; }
.ybq-mission-vision { padding-top: 20px; }
.ybq-mission-copy p { text-indent: 0; }
.ybq-vision-title { margin: 0 0 8px; color: var(--ybq-ink); font-family: "Noto Serif SC", serif; font-size: clamp(1.33rem, 2.07vw, 2.1rem); font-weight: 800; line-height: 1.3; }
.ybq-vision-levels { display: grid; }
.ybq-vision-levels article { display: block; padding: 9px 0; }

.ybq-vision-level-label { color: var(--ybq-red); font-size: inherit; font-weight: inherit; }
.ybq-home .ybq-vision-levels p, body.home .ybq-vision-levels p { margin: 0; color: var(--ybq-muted); font-size: 1rem; line-height: 1.8; text-align: left; text-indent: 0; }
.ybq-history-panel { scroll-margin-top: clamp(152px, 19vw, 198px); overflow: hidden; color: #fff; background: radial-gradient(ellipse at 50% -25%, rgba(255,255,255,.2), transparent 55%), linear-gradient(135deg, #bd1713 0%, var(--ybq-red) 52%, #c91611 100%); }
.ybq-history-panel::after { right: -12%; bottom: -55%; border-color: rgba(255,255,255,.09); }
.ybq-history-heading { margin: 0 0 clamp(28px, 4vh, 44px); text-align: center; }
.ybq-history-heading h2 { margin: 0; color: #fff; font-family: "Noto Serif SC", serif; font-size: clamp(1.8rem, 3.6vw, 3.1rem); font-weight: 800; line-height: 1.08; letter-spacing: .08em; }
.ybq-history-years { position: relative; width: 100%; height: clamp(58px, 7vw, 82px); margin: 0 auto 20px; overflow: hidden; isolation: isolate; }
.ybq-history-year { position: absolute; top: 50%; left: 50%; width: clamp(32px, 7.5vw, 108px); min-height: 42px; padding: 4px 0; border: 0; color: #fff; background: transparent; font: inherit; font-size: clamp(.7rem, 1.15vw, 1rem); font-weight: 500; line-height: 1; white-space: nowrap; cursor: pointer; opacity: .32; transform: translate3d(calc(-50% + var(--history-offset, 0px)), -50%, 0); transition: transform .58s cubic-bezier(.22,1,.36,1), opacity .42s ease, font-size .42s ease, font-weight .42s ease; }
.ybq-history-year[aria-pressed="true"] { z-index: 2; font-size: clamp(.92rem, 1.55vw, 1.28rem); font-weight: 800; opacity: 1; }
.ybq-history-year[data-distance="1"] { opacity: .78; }
.ybq-history-year[data-distance="2"] { opacity: .58; }
.ybq-history-year[data-distance="3"] { opacity: .38; }
.ybq-history-year[data-distance="4"] { opacity: .22; }
.ybq-history-year[data-distance="5"] { opacity: .13; }
.ybq-history-year:focus-visible { outline: 2px solid #fff; outline-offset: 2px; border-radius: 4px; }
.ybq-history-detail { display: grid; grid-template-columns: minmax(145px, .24fr) 1fr; gap: clamp(28px, 4.2vw, 64px); align-items: center; width: min(100%, 940px); margin-inline: auto; min-height: clamp(260px, 28vw, 350px); padding: clamp(30px, 4.5vw, 64px); color: var(--ybq-ink); background: rgba(255,255,255,.97); border-radius: var(--ybq-radius); box-shadow: 0 24px 70px rgba(95,9,5,.2); }
.ybq-history-detail-year { display: flex; align-items: baseline; gap: 4px; color: var(--ybq-red); }
.ybq-history-detail-year span { font-family: Arial, sans-serif; font-size: clamp(3rem, 6.4vw, 5.4rem); font-weight: 400; letter-spacing: -.06em; line-height: .95; }
.ybq-history-detail-year small { font-size: 1.25rem; }
.ybq-history-detail-copy { padding-top: 3px; }
.ybq-history-detail-copy h3 { margin: 0 0 16px; color: var(--ybq-ink); font-family: "Noto Serif SC", serif; font-size: clamp(1.3rem, 1.95vw, 1.72rem); line-height: 1.4; }
.ybq-history-detail-copy > p:last-child { max-width: 820px; margin: 0; color: var(--ybq-muted); font-size: 1rem; line-height: 1.9; text-indent: 0; }
.ybq-history-detail-copy.is-changing { opacity: 0; transform: translateY(12px); }
.ybq-history-detail-copy { transition: opacity .24s ease, transform .34s cubic-bezier(.22,1,.36,1); }
.ybq-history-note { margin: 12px 0 0; color: rgba(255,255,255,.72); font-size: .78rem; text-align: right; }

.ybq-case-card { overflow: hidden; padding: 0; }
/* 成功案例（1.2.168）：单列大图，一卡 = 合影 + 红标题 + 三要素 + 黑正文 */
.ybq-case-grid { display: grid; grid-template-columns: 1fr; gap: 38px; padding: 8px 18px 12px; }
.ybq-case-item { margin: 0; background: #fff; border: 1px solid rgba(0,0,0,.05); border-radius: 16px; overflow: hidden; box-shadow: 0 8px 22px rgba(24,25,29,.16), 0 2px 6px rgba(24,25,29,.10); transition: box-shadow .28s ease, transform .28s ease; }
.ybq-case-item:hover { box-shadow: 0 16px 38px rgba(24,25,29,.22), 0 4px 10px rgba(24,25,29,.12); transform: translateY(-2px); }
.ybq-case-photo { margin: 0; overflow: hidden; background: #f7f4f1; aspect-ratio: 9 / 4; }
.ybq-case-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 15%; }
.ybq-case-body { padding: 30px 40px 38px; }
.ybq-case-title { margin: 0; color: var(--ybq-red); font-family: "Noto Serif SC", serif; font-size: 1.52rem; font-weight: 800; line-height: 1.5; }
.ybq-case-meta { margin: 12px 0 0; color: var(--ybq-muted); font-size: .95rem; font-weight: 700; letter-spacing: .01em; }
.ybq-case-meta span + span::before { content: "｜"; margin: 0 9px; color: var(--ybq-line); }
.ybq-case-text { margin: 16px 0 0; color: var(--ybq-ink); font-size: 1rem; line-height: 2.15; text-indent: 2em; }
@media (max-width: 720px) {
  .ybq-case-grid { gap: 22px; }
  .ybq-case-body { padding: 16px 18px 22px; }
  .ybq-case-title { font-size: 1.12rem; }
  .ybq-case-text { font-size: .9rem; line-height: 1.9; }
}
.ybq-case-top { min-height: 170px; padding: 28px; background: linear-gradient(135deg, var(--ybq-red-dark), var(--ybq-red)); color: #fff; }
.ybq-case-top span { display: inline-block; color: #ffe43b; font-size: .78rem; font-weight: 750; }
.ybq-case-top h3 { margin-top: 30px; font-family: "Noto Serif SC", serif; font-size: 1.4rem; }
.ybq-case-body { padding: 26px 28px; }

.ybq-article-card { padding: 0 0 24px; overflow: hidden; }
.ybq-article-thumb { aspect-ratio: 16/9; background: linear-gradient(135deg, #f3e7e7, #faf8f6); overflow: hidden; }
.ybq-article-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ybq-article-content { padding: 24px 26px 0; }
.ybq-meta { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-bottom: 10px; color: var(--ybq-muted); font-size: .78rem; }

.ybq-cta { position: relative; overflow: hidden; color: #fff; background: linear-gradient(125deg, var(--ybq-red-dark), var(--ybq-red)); }
.ybq-cta::after { content: "谦"; position: absolute; right: 4%; bottom: -45%; color: rgba(255,255,255,.055); font-family: "Noto Serif SC", serif; font-size: 28rem; line-height: 1; }
.ybq-contact-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr; gap: 0; align-items: stretch; padding: clamp(30px, 4.5vw, 52px); background: #fff; border-radius: 26px; box-shadow: 0 30px 70px rgba(64, 16, 12, .28); color: var(--ybq-ink); }
.ybq-contact-copy h2 { margin: 0; color: var(--ybq-red); font-family: "Noto Serif SC", serif; font-size: clamp(1.3rem, 2.5vw, 2rem); line-height: 1.3; letter-spacing: -.01em; }
.ybq-contact-copy p { color: var(--ybq-muted); }
.ybq-contact-lead { margin: 0; color: var(--ybq-ink); font-size: 1.15rem; line-height: 2.05; }
.ybq-contact-lead strong { color: var(--ybq-red); }
.ybq-contact-list { margin: 24px 0 0; padding: 0; list-style: none; color: var(--ybq-muted); }
.ybq-contact-list li { margin-top: 12px; }
.ybq-contact-list li:first-child { margin-top: 0; }
.ybq-contact-list strong { display: inline-block; min-width: 90px; color: var(--ybq-red); }
.ybq-qr { width: 150px; margin-top: 24px; padding: 8px; background: #fff; border: 1px solid #f0ded9; border-radius: 10px; }
.ybq-form { margin-top: 26px; padding: 26px 0 0; color: var(--ybq-ink); background: transparent; border: 0; border-top: 1px solid #f0ded9; border-radius: 0; }
.ybq-contact-grid--inline { margin-top: 32px; box-shadow: 0 18px 44px rgba(76, 34, 28, .12); }
.ybq-form h3 { margin: 0 0 6px; }
.ybq-form > p { margin: 0 0 22px; color: var(--ybq-muted); }
.ybq-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ybq-field--full { grid-column: 1 / -1; }
.ybq-field label { display: block; margin-bottom: 6px; font-size: .88rem; font-weight: 750; }
.ybq-field input, .ybq-field select, .ybq-field textarea { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #d8d4d1; border-radius: 9px; background: #fff; }
.ybq-field textarea { min-height: 104px; resize: vertical; }
.ybq-consent { grid-column: 1 / -1; display: flex; gap: 9px; align-items: flex-start; color: var(--ybq-muted); font-size: .82rem; }
.ybq-consent input { margin-top: 6px; }
.ybq-consent-note { grid-column: 1 / -1; margin: 10px 0 0; color: #8d8781; font-size: .82rem; line-height: 1.8; }
.ybq-consent-note a { color: var(--ybq-red-dark); text-decoration: underline; text-underline-offset: 3px; }
.ybq-honeypot { position: absolute !important; left: -9999px !important; }
.ybq-notice { margin: 0 0 18px; padding: 12px 14px; border-radius: 8px; font-size: .9rem; }
.ybq-notice--success { color: #185d32; background: #e9f7ee; }
.ybq-notice--error { color: #8c1522; background: #fff0f1; }

.ybq-page-hero { position: relative; overflow: hidden; padding: 70px 0 56px; color: #fff; background: linear-gradient(125deg, var(--ybq-red-dark), var(--ybq-red) 62%, #ec3b36); }
.ybq-page-hero::after { content: ""; position: absolute; right: 7%; top: -170px; width: 340px; height: 340px; border: 58px solid rgba(255,222,0,.08); border-radius: 50%; }
.ybq-page-hero .ybq-container { position: relative; z-index: 1; }
.ybq-page-hero h1 { max-width: 880px; margin: 0; font-family: "Noto Serif SC", serif; font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1.12; }
.ybq-page-hero p { max-width: 720px; margin: 18px 0 0; color: rgba(255,255,255,.76); font-size: 1.08rem; }
/* 内页顶部横幅：与「生涯规划」页 (.ybq-career-intro) 完全同一套排版——
   左对齐 880px 窄栏、标题下黄色短线、大留白。两处数值必须同步，改一处就要改另一处。 */
.ybq-page-hero--compact { padding: clamp(68px, 9vw, 116px) 0; background: linear-gradient(128deg, #b5120f, var(--ybq-red) 62%, #f13a34); }
.ybq-page-hero--compact::after { right: -12%; top: -48%; width: min(46vw, 620px); height: auto; aspect-ratio: 1; border-width: clamp(38px, 5vw, 74px); border-color: rgba(255,255,255,.08); }
.ybq-page-hero--compact h1 { max-width: 880px; margin: 0 0 24px; font-family: "Noto Serif SC", "Songti SC", serif; font-size: clamp(1.05rem, 1.9vw, 1.55rem); font-weight: 800; line-height: 1.4; letter-spacing: .08em; }
.ybq-page-hero--compact h1::after { content: ""; display: block; width: 56px; height: 4px; margin-top: 22px; border-radius: 999px; background: #ffe43b; }
.ybq-page-hero--compact p { max-width: 880px; margin: 0 0 18px; color: rgba(255,255,255,.94); font-size: clamp(1rem, 1.15vw, 1.12rem); line-height: 2; text-align: left; }
.ybq-page-hero--compact strong { color: #ffe43b; font-weight: 800; }
.ybq-breadcrumbs { margin-bottom: 18px; color: rgba(255,255,255,.62); font-size: .82rem; }
.ybq-breadcrumbs a:hover { color: #fff; }
.ybq-content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 58px; }
.ybq-prose { max-width: 780px; font-size: 1.04rem; }
.ybq-prose h2, .ybq-prose h3 { margin-top: 2em; font-family: "Noto Serif SC", serif; line-height: 1.3; }
.ybq-prose h2 { font-size: 1.75rem; }
/* 文章形态增强：章节标题前加红色竖线，标题与首段之间留出呼吸感，
   段落之间用更大的行距，长文读起来不挤（2026-10-12 高校冬夏令营板块）
   整体宽度 880px 并在容器内居中——原来820px 靠左，右侧多出约 180px 空白，
   视觉重心偏左；居中后左右留白对称（用户 10-12 要求「靠中间一些」）。 */
.ybq-prose--article { max-width: 880px; margin-inline: auto; font-size: 1.06rem; }
.ybq-prose--article h2 { position: relative; margin-top: 2.6em; padding-left: 20px; font-size: 1.82rem; }
/* 开篇 h2 不再叠加上边距：2.6em(约76px) + section padding 88px 会让横幅与正文之间空到 164px，
   与其他页（88px）不一致。首元素归零后统一为 section padding。 */
.ybq-prose--article > h2:first-child { margin-top: 0; }
.ybq-prose--article h2::before { position: absolute; top: .18em; bottom: .18em; left: 0; width: 4px; border-radius: 4px; background: var(--ybq-red); content: ""; }
.ybq-prose--article h2 + p { margin-top: 1.1em; }
.ybq-prose--article p { margin: 1.15em 0; line-height: 1.95; }
.ybq-prose--article ul, .ybq-prose--article ol { margin: 1.2em 0; padding-left: 1.35em; }
.ybq-prose--article li { margin: .6em 0; padding-left: .2em; line-height: 1.9; }
.ybq-prose--article ul { list-style: disc; }
.ybq-prose--article ol { list-style: decimal; }
/* 对照表：突破正文栏宽，单独占满更宽的版面并在网页正中水平居中（用户 10-12 要求）。
   实现要点（踩过两次坑）：
   ① 不能靠 table 本身做居中——`.ybq-prose table` 是 display:block（为窄屏横滚），
      block 盒子宽度由内容决定，给再大 width 里面的表格也不会撑满；
      table-layout:fixed / min-width 也无效，因为 block 化后已不是表格盒子。
   ② 正确做法：外层容器 .ybq-table-wrap 负责「居中 + 定宽 + 窄屏横滚」，
      内层table 用 display:table; width:100% 真正平分列宽。 */
.ybq-table-wrap { width: min(880px, calc(100vw - 48px)); margin: 1.8em auto; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ybq-prose .ybq-table-wrap table { display: table; width: 100%; min-width: 560px; margin: 0; transform: none; }
.ybq-prose .ybq-table-wrap th,
.ybq-prose .ybq-table-wrap td { min-width: 0; }
.ybq-prose--article tbody tr:nth-child(even) { background: #fbf8f6; }
/* 导语：用引文形态与正文区分，长文一进入就能看到「这是一篇长文」的预期 */
.ybq-article-intro { max-width: 880px; margin: 0 auto 34px; padding: 22px 26px; border-radius: 16px; background: #fdf3f1; color: var(--ybq-ink); font-size: 1.06rem; line-height: 1.9; }
/* ==========================================================================
   教育部白名单竞赛页（2026-10-13 改为官方通知排版）
   正文严格照抄 moe.gov.cn 原文结构与排版：
     h1 居中 → 文号居左独立一行 → 主送机关 → 正文段（首行缩进两字、两端对齐）
     → 落款「教育部办公厅 / 2025年10月22日」右对齐
   官方「竞赛不得作为招生依据」那段是正文第一段的自然延续，不是独立强调块，
   所以这里不用红块，保持公文原貌。
   表格比正文宽一点（980px）因为要放 4 列；窄屏退回 100% 靠横滚。 */

/* 公文标题：居中、无红色竖线、字距略开 */
.ybq-prose--article .ybq-doc-title {
  margin: 0 0 20px;
  padding: 0;
  color: var(--ybq-ink);
  font-size: 1.72rem;
  font-weight: 750;
  line-height: 1.62;
  letter-spacing: .01em;
  text-align: center;
}
.ybq-prose--article .ybq-doc-title::before { content: none; }

/* 发文字号：居左独立一行，官方样式（不加粗、灰黑） */
.ybq-doc-wenhao {
  margin: 0 0 26px;
  color: var(--ybq-ink);
  font-size: 1.02rem;
  text-align: left;
}

/* 公文正文：两端对齐 + 首行缩进（缩进用文字写「　　」，与官方源码一致） */
.ybq-prose--article p { text-align: justify; }

/* 落款：右对齐 */
/* 落款整体上边距 30px；第二个落款紧跟第一个，只留 2px */
.ybq-prose--article p.ybq-doc-sign { margin: 30px 0 0; color: var(--ybq-ink); text-align: right; }
.ybq-prose--article p.ybq-doc-sign + p.ybq-doc-sign { margin-top: 2px; }

/* ---------- 名单区 ---------- */
.ybq-prose.ybq-contest-list { max-width: none; margin-top: 8px; font-size: 1rem; }
.ybq-contest-list-head { max-width: 880px; margin: 0 auto 6px; text-align: center; }
.ybq-contest-list-head h2 { position: relative; margin: 34px 0 10px; padding-top: 30px; font-size: clamp(1.45rem, 2.4vw, 1.9rem); }
.ybq-contest-list-head h2::before { top: 0; left: 50%; width: 46px; height: 4px; margin-left: -23px; border-radius: 2px; background: var(--ybq-red); content: ""; position: absolute; }
.ybq-contest-list-head p { margin: 0; color: var(--ybq-muted); font-size: .98rem; }
.ybq-contest-list-head strong { color: var(--ybq-red); font-family: "Noto Serif SC", serif; font-size: 1.15rem; }
.ybq-contest-cat { margin: 40px 0 0; }
.ybq-contest-cat h3 { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; font-size: 1.28rem; }
.ybq-contest-cat h3::after { flex: 1; height: 1px; background: var(--ybq-line, #edd9d4); content: ""; }
.ybq-contest-cat-no { flex: none; padding: 5px 12px; border-radius: 999px; background: var(--ybq-red); color: #fff; font-size: .84rem; font-weight: 800; letter-spacing: .04em; }
.ybq-table-wrap--wide { width: min(980px, calc(100vw - 48px)); }
.ybq-prose .ybq-table-wrap--wide table { min-width: 760px; font-size: .96rem; }
/* 单元格内容上下居中（原来是top，长短不一的行看起来头重脚轻） */
.ybq-prose .ybq-table-wrap--wide th,
.ybq-prose .ybq-table-wrap--wide td { padding: 12px 16px; vertical-align: middle; line-height: 1.7; }
.ybq-prose .ybq-table-wrap--wide th { vertical-align: middle; }
.ybq-prose .ybq-table-wrap--wide th:nth-child(1),
.ybq-prose .ybq-table-wrap--wide td:nth-child(1) { width: 68px; padding-inline: 10px; text-align: center; white-space: nowrap; }
.ybq-prose .ybq-table-wrap--wide th:nth-child(4),
.ybq-prose .ybq-table-wrap--wide td:nth-child(4) { width: 196px; }
.ybq-prose .ybq-table-wrap--wide .ybq-contest-no { color: var(--ybq-muted); font-variant-numeric: tabular-nums; }
.ybq-prose .ybq-table-wrap--wide .ybq-contest-name { color: var(--ybq-ink); font-weight: 700; }
.ybq-prose .ybq-table-wrap--wide tbody tr:nth-child(even) { background: #fbf8f6; }

.ybq-article-intro::before { display: block; margin-bottom: 8px; color: var(--ybq-red); content: "导 语"; font-size: .8rem; font-weight: 800; letter-spacing: .16em; }
@media (max-width: 640px) {
    .ybq-prose--article h2 { font-size: 1.5rem; }
    .ybq-article-intro { padding: 18px 20px; }
    /* 窄屏下表格退回正文栏宽，靠容器横向滚动查看 */
    .ybq-table-wrap { width: 100%; }
    .ybq-table-wrap--wide { width: 100%; }
    .ybq-contest-cat h3 { font-size: 1.12rem; gap: 10px; }
    .ybq-prose--article .ybq-doc-title { font-size: 1.3rem; }
    /* 官方标题是<br> 硬折行，窄屏会断出孤字，窄屏改回自动折行 */
    .ybq-prose--article .ybq-doc-title br { display: none; }
}
/* ==========================================================================
   多元升学 9 板块总览页（2026-10-13）
   九张卡排版完全一致：空图位占位 → 标题 → 简介 → 启动时机 → 详情链接。
   卡片等高对齐（ybq-pathway-grid），保证三列九张视觉整齐。 */
/* 空图位：保持与真实配图同样的 3:2 比例和位置，图片到位后直接换成 img 即可 */
.ybq-service-image--slot { display: flex; align-items: center; justify-content: center; }
.ybq-service-image--slot span { padding: 5px 14px; border: 1px dashed #d9d2ce; border-radius: 999px; color: #b3aaa5; font-size: .84rem; letter-spacing: .08em; }
/* 九宫格等高：卡片本身撑满网格单元，正文区 flex 撑开，简介超出时省略号收尾 */
.ybq-pathway-grid { align-items: stretch; }
/* grid-auto-rows: 1fr —— 九张卡分三行，各行高度由「该行最高的卡」决定。
   不写的话align-items:stretch 只在**同一行内**拉伸，某一行的文案变长只会把
   那一行撑高，三行之间就参差了（1.2.78 踩过：强基计划改成 77 字后
   第一行 324px、后两行 296px，视觉上很明显）。1fr 让三行统一取最大值。 */
.ybq-pathway-grid { grid-auto-rows: 1fr; }
.ybq-pathway-grid .ybq-service-card { height: 100%; }
/* min-height 只是下限——简介变长时卡片自然长高，九张卡仍靠 stretch 等高对齐 */
.ybq-pathway-grid .ybq-service-card { min-height: 296px; }
.ybq-pathway-grid .ybq-service-content { display: flex; flex: 1; flex-direction: column; }
/* line-clamp 从 3放宽到 5（1.2.78）：1.2.77 时强基计划改成 77 字长文案，
   3 行装不下被截掉尾巴。放宽到 5 行后可容纳 ~130 字，
   后续其他板块改成长文案也不会被砍。卡片高度由内容决定，等高靠 stretch。 */
.ybq-pathway-grid .ybq-service-content > p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; margin-bottom: 0; }

/* ===== 九宫格换真实配图（1.2.75）=====
   素材 900×383（比例 2.351），图位必须跟素材一致 —— 原来的 3/2（1.5）会把
   左右裁掉，「强基计划」四个字会被切。aspect-ratio 精确对齐素材，不裁不切不留白。
   卡片标题与「点击查看详情」文字均已删除（1.2.75），卡片只剩「图 + 简介」两层。 */
.ybq-pathway-figure { aspect-ratio: 900 / 383; background: #fff; }
.ybq-pathway-figure img { width: 100%; height: 100%; object-fit: cover; }

/* 整卡可点（1.2.76）
   九张卡全部可点、九张卡 hover 效果完全一致 —— 之前后六张因为没链接
   而禁掉了图片放大，用户指出「九个板块效果不一样」，已统一。

   ⚠️ 曾经用过 .screen-reader-text 这个类，**踩了三个坑**（都已实测确认）：
   ① `clip: rect(0,0,0,0)` 会让元素完全不参与命中测试，
      elementFromPoint 返回父级 DIV 而不是 A → 热区整片失效。
   ② `overflow: hidden` 会把超出盒子的内容裁掉，伪元素热区也被裁。
   ③ 只覆盖 clip 不覆盖 overflow hidden 是不够的 —— overflow 仍在裁。

   所以现在**不用 .screen-reader-text**，改用独立的 .ybq-card-hit 类，
   完全自己控制所有属性，不继承任何隐藏类的副作用。

   隐藏文字用 `color:transparent + font-size:0`（字号 0 宽不可见），
   靠 padding 撑出实体命中面积 —— 方案 A/B/C/D/E 实测对比后选定。 */
.ybq-pathway-grid .ybq-service-card { position: relative; }
.ybq-pathway-grid .ybq-card-hit {
  position: absolute; z-index: 1; inset: 0;
  display: block; padding: 12px;
  width: auto; height: auto; margin: 0;
  overflow: visible; clip: auto; white-space: normal;
  text-decoration: none;
  color: transparent; font-size: 0; line-height: 0;
}
.ybq-pathway-grid .ybq-card-hit:focus-visible { outline: 3px solid var(--ybq-red); outline-offset: -3px; border-radius: 14px; }
/* ⚠️⚠️⚠️ 1.2.76 真正的点击失效元凶就是曾经写在这里的 `:focus` 规则（现已删除）：
   鼠标按下会给 <a> 获得 focus，`:focus` 立刻把热区从「inset:0 铺满整卡」改成
   「top:12px; left:12px; right:auto; bottom:auto 的左上角小块」，并把
   font-size 从 0 改回 .84rem、color 从 transparent 改回白色 —— 元素在
   mousedown 与 mouseup 之间**位置和尺寸双双剧变**，抬起就落到下层
   DIV.ybq-service-content，浏览器判定「点在链接外」，不导航。
   症状与 hover 位移一模一样（mousedown=A / mouseup=DIV），极易误判。
   同一时刻 a.click() 也能正常跳转，所以 href 与路由都没问题。
   现在只保留 `:focus-visible`（纯键盘 Tab 才会触发，鼠标点击不触发）。*/
/* 九张卡一致的 hover 反馈：**整卡轻微放大** + 图片微缩放 + 阴影加深。

   ⚠️⚠️⚠️ 卡片**能用 transform，但只能用 scale，绝不能用 translate**（1.2.76 踩过两次）：
   ① 用户要的是「整卡放大」，之前为了保点击把 transform 整个禁掉、只让图片缩放，
      用户反馈「只有图片放大的效果，我要的是整个卡片放大」→ 改回整卡 scale。
   ② 但**不能再用 translateY(-4px) 上浮**。元素整体上移后，鼠标按下时的落点在
      抬起前已滑出元素范围 → mousedown 落在 <a> 上、mouseup 落到下层 DIV，
      浏览器判定「点在链接外」，不导航。实测事件序列：
        mousedown target = A.ybq-card-hit
        mouseup   target = DIV.ybq-service-content← 掉出去了
   ③ **scale 不存在这个问题**：元素是**变大**，原来的落点必然仍被新盒子覆盖，
      只可能"命中更多"不可能"落空"。这是能同时满足「整卡放大」和「点击可靠」的唯一解。
   ④ 留transition .22s，并让 hover 时的 scale 立即生效（鼠标已悬停到位再按下，
      动画不会在按下抬起之间跑完）。

   ⚠️ 还有一条全局老规则会跟着一起动：
   `.ybq-card:hover { transform: translateY(-4px) }`（全站卡片通用，transition .25s）
   必须显式覆盖回 scale，不能只覆盖 box-shadow。 */
.ybq-pathway-grid .ybq-service-card {
  cursor: pointer;
  transform: scale(1);
  transform-origin: center center;
  z-index: 1;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ybq-pathway-grid .ybq-service-card:hover {
  transform: scale(1.035);
  z-index: 3;
  border-color: rgba(231, 31, 26, .24);
  box-shadow: 0 22px 44px rgba(20, 16, 14, .14);
}
/* 图片不再单独缩放（卡片整体已放大，图片再缩会过冲显得发虚） */
.ybq-pathway-grid .ybq-service-card .ybq-pathway-figure img { transition: none; }
.ybq-pathway-grid .ybq-service-card:hover .ybq-pathway-figure img { transform: none; }

/* ===== 顶部「多元升学」下拉九项（1.2.74）=====
   九项比原来三项高得多（9 × 40px ≈ 360px），矮屏会顶出视口。
   加 max-height + 纵向滚动；宽度略放宽以容「中外合作办学」这类六字标题。 */
.ybq-nav .sub-menu.ybq-sub-menu--pathways { width: 244px; max-height: min(72vh, 520px); overflow-y: auto; overscroll-behavior: contain; }
.ybq-nav .sub-menu.ybq-sub-menu--pathways::-webkit-scrollbar { width: 6px; }
.ybq-nav .sub-menu.ybq-sub-menu--pathways::-webkit-scrollbar-thumb { border-radius: 6px; background: #e3dcd8; }
.ybq-nav .sub-menu.ybq-sub-menu--pathways a { padding-block: 8px; }

/* ===== 多元升学九板块子页骨架（1.2.74）=====
   九个板块共用 8 区块骨架，内容尚未填的区块显示灰色占位提示。 */
.ybq-pathway-detail .ybq-pathway-lead { margin: 0 auto 30px; padding: 18px 22px; border-left: 4px solid var(--ybq-red); border-radius: 0 12px 12px 0; background: var(--ybq-red-soft); color: var(--ybq-ink); font-size: 1.04rem; line-height: 1.85; text-align: left; }
.ybq-pathway-detail .ybq-pathway-block + .ybq-pathway-block { margin-top: 4px; }
/* 未填内容的区块标题淡一点，占位文字弱化——避免页面看着像正式发布内容 */
.ybq-pathway-detail .ybq-pathway-block--pending h2 { color: var(--ybq-muted); }
.ybq-pathway-detail .ybq-pathway-block--pending h2::before { background: #d9d2ce; }
.ybq-pathway-pending { margin: .4em 0 0; padding: 13px 18px; border: 1px dashed #dcd4d0; border-radius: 12px; color: #b3aaa5; font-size: .96rem; text-align: center; }
.ybq-pathway-list { margin: 1.2em 0; padding: 0; list-style: none; }
.ybq-pathway-list li { position: relative; margin: 0 0 10px; padding: 15px 20px 15px 48px; border-radius: 14px; background: #fbf8f5; color: var(--ybq-ink); line-height: 1.85; text-align: left; }
.ybq-pathway-list li::before { position: absolute; top: 17px; left: 20px; width: 20px; height: 20px; border-radius: 50%; color: #fff; background: var(--ybq-red); content: "✓"; font-size: .74rem; font-weight: 800; line-height: 20px; text-align: center; }

/* ===== 九板块子页 · 各种内容结构的卡片（1.2.82）=====
   八区块不是同一个结构：设计稿要求「各板块在不同区块用不同卡片结构」。
   数据源里的结构与这里的类名一一对应（page.php 与 detail.js 双端同规则）：
     纯字符串                → .ybq-pathway-list li（带✓ 圆点）
     array('label','text')   → .ybq-pathway-note   说明卡（区块2「这条路径是什么」）
     array('title','text')   → .ybq-pathway-step    步骤卡（区块3「怎么考」）
     array('title','text')   → .ybq-pathway-moment  时间轴（区块4「时间线」）
     array('title','rows')   → .ybq-pathway-card    卡片组（区块2/5「谁能报」「易百谦怎么做」）
     纯字符串                → .ybq-pathway-list li（区块5「限制与代价」）
   ⚠️ 容器宽度 880px，与 .ybq-prose--article 正文栏对齐。 */

/* 说明卡：左侧红色标签，右侧正文同一行 */
.ybq-pathway-list li.ybq-pathway-note { padding-left: 20px; }
.ybq-pathway-list li.ybq-pathway-note::before { display: none; }
.ybq-pathway-note strong { display: block; margin-bottom: 6px; color: var(--ybq-red); font-size: 1.02rem; font-weight: 800; }
.ybq-pathway-note span { display: block; }

/* 步骤卡：左侧编号圆点，右侧「标题 + 正文」
   ⚠️ counter 必须显式给 counter-increment，否则 content: counter() 取不到值，
   圆点会显示成初始的 "0"（实测踩过）。 */
.ybq-pathway-list li.ybq-pathway-step { padding-left: 52px; counter-increment: ybq-step; }
.ybq-pathway-list--steps { counter-reset: ybq-step 0; }
.ybq-pathway-step::before { content: counter(ybq-step) !important; font-size: .7rem; }
.ybq-pathway-step strong { display: block; margin-bottom: 6px; color: var(--ybq-ink); font-size: 1.04rem; font-weight: 800; }
.ybq-pathway-step span { display: block; }

/* 时间轴：左侧竖线 + 节点方块 */
.ybq-pathway-list--timeline { position: relative; padding-left: 6px; }
.ybq-pathway-list--timeline::before { position: absolute; top: 12px; bottom: 12px; left: 11px; width: 2px; background: var(--ybq-line); content: ""; }
.ybq-pathway-list li.ybq-pathway-moment { padding: 14px 20px 14px 46px; background: transparent; }
.ybq-pathway-list li.ybq-pathway-moment::before { top: 19px; left: 4px; width: 16px; height: 16px; border: 3px solid #fff; border-radius: 50%; background: var(--ybq-red); box-shadow: 0 0 0 2px var(--ybq-red); content: ""; }
.ybq-pathway-moment strong { display: block; margin-bottom: 4px; color: var(--ybq-ink); font-size: 1.02rem; font-weight: 800; }
.ybq-pathway-moment strong::after { display: inline-block; margin-left: 10px; padding: 2px 9px; border-radius: 999px; background: var(--ybq-red-soft); color: var(--ybq-red); font-size: .74rem; font-weight: 750; vertical-align: 2px; content: attr(data-stage); }
.ybq-pathway-moment span { display: block; }

/* 卡片组：多张卡并排，标题 + 若干「键：值」 */
.ybq-pathway-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin: 1.4em 0; }
.ybq-pathway-card { border: 1px solid var(--ybq-line); border-radius: 16px; background: #fff; overflow: hidden; }
.ybq-pathway-card-head { padding: 14px 20px; border-bottom: 1px solid var(--ybq-line); background: #fbf8f5; }
.ybq-pathway-card-head h3 { margin: 0; font-size: 1.02rem; font-weight: 800; }
.ybq-pathway-card-fields { margin: 0; padding: 6px 20px 16px; }
.ybq-pathway-field { padding: 11px 0; }
.ybq-pathway-field + .ybq-pathway-field { border-top: 1px dashed #eee7e2; }
.ybq-pathway-field dt { margin-bottom: 4px; color: var(--ybq-red); font-size: .84rem; font-weight: 800; }
.ybq-pathway-field dd { margin: 0; color: var(--ybq-ink); font-size: .97rem; line-height: 1.85; }

/* 窄屏：卡片组收成单列，说明卡/步骤卡/时间轴的左边距收窄 */
@media (max-width: 760px) {
  .ybq-pathway-cards { grid-template-columns: 1fr; }
  .ybq-pathway-list li { padding: 14px 16px 14px 44px; }
  .ybq-pathway-list li::before { left: 16px; }
  .ybq-pathway-list li.ybq-pathway-step { padding-left: 46px; }
}
/* ===== 九板块子页 · 四段式（1.2.83）=====
   用户 10-14 明确要求，九板块通用同一套结构：
     一、全面认识  overview 五层递进 + compare 对比表
     二、时间线    timeline 纵向时间轴
     三、招生简章  brochures + 39 所学校网格
     四、常见问题  faq 手风琴
   正文栏880px（与 .ybq-prose--article 对齐），不是 .ybq-prose，
   所以不继承其 max-width:780px，表格要单独包 .ybq-table-wrap。 */

.ybq-pathway-4seg { max-width: 880px; margin-inline: auto; }

/* 段标题：红色序号 + 黑色主标题 */
.ybq-seg { margin: 0 0 8px; }
.ybq-seg + .ybq-seg { margin-top: 76px; }
.ybq-seg-title { display: flex; align-items: baseline; gap: 14px; margin: 0 0 30px; font-size: 1.62rem; font-weight: 800; line-height: 1.4; }
.ybq-seg-num { display: inline-grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 12px; background: var(--ybq-red); color: #fff; font-size: 1.1rem; font-weight: 800; }
.ybq-seg-lead { margin: -12px 0 26px; color: var(--ybq-muted); font-size: 1.02rem; line-height: 1.9; }

/* 一、全面认识：每层一张大卡，序号用红底方块 */
.ybq-overview { display: flex; flex-direction: column; gap: 18px; }
.ybq-overview-item { padding: 26px 30px 28px; border: 1px solid var(--ybq-line); border-radius: var(--ybq-radius); background: #fff; box-shadow: 0 4px 18px rgba(76, 34, 28, .05); }
.ybq-overview-item h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font-size: 1.18rem; font-weight: 800; }
.ybq-overview-index { display: inline-grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 9px; background: var(--ybq-red-soft); color: var(--ybq-red); font-size: .92rem; font-weight: 800; }
.ybq-overview-item p { margin: 0; color: var(--ybq-ink); font-size: 1.02rem; line-height: 2; }

/* 对比表 */
.ybq-compare-table { width: 100%; border-collapse: collapse; font-size: .96rem; }
.ybq-compare-table th, .ybq-compare-table td { padding: 13px 15px; border: 1px solid #dedad7; text-align: left; line-height: 1.75; vertical-align: middle; }
.ybq-compare-table thead th { background: #f6f1ee; font-weight: 800; }
.ybq-compare-table thead th:not(:first-child) { background: var(--ybq-red); color: #fff; }
.ybq-compare-table tbody tr:nth-child(even) { background: #fdfbfa; }
.ybq-compare-table td:first-child { background: #f6f1ee; font-weight: 750; white-space: nowrap; }
/* 招生计划表（1.2.164/165，楚怡工匠）：表头全红、本科列与高职列同白底、
   招生人数居中、末行四格省略号 */
.ybq-plan-table thead th,
.ybq-plan-table thead th:first-child { background: var(--ybq-red); color: #fff; }
.ybq-plan-table td:first-child { background: transparent; font-weight: 400; }
.ybq-plan-table th:nth-child(4), .ybq-plan-table td:nth-child(4) { text-align: center; white-space: nowrap; }
.ybq-plan-table tbody tr:last-child td { text-align: center; color: var(--ybq-muted); letter-spacing: .2em; }

/* 二、时间线：横向轴（1.2.86 横屏；1.2.120 改 Grid 对齐）
   ⚠️ 旧版轴线 top 写死，长日期（"2026年9月23日至2027年6月13日"）换行后
   压线（1.2.120 用户反馈）。改为 Grid：when 行高自动取全行最大值，
   轴线/圆点固定在第二行 —— 时间行再长也不会压线。
   轴线段挂在 dot::before 上向两侧延伸，track overflow:hidden 裁掉越界段。 */
.ybq-tlh { margin: 0 0 34px; }
.ybq-tlh-group { display: inline-block; margin: 0 0 18px; padding: 5px 13px; border-radius: 999px; background: #2c2c2a; color: #fff; font-size: .86rem; font-weight: 650; letter-spacing: .02em; }
.ybq-tlh-track { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; grid-template-rows: auto auto auto auto; overflow: hidden; isolation: isolate; }
.ybq-tlh-col { display: contents; }
.ybq-tlh-when { display: block; margin: 0 7px; color: var(--ybq-red); font-size: .8rem; font-weight: 700; line-height: 1.4; text-align: center; }
.ybq-tlh-dot { position: relative; grid-row: 2; justify-self: center; align-self: center; width: 9px; height: 9px; border-radius: 50%; background: var(--ybq-red); }
/* 轴线画在红点下层（1.2.125 用户澄清：红点压着线）。
   ⚠️ 关键：dot 不能设 z-index——relative+z-index 会创建层叠上下文，
   把 ::before 的 z-index:-1 困在 dot 内部，线依然画在红点背景之上。
   去掉 z-index 后 ::before 逃逸到外层上下文，真正画到红点下面。 */
.ybq-tlh-dot::before { content: ""; position: absolute; z-index: -1; top: calc(50% - 1px); height: 1.5px; background: var(--ybq-line); }
.ybq-tlh-col:first-child .ybq-tlh-dot::before { left: 50%; right: -1000px; }
.ybq-tlh-col:last-child .ybq-tlh-dot::before { left: -1000px; right: 50%; }
.ybq-tlh-col:not(:first-child):not(:last-child) .ybq-tlh-dot::before { left: -1000px; right: -1000px; }
.ybq-tlh-stage { display: block; margin: 10px 7px 5px; color: var(--ybq-ink); font-size: .92rem; font-weight: 700; line-height: 1.5; text-align: center; }
.ybq-tlh-text { display: block; margin: 0 7px; color: var(--ybq-muted); font-size: .8rem; line-height: 1.65; text-align: center; }
/* 时间轴底部小字声明 */
.ybq-tl-note { margin: 6px 0 0; color: var(--ybq-muted); font-size: .85rem; }

/* ===== 综评「8 所高校详解」段（1.2.96）=====
   校名锚点列表（复用学校网格）→ 逐校区块：优势 + 简章链接 + 该校横向时间轴 */
.ybq-profile-card { margin: 26px 0 0; padding: 26px 30px 30px; border: 1px solid var(--ybq-line); border-radius: var(--ybq-radius); background: #fff; box-shadow: 0 4px 18px rgba(76, 34, 28, .05); }
.ybq-profile-name { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 14px; font-size: 1.24rem; font-weight: 800; }
.ybq-profile-name .ybq-overview-index { width: 32px; height: 32px; font-size: .95rem; }
.ybq-profile-link { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; padding: 7px 15px; border-radius: 999px; background: var(--ybq-red); color: #fff; font-size: .84rem; font-weight: 700; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.ybq-profile-link:hover { transform: scale(1.04); box-shadow: 0 4px 14px rgba(163, 45, 45, .3); }
.ybq-profile-link .ybq-school-go { border-color: #fff; opacity: .9; }
.ybq-profile-strength { margin: 0 0 20px; color: var(--ybq-ink); font-size: 1rem; line-height: 2; }
/* 录取分数线：红色醒目（1.2.97，家长最关心的信息前置） */
.ybq-profile-score { display: inline-block; margin: 0 0 14px; padding: 6px 14px; border-radius: 10px; background: var(--ybq-red-soft); color: var(--ybq-red); font-size: .92rem; font-weight: 800; }
/* 校区块内的时间轴上下留白，与优势文案区隔 */
.ybq-profile-card .ybq-tlh { margin: 22px 0 0; padding-top: 18px; border-top: 1px dashed var(--ybq-line); }
.ybq-profile-card .ybq-tlh-group { display: none; }
/* 锚点跳转定位偏移（顶部固定导航会遮住标题） */
.ybq-profile-card { scroll-margin-top: 90px; }
@media (max-width: 760px) {
  .ybq-profile-card { padding: 21px 20px 24px; }
  .ybq-profile-name { font-size: 1.1rem; }
  .ybq-profile-link { margin-left: 0; }
  .ybq-profile-strength { font-size: .96rem; line-height: 1.95; }
}

/* 窄屏：横向轴改纵向堆叠（每列变行，左对齐） */
@media (max-width: 760px) {
  .ybq-tlh-track { display: block; grid-auto-flow: row; overflow: visible; }
  .ybq-tlh-col { display: grid; grid-template-columns: 18px 1fr; column-gap: 12px; padding: 0 0 18px; text-align: left; }
  .ybq-tlh-col::before { top: 8px; bottom: -8px; left: 4px; right: auto; width: 1.5px; height: auto; }
  .ybq-tlh-col:last-child::before { bottom: 30%; }
  .ybq-tlh-dot { grid-column: 1; grid-row: 1 / span 3; position: static; justify-self: start; align-self: start; margin-top: 4px; }
  .ybq-tlh-dot::before { display: none; }
  .ybq-tlh-when { grid-column: 2; grid-row: 1; margin-bottom: 3px; text-align: left; }
  .ybq-tlh-stage { grid-column: 2; grid-row: 2; margin: 0 0 3px; text-align: left; }
  .ybq-tlh-text { grid-column: 2; grid-row: 3; text-align: left; }
}

/* 三、招生简章：39 所学校网格 */
.ybq-school-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(204px, 1fr)); gap: 11px; margin: 26px 0 0; padding: 0; list-style: none; }
/* 分组标签（1.2.145，警校公安/司法两类）；连排网格间距收紧 */
.ybq-school-group-label { margin: 22px 0 0; color: var(--ybq-ink); font-size: 1.02rem; font-weight: 800; }
.ybq-school-group-label + .ybq-school-grid { margin-top: 12px; }
.ybq-school-grid li { margin: 0; }
/* 超长校名（≥11 字，如军校「军事航天部队航天工程大学」）卡片跨两列，避免文字换行（1.2.146） */
.ybq-school-grid li.ybq-sch-2col { grid-column: span 2; }
/* 校名下方说明小字（1.2.142，军校无官网院校「（无官网简章及说明）」），与校名左对齐 */
.ybq-school-note { display: block; margin: 6px 0 0 16px; color: var(--ybq-muted); font-size: .78rem; line-height: 1.4; text-align: left; }
.ybq-school-grid a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 16px; border: 1px solid var(--ybq-line); border-radius: 12px; background: #fff; color: var(--ybq-ink); font-size: .97rem; font-weight: 700; line-height: 1.5; text-decoration: none; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
/* 超长校名（≥11 字，如军校「军事航天部队航天工程大学」）卡片跨两列，避免文字换行（1.2.146） */
.ybq-school-grid li.ybq-sch-2col { grid-column: span 2; }
/* 待接入卡（1.2.149）：无简章链接的院校，外观同卡片但灰底、无箭头、不可点 */
.ybq-school-grid a:hover { border-color: var(--ybq-red); background: var(--ybq-red-soft); color: var(--ybq-red); transform: scale(1.03); }
.ybq-school-pending { display: flex; align-items: center; gap: 8px; padding: 14px 16px; border: 1px dashed var(--ybq-line); border-radius: 12px; background: #faf8f6; color: var(--ybq-muted); font-size: .97rem; font-weight: 700; line-height: 1.5; }
.ybq-school-pending .ybq-school-go { display: none; }
/* 箭头用 CSS 画，不用 emoji */
.ybq-school-go { flex: none; width: 7px; height: 7px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); opacity: .55; }
.ybq-school-total { margin: 20px 0 0; color: var(--ybq-muted); font-size: .93rem; }
.ybq-official-note--inline { margin-top: 24px; }

/* 四、常见问题：手风琴 */
.ybq-seg--faq .ybq-faq-list { margin-top: 0; }

/* 窄屏：序号方块与标题换行，学校网格收成两列 */
@media (max-width: 760px) {
  .ybq-seg + .ybq-seg { margin-top: 56px; }
  .ybq-seg-title { gap: 11px; font-size: 1.34rem; }
  .ybq-seg-num { width: 36px; height: 36px; font-size: 1rem; }
  .ybq-overview-item { padding: 21px 20px 23px; }
  .ybq-overview-item p { font-size: .98rem; line-height: 1.95; }
  .ybq-school-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 9px; }
  .ybq-compare-table { font-size: .88rem; }
  .ybq-compare-table th, .ybq-compare-table td { padding: 10px 11px; }
}

.ybq-prose a { color: var(--ybq-red); text-decoration: underline; text-underline-offset: 3px; }
.ybq-prose blockquote { margin: 28px 0; padding: 18px 24px; border-left: 4px solid var(--ybq-red); background: var(--ybq-red-soft); }
.ybq-prose img { max-width: 100%; height: auto; }
.ybq-prose figure { max-width: 100%; margin: 28px 0; }
.ybq-prose figcaption { margin-top: 8px; color: var(--ybq-muted); font-size: .88rem; text-align: center; }
.ybq-prose table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; -webkit-overflow-scrolling: touch; }
.ybq-prose th, .ybq-prose td { min-width: 110px; padding: 12px 14px; border: 1px solid #dedad7; text-align: left; }
.ybq-prose thead th { background: #f6f1ee; color: var(--ybq-ink); font-weight: 750; }
/* 文章式服务页的「实力数据区」：数字用中国红强调，卡片浅红底圆角（对照红金 VI 规范） */
.ybq-fact-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; max-width: 880px; margin: 28px auto; }
.ybq-fact { padding: 22px 20px; border: 1px solid #f2ddd8; border-radius: 14px; background: #fff1ee; text-align: center; }
.ybq-fact strong { display: block; color: var(--ybq-red); font-family: "Noto Serif SC", serif; font-size: clamp(1.35rem, 2.1vw, 1.75rem); font-weight: 800; line-height: 1.2; white-space: nowrap; }
.ybq-fact span { display: block; margin-top: 8px; color: var(--ybq-muted); font-size: .9rem; line-height: 1.6; }
.ybq-partner-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 880px; margin: 22px auto; padding: 0; list-style: none; }
/* 文章正文里的 ul 有 padding-left 与 disc 图标，合作机构清单要覆盖掉，否则出现多余圆点且整体偏左 */
.ybq-prose .ybq-partner-list { margin-left: auto; margin-right: auto; padding-left: 0; list-style: none; }
.ybq-prose .ybq-partner-list li { padding-left: 0; }
.ybq-partner-list li { padding: 15px 18px; border: 1px solid var(--ybq-line); border-radius: 12px; background: #fff; color: var(--ybq-ink); font-size: .98rem; line-height: 1.7; }
.ybq-partner-list b { color: var(--ybq-red); }
.ybq-fit-list { display: grid; gap: 14px; max-width: 880px; margin: 24px auto; padding: 0; list-style: none; }
/* 同上：覆盖正文 ul 的 padding-left 与 disc，避免多余圆点导致整体偏左 */
.ybq-prose .ybq-fit-list { margin-left: auto; margin-right: auto; padding-left: 0; list-style: none; }
.ybq-fit-list li { position: relative; padding: 18px 22px 18px 56px; border-radius: 14px; background: #fbf8f5; color: var(--ybq-ink); font-size: 1rem; line-height: 1.85; }
.ybq-fit-list li::before { position: absolute; top: 18px; left: 20px; width: 22px; height: 22px; border-radius: 50%; color: #fff; background: var(--ybq-red); content: "✓"; font-size: .78rem; font-weight: 800; line-height: 22px; text-align: center; }
.ybq-fit-list b { color: var(--ybq-red); }
@media (max-width: 860px) {
  .ybq-fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ybq-partner-list { grid-template-columns: 1fr; }
}
.ybq-related { margin-top: 38px; padding-top: 28px; border-top: 1px solid #e8e5e3; }
.ybq-related ul { margin: 0; padding: 0; list-style: none; }
.ybq-related li { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid #eeeae7; }
.ybq-related time { flex: 0 0 auto; color: var(--ybq-muted); font-size: .86rem; }
.ybq-toc { margin: 28px 0 36px; padding: 22px 26px; border-left: 4px solid var(--ybq-red); background: var(--ybq-red-soft); }
.ybq-toc ol { margin: 10px 0 0; padding-left: 22px; }
.ybq-toc li + li { margin-top: 7px; }
.ybq-category-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.ybq-category-nav a { padding: 8px 15px; border: 1px solid #dedad7; border-radius: 999px; color: var(--ybq-ink); text-decoration: none; }
.ybq-category-nav a:hover, .ybq-category-nav a:focus-visible { border-color: var(--ybq-red); color: var(--ybq-red); }
.ybq-sidebar-card { position: sticky; top: 104px; padding: 24px; border: 1px solid var(--ybq-line); border-radius: var(--ybq-radius); }
.ybq-sidebar-card h2 { margin-top: 0; font-size: 1.1rem; }
.ybq-sidebar-card ul { margin: 0; padding-left: 20px; }
.ybq-empty { padding: 46px; border: 1px dashed #ccc5c1; border-radius: var(--ybq-radius); text-align: center; color: var(--ybq-muted); }
.ybq-pagination { margin-top: 38px; }
.ybq-pagination .page-numbers { display: inline-grid; min-width: 40px; height: 40px; place-items: center; margin-right: 6px; border: 1px solid var(--ybq-line); border-radius: 8px; }
.ybq-pagination .current { color: #fff; background: var(--ybq-red); border-color: var(--ybq-red); }

.ybq-site-footer { color: #5f514e; background: #fff9f7; border-top: 3px solid var(--ybq-red); }
.ybq-footer-main { display: grid; grid-template-columns: minmax(235px,1.3fr) minmax(125px,.68fr) minmax(185px,1.05fr) minmax(245px,1.45fr); gap: clamp(22px,3.5vw,52px); padding: 58px 0 48px; }
.ybq-footer-brand { display: inline-flex; width: 100%; align-items: center; gap: 15px; color: var(--ybq-ink); font-size: 1.68rem; line-height: 1.12; font-weight: 850; text-decoration: none; }
.ybq-footer-brand img { display: block; width: auto; height: 42px; max-width: 270px; object-fit: contain; }
.ybq-site-footer .ybq-footer-about > p { width: 100%; margin: 17px 0 20px; color: #746764; font-size: .8rem; line-height: 1.9; text-indent: 0; }
.ybq-footer-social { display: flex; flex-wrap: wrap; gap: 8px 14px; }
.ybq-footer-social-item { position: relative; }
.ybq-footer-social-item button { padding: 0; border: 0; color: #655854; background: transparent; font: inherit; font-size: .88rem; cursor: pointer; }
.ybq-footer-social-item button:hover,.ybq-footer-social-item button:focus-visible { color: var(--ybq-red); outline-color: var(--ybq-red); }
.ybq-footer-qr { position: absolute; z-index: 10; bottom: calc(100% + 15px); left: 50%; display: grid; justify-items: center; gap: 7px; width: 166px; padding: 12px; border: 1px solid #f0ded9; border-radius: 12px; color: #5f514e; background: #fff; box-shadow: 0 12px 30px rgba(78,31,24,.16); font-size: .82rem; opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%,6px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.ybq-footer-social-item:hover .ybq-footer-qr,.ybq-footer-social-item:focus-within .ybq-footer-qr { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.ybq-footer-qr .ybq-qr-img { display: block; width: 100%; height: auto; border-radius: 8px; }
.ybq-qr-placeholder { display: grid; width: 136px; aspect-ratio: 1; place-content: center; border: 1px dashed #d9b6af; border-radius: 8px; color: #90746d; background: #fffaf8; text-align: center; line-height: 1.8; }
.ybq-footer-column h2 { position: relative; margin: 4px 0 20px; color: var(--ybq-ink); font-size: .98rem; font-weight: 800; }
.ybq-footer-column h2::after { display: block; width: 24px; height: 2px; margin-top: 10px; background: var(--ybq-red); content: ""; }
.ybq-footer-main ul { margin: 0; padding: 0; list-style: none; }
.ybq-footer-main li { margin-top: 11px; }
.ybq-footer-main a:not(.ybq-footer-brand):not(.ybq-footer-cta) { color: #746764; text-decoration: none; transition: color .18s ease; }
.ybq-footer-main a:not(.ybq-footer-brand):not(.ybq-footer-cta):hover,.ybq-footer-main a:not(.ybq-footer-brand):not(.ybq-footer-cta):focus-visible { color: var(--ybq-red); }
/* 地址导航链接：页脚/联系页/隐私页共用，要一眼看得出能点 */
.ybq-site-footer .ybq-footer-main a.ybq-map-link, .ybq-contact-list a.ybq-map-link, .ybq-prose a.ybq-map-link { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; text-decoration-color: rgba(231, 31, 26, .62); transition: color .18s ease, text-decoration-color .18s ease; }
.ybq-site-footer .ybq-footer-main a.ybq-map-link:hover, .ybq-contact-list a.ybq-map-link:hover, .ybq-prose a.ybq-map-link:hover { color: var(--ybq-red); text-decoration-color: currentColor; }
.ybq-footer-contact address { font-style: normal; }
.ybq-site-footer .ybq-footer-contact address p { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 8px; margin: 0 0 13px; color: #746764; font-size: .9rem; line-height: 1.8; overflow-wrap: anywhere; text-indent: 0; }
.ybq-footer-contact address p > span { color: var(--ybq-red); font-weight: 750; }
.ybq-footer-bottom { padding: 17px 0; color: rgba(255,255,255,.92); background: var(--ybq-red); font-size: .8rem; }
.ybq-footer-bottom .ybq-container { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 22px; text-align: center; }
.ybq-footer-bottom a { color: inherit; text-decoration: none; }
.ybq-footer-bottom a:hover,.ybq-footer-bottom a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

.ybq-cookie { position: fixed; z-index: 90; right: 22px; bottom: 22px; width: min(430px, calc(100% - 44px)); padding: 20px; border: 1px solid var(--ybq-line); border-radius: 14px; background: #fff; box-shadow: var(--ybq-shadow); }
.ybq-cookie[hidden] { display: none; }
.ybq-cookie p { margin: 0 0 14px; color: var(--ybq-muted); font-size: .86rem; }
.ybq-cookie-actions { display: flex; gap: 10px; }
.ybq-cookie .ybq-button { min-height: 40px; padding: 8px 16px; font-size: .84rem; }

@media (min-width: 901px) {
  body.home, body.ybq-home { height: 100vh; overflow-y: auto; }
  body.home .ybq-home-panel, body.ybq-home .ybq-home-panel { min-height: 0; display: block; }
  body.home .ybq-hero.ybq-home-panel, body.ybq-home .ybq-hero.ybq-home-panel { min-height: 100svh; display: flex; }
  body.home .ybq-section.ybq-home-panel, body.ybq-home .ybq-section.ybq-home-panel { padding-top: 52px; padding-bottom: 52px; }
}

@media (max-width: 900px) {
  .ybq-header-inner { width: min(calc(100% - 32px), var(--ybq-content)); }
  body.home .ybq-header-inner, body.ybq-home .ybq-header-inner { width: min(calc(100% - 32px), var(--ybq-content)); min-height: 84px; gap: 16px; }
  body.home .ybq-brand-emblem, body.ybq-home .ybq-brand-emblem { height: 64px; }
  body.home .ybq-brand > img, body.ybq-home .ybq-brand > img { max-height: 64px; }
  body.home .ybq-brand-name, body.ybq-home .ybq-brand-name { font-size: 1.32rem; }
  .ybq-menu-toggle { display: block; }
  body.ybq-menu-open { overflow: hidden; }
  .ybq-nav { display: none; position: absolute; inset: clamp(62px, 4.6vw, 88px) 0 auto; max-height: calc(100svh - 68px); overflow-y: auto; overscroll-behavior: contain; padding: 18px 20px 24px; border-bottom: 1px solid var(--ybq-line); background: #fff; box-shadow: 0 14px 30px rgba(0,0,0,.08); }
  body.home .ybq-nav, body.ybq-home .ybq-nav { inset: 84px 0 auto; max-height: calc(100svh - 84px); }
  .ybq-nav.is-open { display: block; }
  .ybq-nav ul { display: grid; gap: 0; }
  .ybq-nav li { position: relative; border-bottom: 1px solid var(--ybq-line); }
  .ybq-nav li a { display: block; padding: 13px 0; }
  .ybq-nav .sub-menu, .ybq-nav .sub-menu .sub-menu { position: static; display: none; width: auto; padding: 0 0 4px 18px; border: 0; background: transparent; box-shadow: none; }
  .ybq-nav .is-submenu-open > .sub-menu { display: block; }
  .ybq-nav .sub-menu::before { display: none; }
  .ybq-nav .sub-menu a { padding: 8px 0; color: var(--ybq-muted); }
  .ybq-nav .sub-menu .menu-item-has-children > a::after { content: "⌄"; float: none; }
  .ybq-nav .menu-item-has-children > a::after { display: none; }
  .ybq-submenu-toggle { position: absolute; top: 5px; right: 0; display: grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 0; border-radius: 8px; color: var(--ybq-red); background: transparent; cursor: pointer; }
  .ybq-submenu-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
  .ybq-nav .ybq-button { margin-top: 16px; }
  .ybq-footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 36px; }
  .ybq-footer-about,.ybq-footer-contact { grid-column: 1 / -1; }
  body.home .ybq-nav, body.ybq-home .ybq-nav { color: var(--ybq-ink); background: #fff; }
  body.home .ybq-nav a:hover, body.ybq-home .ybq-nav a:hover { color: var(--ybq-red); }
  body.home .ybq-menu-toggle span, body.ybq-home .ybq-menu-toggle span { background: #fff; }
  body.home.ybq-past-hero .ybq-menu-toggle span, body.ybq-home.ybq-past-hero .ybq-menu-toggle span { background: var(--ybq-ink); }
  body.home .ybq-nav > .ybq-button, body.ybq-home .ybq-nav > .ybq-button { color: #fff; border-color: transparent; background: var(--ybq-red); text-shadow: none; }
  .ybq-concept-visual, .ybq-service-lead-visual { border-radius: 18px 6px 18px 6px; }
  .ybq-hero-grid, .ybq-contact-grid { grid-template-columns: 1fr; }
  .ybq-about-home-grid, .ybq-mission-grid { grid-template-columns: 1fr; }
  .ybq-social-value-grid { grid-template-columns: 1fr; }
  .ybq-company-copy, .ybq-mission-visual-grid { grid-template-columns: 1fr; }
  .ybq-social-visual-grid { grid-template-columns: repeat(2, 1fr); }
  .ybq-social-value-list article { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ybq-social-photo-slot { min-height: 300px; }
  .ybq-about-signature { min-height: 320px; }
  .ybq-social-value-grid article { padding-inline: 0; padding-bottom: 28px; border-left: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .ybq-hero-grid { gap: 42px; }
  .ybq-trust-inner { grid-template-columns: 1fr 1fr; }
  .ybq-trust-inner > div { border-top: 1px solid var(--ybq-line); }
  .ybq-trust-inner > div:nth-child(odd) { border-left: 0; }
  .ybq-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ybq-strength-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ybq-strength-facts > div:nth-child(odd) { border-left: 0; }
  .ybq-path { grid-template-columns: repeat(3, 1fr); row-gap: 25px; }
  .ybq-content-layout { grid-template-columns: 1fr; }
  .ybq-sidebar-card { position: static; }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .ybq-header-inner { width: calc(100% - 32px); gap: 12px; }
  .ybq-nav, .ybq-nav ul { gap: 13px; }
  .ybq-nav a { font-size: .88rem; }
  .ybq-nav > .ybq-button { min-height: 44px; padding-inline: 17px; }
  body.home .ybq-header-inner, body.ybq-home .ybq-header-inner { width: calc(100% - 32px); min-height: 86px; gap: 12px; }
  body.home .ybq-brand, body.ybq-home .ybq-brand { gap: 10px; }
  body.home .ybq-brand-emblem, body.ybq-home .ybq-brand-emblem { height: 64px; }
  body.home .ybq-brand > img, body.ybq-home .ybq-brand > img { max-height: 64px; }
  body.home .ybq-brand-name, body.ybq-home .ybq-brand-name { font-size: 1.42rem; }
  body.home .ybq-nav, body.ybq-home .ybq-nav { gap: 13px; }
  body.home .ybq-nav ul, body.ybq-home .ybq-nav ul { gap: 13px; }
  body.home .ybq-nav a, body.ybq-home .ybq-nav a { font-size: .9rem; }
  body.home .ybq-nav > .ybq-button, body.ybq-home .ybq-nav > .ybq-button { min-height: 44px; padding-inline: 17px; }
}

@media (max-width: 640px) {
  .ybq-container { width: min(calc(100% - 28px), var(--ybq-content)); }
  .ybq-career-screen { min-height: 0; padding: 30px 0; }
  .ybq-career-screen-inner, .ybq-career-screen-inner--reverse { width: min(calc(100% - 28px), var(--ybq-content)); min-height: 0; grid-template-columns: 1fr; gap: 26px; margin-inline: auto; padding: 0; }
  .ybq-career-screen-inner--reverse .ybq-career-screen-copy, .ybq-career-screen-inner--reverse .ybq-career-screen-visual { order: initial; }
  .ybq-career-screen-copy h1, .ybq-career-screen-copy h2 { margin: 0 0 14px; font-size: 1.4rem; }
  .ybq-career-screen-copy > p:not(.ybq-eyebrow) { margin-bottom: 20px; font-size: 1rem; }
  .ybq-career-screen-points { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 12px; margin-bottom: 20px; }
  .ybq-career-screen-points li { font-size: .9rem; }
  .ybq-career-screen-copy, .ybq-career-screen-inner--reverse .ybq-career-screen-copy { max-width: none; padding: 0; }
  .ybq-career-screen-visual, .ybq-career-screen-inner--reverse .ybq-career-screen-visual { width: 100%; height: auto; min-height: 0; max-width: 460px; border-radius: 18px 6px 18px 6px; }
  .ybq-career-screen-visual img { height: auto; aspect-ratio: 4/3; object-fit: cover; }
  .ybq-career-screen-visual--table img { height: auto; aspect-ratio: auto; object-fit: contain; }
  .ybq-section { padding: 64px 0; }
  .ybq-header-inner { min-height: 76px; }
  .ybq-brand-emblem { height: 58px; }
  .ybq-brand-name { font-size: 1.08rem; }
  .ybq-nav { top: 76px; }
  body.home .ybq-header-inner, body.ybq-home .ybq-header-inner { min-height: 76px; }
  body.home .ybq-brand-emblem, body.ybq-home .ybq-brand-emblem { height: 58px; }
  body.home .ybq-brand > img, body.ybq-home .ybq-brand > img { max-height: 58px; }
  body.home .ybq-brand-name, body.ybq-home .ybq-brand-name { font-size: 1.24rem; }
  body.home .ybq-nav, body.ybq-home .ybq-nav { inset: 76px 0 auto; max-height: calc(100svh - 76px); }
  .ybq-hero { padding-top: 112px; }
  .ybq-hero h1 { font-size: 2.55rem; }
  .ybq-page-hero h1 { font-size: 2rem; line-height: 1.24; }
  .ybq-page-hero--compact h1 { font-size: 1rem; line-height: 1.5; }
  .ybq-subject-tiers, .ybq-subject-grid, .ybq-advice-grid { grid-template-columns: 1fr; }
  .ybq-reason-row { grid-template-columns: 1fr; gap: 14px; }
  .ybq-reason-img { width: 100%; aspect-ratio: 17 / 10; align-self: auto; }
  .ybq-subject-tier strong { font-size: 1.45rem; }
  .ybq-subject-card, .ybq-advice-card { padding: 18px; }
  .ybq-subject-fields > div { grid-template-columns: 1fr; gap: 3px; }
  .ybq-subject-badge { padding: 3px 9px; font-size: .74rem; }
  .ybq-actions .ybq-button { width: 100%; }
  .ybq-proof-panel { padding: 24px; }
  .ybq-proof-grid, .ybq-form-grid, .ybq-grid--3, .ybq-grid--2 { grid-template-columns: 1fr; }
  .ybq-strength-facts { grid-template-columns: 1fr; }
  .ybq-strength-facts > div, .ybq-strength-facts > div:nth-child(odd) { padding-inline: 0; border-left: 0; border-top: 1px solid rgba(231,31,26,.14); }
  .ybq-strength-facts > div:first-child { border-top: 0; }
  .ybq-trust-inner { grid-template-columns: 1fr; padding-block: 12px; }
  .ybq-trust-inner > div, .ybq-trust-inner > div:nth-child(odd) { padding: 14px 0; border-left: 0; border-top: 1px solid var(--ybq-line); }
  .ybq-trust-inner > div:first-child { border-top: 0; }
  .ybq-path { grid-template-columns: 1fr; margin-left: 16px; }
  .ybq-path-step { border-top: 0; border-left: 2px solid #d9d4d1; }
  .ybq-path-step::before { top: 24px; left: -18px; }
  .ybq-section-heading { display: block; }
  .ybq-section-heading .ybq-text-link { display: inline-block; margin-top: 20px; }
  .ybq-form { padding: 24px 18px; }
  .ybq-about-home-title { font-size: 2.35rem; }
  .ybq-about-panel { scroll-margin-top: 130px; }
  body.home .ybq-section.ybq-home-panel, body.ybq-home .ybq-section.ybq-home-panel { padding-top: 44px; padding-bottom: 44px; }
  .ybq-home-tabs { top: 76px; }
  .ybq-home-tabs .ybq-container { min-height: 54px; gap: 28px; }
  .ybq-home-tabs a { padding: 14px 0; }
  .ybq-company-copy, .ybq-social-visual-grid { grid-template-columns: 1fr; }
  .ybq-social-heading { margin-bottom: 30px; }
  .ybq-social-heading h2 { font-size: 3rem; }
  .ybq-social-value-list { gap: 20px; }
  .ybq-social-value-list article { display: flex; flex-direction: column; }
  .ybq-social-value-list article:nth-child(even) .ybq-social-photo-slot { order: 0; }
  .ybq-social-value-list article:nth-child(even) > .ybq-social-photo { order: 0; }
  .ybq-social-photo-slot { min-height: 0; aspect-ratio: 16/9; padding: 22px; }
  .ybq-social-photo { width: 100%; height: auto; min-height: 0; aspect-ratio: 1/1; object-fit: contain; }
  .ybq-social-photo-slot::before { inset: 10px; }
  .ybq-social-card-copy { padding: 24px 22px 26px; }
  .ybq-company-banner { width: 94%; margin-bottom: 4px; transform: perspective(1100px) rotateX(.7deg) rotateY(-.5deg); }
  .ybq-company-banner:hover { transform: perspective(1100px) translateY(-3px); }
  .ybq-company-banner::before { inset: 9px -8px -9px 8px; }
  .ybq-company-banner img { border-width: 4px; }
  .ybq-company-copy { padding-top: 26px; }
  .ybq-mission-visual-grid figure { min-height: 320px; }
  .ybq-about-signature { min-height: 270px; padding: 32px 24px; }
  .ybq-about-signature span { font-size: 5.2rem; }
  .ybq-values-heading { margin-bottom: 14px; }
  .ybq-values-heading h2 { font-size: 1.6rem; }
  .ybq-history-heading { margin-bottom: 24px; }
  .ybq-history-heading h2 { font-size: 1.6rem; }
  .ybq-history-years { height: 56px; margin-bottom: 14px; }
  .ybq-history-detail { grid-template-columns: 1fr; gap: 18px; min-height: 310px; padding: 28px 24px; }
  .ybq-history-detail-year span { font-size: 3.5rem; }
  .ybq-history-detail-date { margin-bottom: 12px; }
  .ybq-values-tabs { justify-content: flex-start; gap: clamp(18px, 6vw, 34px); overflow-x: auto; }
  .ybq-values-tabs button { padding: 13px 2px 16px; font-size: .96rem; }
  .ybq-values-stage { height: 680px; margin-top: 12px; }
  .ybq-value-slide { width: 88%; height: calc(100% - 26px); padding: 28px 24px; }
  .ybq-value-slide[data-position="active"] { left: 50%; }
  .ybq-value-slide[data-position="left"] { left: 12%; opacity: .22; transform: translate3d(-50%,-50%,0) scale(.82); }
  .ybq-value-slide[data-position="right"] { left: 88%; opacity: .22; transform: translate3d(-50%,-50%,0) scale(.82); }
  .ybq-value-slide[data-position="far-left"] { left: 2%; opacity: .12; transform: translate3d(-50%,-50%,0) scale(.72); }
  .ybq-value-slide[data-position="far-right"] { left: 98%; opacity: .12; transform: translate3d(-50%,-50%,0) scale(.72); }
  .ybq-footer-main { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px 22px; padding: 42px 0 34px; }
  .ybq-footer-about { grid-column: 1 / -1; }
  .ybq-footer-contact { grid-column: 1 / -1; }
  .ybq-footer-brand { font-size: 1.52rem; }
  .ybq-footer-brand img { height: 34px; }
  .ybq-site-footer .ybq-footer-about > p { margin: 14px 0 17px; font-size: .78rem; }
  .ybq-footer-column h2 { margin-bottom: 15px; font-size: .92rem; }
  .ybq-footer-main li { margin-top: 9px; font-size: .9rem; }
  .ybq-footer-bottom { font-size: .74rem; }
  .ybq-footer-social-item:nth-last-child(-n+2) .ybq-footer-qr { right: 0; left: auto; transform: translateY(6px); }
  .ybq-footer-social-item:nth-last-child(-n+2):hover .ybq-footer-qr,.ybq-footer-social-item:nth-last-child(-n+2):focus-within .ybq-footer-qr { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
  .ybq-company-banner, .ybq-company-banner:hover { transform: none; }
  .ybq-social-value-list article, .ybq-social-value-list article:hover { transform: none; will-change: auto; }
  body.home, body.ybq-home { scroll-snap-type: none; }
}
/* ===== 志愿填报 · 一分一段查询（1.2.190 参考掌上高考排版重做） ===== */
.ybq-rank-section { background: linear-gradient(180deg, #fdf8f6 0%, #fff 55%); }
.ybq-rank { display: grid; gap: 0; margin-top: 30px; background: #fff; border: 1px solid rgba(0,0,0,.07); border-radius: 16px; box-shadow: 0 12px 32px rgba(24,25,29,.09); overflow: hidden; }
.ybq-rank-panel { padding: 24px 26px 22px; }
.ybq-rank-panel--lines { border-top: 1px solid rgba(0,0,0,.07); background: #fdfcfa; }
.ybq-rank-title { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; color: var(--ybq-ink); font-family: "Noto Serif SC", serif; font-size: 1.22rem; font-weight: 800; }
.ybq-rank-help { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: #eeeae6; color: var(--ybq-muted); font-size: .72rem; font-style: normal; font-weight: 700; cursor: help; }
.ybq-rank-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.ybq-rank-input { display: flex; align-items: center; gap: 12px; padding: 4px 6px 4px 16px; border: 1px solid #e3dcd6; border-radius: 10px; background: #fff; }
.ybq-rank-input:focus-within { border-color: var(--ybq-red); box-shadow: 0 0 0 3px rgba(231,31,26,.08); }
.ybq-rank-input input { flex: 1; min-width: 0; padding: 11px 0; border: 0; background: transparent; color: var(--ybq-ink); font-size: .98rem; font-variant-numeric: tabular-nums; }
.ybq-rank-input input:focus { outline: none; }
.ybq-rank-input input::-webkit-outer-spin-button, .ybq-rank-input input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ybq-rank-input button { flex: 0 0 auto; padding: 9px 22px; border: 0; border-radius: 8px; background: var(--ybq-red); color: #fff; font-size: .92rem; font-weight: 750; cursor: pointer; transition: .2s ease; }
.ybq-rank-input button:hover { background: var(--ybq-red-dark); }
.ybq-rank-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 18px; padding: 15px 20px; border-radius: 10px; background: #f6f3f0; }
.ybq-rank-cell { display: flex; align-items: baseline; gap: 10px; }
.ybq-rank-cell + .ybq-rank-cell { border-left: 1px solid #e6ded8; padding-left: 20px; }
.ybq-rank-cell span { color: var(--ybq-muted); font-size: .86rem; font-weight: 700; white-space: nowrap; }
.ybq-rank-cell strong { color: var(--ybq-red); font-size: 1.16rem; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.ybq-rank-cell strong em { margin-left: 2px; color: var(--ybq-muted); font-size: .78rem; font-style: normal; font-weight: 700; }
.ybq-rank-chart { margin-top: 8px; }
.ybq-rank-chart svg { display: block; width: 100%; height: auto; }
.ybq-chart-grid { stroke: #efe8e2; stroke-width: 1; }
.ybq-chart-axis { fill: #9a9089; font-size: 11px; font-weight: 600; }
.ybq-chart-area { }
.ybq-chart-line { fill: none; stroke: #5b7cfa; stroke-width: 1.4; stroke-linejoin: round; }
.ybq-chart-now { stroke: var(--ybq-red); stroke-width: 1.4; stroke-dasharray: 5 3; }
.ybq-chart-dot { fill: var(--ybq-red); stroke: #fff; stroke-width: 2; }
.ybq-chart-badge { fill: var(--ybq-red); font-size: 11px; font-weight: 800; paint-order: stroke; stroke: #fff; stroke-width: 3px; }
.ybq-chart-hit { cursor: crosshair; }
.ybq-rank-chart svg { touch-action: pan-y; }
.ybq-rank-tip { margin: 6px 0 0; color: var(--ybq-muted); font-size: .8rem; line-height: 1.7; }
.ybq-rank-table { width: 100%; margin-top: 4px; border-collapse: collapse; background: #fff; border-radius: 10px; overflow: hidden; }
.ybq-rank-table thead th { padding: 12px 16px; background: #f2eeea; color: var(--ybq-muted); font-size: .84rem; font-weight: 750; text-align: left; }
.ybq-rank-table thead th:nth-child(2), .ybq-rank-table thead th:nth-child(3) { text-align: right; width: 22%; }
.ybq-rank-table tbody td { padding: 13px 16px; border-top: 1px solid #f0eae5; color: var(--ybq-ink); font-size: .93rem; font-variant-numeric: tabular-nums; }
.ybq-rank-table tbody td:nth-child(2), .ybq-rank-table tbody td:nth-child(3) { text-align: right; font-weight: 700; }
.ybq-rank-table tbody tr:hover { background: #fdf8f6; }
.ybq-rank-source { margin: 12px 0 0; color: var(--ybq-muted); font-size: .78rem; line-height: 1.7; }
@media (max-width: 760px) {
  .ybq-rank-panel { padding: 20px 16px 18px; }
  .ybq-rank-filters { grid-template-columns: 1fr 1fr; gap: 10px; }
  .ybq-rank-summary { grid-template-columns: 1fr; gap: 10px; padding: 14px 16px; }
  .ybq-rank-cell + .ybq-rank-cell { border-left: 0; padding-left: 0; border-top: 1px solid #e6ded8; padding-top: 10px; }
  .ybq-rank-table thead th, .ybq-rank-table tbody td { padding: 11px 12px; font-size: .88rem; }
}

/* 一分一段标题（1.2.194）：红色、字号 ×1.5、整体居中 */
.ybq-rank-heading { max-width: none; margin: 0 auto; color: var(--ybq-red); text-align: center; font-size: clamp(1.7rem, 3.3vw, 2.8rem); line-height: 1.3; }
.ybq-rank-intro { max-width: 840px; margin: 16px auto 0; text-align: center; }
@media (max-width: 760px) { .ybq-rank-heading { font-size: 1.7rem; } .ybq-rank-intro { margin-top: 12px; text-align: left; } }

.ybq-rank-line-note { margin: 6px 0 0; padding: 14px 16px; background: #fdf8f6; border-radius: 10px; color: var(--ybq-muted); font-size: .88rem; line-height: 1.75; }

/* ===== 自定义下拉选择器（1.2.198，替代原生 select 的老式弹层） ===== */
.ybq-select { position: relative; min-width: 0; }
.ybq-select-trigger {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  width: 100%; min-height: 46px; padding: 0 14px;
  border: 1px solid #e6e2dd; border-radius: 11px; background: #fff;
  color: var(--ybq-ink); font-family: inherit; font-size: .95rem; font-weight: 700;
  text-align: left; cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.ybq-select-trigger:hover { border-color: #d8d1ca; background: #fffdfc; }
.ybq-select-trigger.is-open { border-color: var(--ybq-red); box-shadow: 0 0 0 3px rgba(231,31,26,.09); }
.ybq-select-trigger:focus-visible { outline: none; border-color: var(--ybq-red); box-shadow: 0 0 0 3px rgba(231,31,26,.12); }
.ybq-select-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ybq-select-arrow { flex: 0 0 auto; width: 16px; height: 16px; color: #a89e96; transition: transform .22s cubic-bezier(.3,.7,.4,1), color .2s ease; }
.ybq-select-trigger.is-open .ybq-select-arrow { transform: rotate(180deg); color: var(--ybq-red); }

.ybq-select-menu {
  position: fixed; z-index: 9999; padding: 6px;
  max-height: 362px; overflow-y: auto; overscroll-behavior: contain;
  background: #fff; border-radius: 13px;
  box-shadow: 0 18px 44px rgba(24,25,29,.16), 0 3px 10px rgba(24,25,29,.06), 0 0 0 1px rgba(24,25,29,.04);
  opacity: 0; visibility: hidden; transform: translateY(-6px) scale(.985); transform-origin: top center;
  transition: opacity .17s ease, transform .17s cubic-bezier(.3,.7,.4,1), visibility .17s;
}
.ybq-select-menu.is-open { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.ybq-select-option {
  display: block; width: 100%; padding: 11px 13px; border: 0; border-radius: 9px;
  background: transparent; color: #3d3a37; font-family: inherit; font-size: .94rem; font-weight: 600;
  text-align: left; cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.ybq-select-option:hover { background: #f6f2ef; }
.ybq-select-option.is-active { background: #fdeeea; color: var(--ybq-red); font-weight: 800; }
.ybq-select-option.is-active::after { content: "✓"; float: right; font-size: .86rem; font-weight: 900; }
.ybq-select-menu::-webkit-scrollbar { width: 6px; }
.ybq-select-menu::-webkit-scrollbar-thumb { background: #ded7d0; border-radius: 99px; }
.ybq-select-menu::-webkit-scrollbar-thumb:hover { background: #c9c0b8; }
.ybq-select-menu::-webkit-scrollbar-track { background: transparent; }
body.ybq-select-open { cursor: default; }
@media (max-width: 760px) {
  .ybq-select-trigger { min-height: 44px; font-size: .92rem; }
}

/* 被增强的原生 select：视觉隐藏但保留表单提交与 required 校验 */
.ybq-select-native {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  margin: -1px; padding: 0; border: 0;
  overflow: hidden; white-space: nowrap;
  clip: rect(0 0 0 0); clip-path: inset(50%);
  opacity: 0; pointer-events: none;
}

/* ==========================================================================
   志愿填报 · 全流程时间线（.ybq-vtl*）
   数据源 inc/volunteer-timeline.php，改动后跑 preview/sync-volunteer-timeline.mjs
   ========================================================================== */
.ybq-section-title.ybq-vtl-heading { max-width: none; margin: 0 auto; text-align: center; color: var(--ybq-red); font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.35; }
.ybq-section-intro.ybq-vtl-intro { max-width: 840px; margin: 16px auto 0; text-align: center; }
.ybq-vtl-sub { max-width: 840px; margin: 10px auto 0; text-align: center; color: #8f8982; font-size: .88rem; line-height: 1.75; }

/* 平台变更提示 */
.ybq-vtl-platform { max-width: 980px; margin: 34px auto 0; padding: 22px 26px; background: var(--ybq-red-soft); border-left: 4px solid var(--ybq-red); border-radius: 4px 14px 14px 4px; }
.ybq-vtl-platform-title { margin: 0 0 10px; color: var(--ybq-red-deep); font-size: 1rem; font-weight: 800; }
.ybq-vtl-platform-list { margin: 0; padding-left: 1.15em; list-style: disc; color: #4a4642; font-size: .89rem; line-height: 1.85; }
.ybq-vtl-platform-list li + li { margin-top: 7px; }
.ybq-vtl-link { color: var(--ybq-red-dark); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgba(231, 31, 26, .38); transition: color .15s ease, text-decoration-color .15s ease; }
.ybq-vtl-link:hover, .ybq-vtl-link:focus-visible { color: var(--ybq-red); text-decoration-color: currentColor; }

/* 阶段卡 */
.ybq-vtl { max-width: 980px; margin: 40px auto 0; padding: 0; list-style: none; display: grid; gap: 24px; }
.ybq-vtl-stage { position: relative; padding: 26px 30px 24px; background: #fff; border: 1px solid var(--ybq-line); border-radius: var(--ybq-radius); box-shadow: 0 2px 10px rgba(24,25,29,.05); }
.ybq-vtl-stage--hot { border-color: #f4d4ce; box-shadow: 0 12px 32px rgba(231,31,26,.09); }
.ybq-vtl-stage--hot::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; border-radius: var(--ybq-radius) var(--ybq-radius) 0 0; background: linear-gradient(90deg, var(--ybq-red), #f0714a); }
.ybq-vtl-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.ybq-vtl-no { font-family: "Noto Serif SC", "Songti SC", serif; font-size: 1.46rem; font-weight: 800; color: var(--ybq-red); line-height: 1; }
.ybq-vtl-stage-title { margin: 0; font-size: 1.14rem; font-weight: 800; letter-spacing: -.01em; }
.ybq-vtl-range { margin-left: auto; padding: 4px 12px; border-radius: 99px; background: var(--ybq-wash); color: #6c665f; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.ybq-vtl-lead { margin: 12px 0 0; color: var(--ybq-muted); font-size: .92rem; line-height: 1.8; }

/* 时间轴行：左日期 + 右内容，中间的竖线用 body 的左边框画 */
.ybq-vtl-rows { margin: 18px 0 0; padding: 0; list-style: none; }
.ybq-vtl-row { display: grid; grid-template-columns: 164px 1fr; }
.ybq-vtl-when { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; padding: 13px 16px 13px 0; text-align: right; }
.ybq-vtl-date { color: #4c4843; font-size: .84rem; font-weight: 700; line-height: 1.55; word-break: keep-all; }
.ybq-vtl-tag { max-width: 100%; padding: 1px 8px; border-radius: 99px; background: #f1eeea; color: #8a847d; font-size: .71rem; font-weight: 600; line-height: 1.5; text-align: right; }
.ybq-vtl-body { position: relative; padding: 11px 0 12px 22px; border-left: 2px solid #e6d2cd; }
.ybq-vtl-body::before { content: ""; position: absolute; left: -6px; top: 16px; width: 10px; height: 10px; border-radius: 50%; background: #fff; border: 2px solid #d9a9a0; }
.ybq-vtl-row.is-key .ybq-vtl-date { color: var(--ybq-red); }
.ybq-vtl-row.is-key .ybq-vtl-body::before { background: var(--ybq-red); border-color: var(--ybq-red); box-shadow: 0 0 0 4px rgba(231,31,26,.10); }
.ybq-vtl-what { margin: 0; font-size: .96rem; font-weight: 800; line-height: 1.5; }
.ybq-vtl-todo { margin: 7px 0 0; color: #4d4944; font-size: .88rem; line-height: 1.82; }
.ybq-vtl-tip { margin: 16px 0 0; padding: 13px 16px; background: var(--ybq-wash); border-radius: 12px; color: #4a4642; font-size: .87rem; line-height: 1.8; }
.ybq-vtl-tip::before { content: "本阶段要点　"; color: var(--ybq-red); font-weight: 800; }

/* 最容易踩的坑 */
.ybq-vtl-pitfalls { max-width: 980px; margin: 44px auto 0; }
.ybq-vtl-pitfalls-title { margin: 0 0 18px; font-size: 1.12rem; font-weight: 800; }
.ybq-vtl-pitfall-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ybq-vtl-pitfall { position: relative; padding: 18px 20px; background: #fff; border: 1px solid var(--ybq-line); border-radius: 14px; }
.ybq-vtl-pitfall-no { position: absolute; top: 12px; right: 18px; font-family: "Noto Serif SC", "Songti SC", serif; font-size: 1.44rem; font-weight: 800; color: #f4eae7; line-height: 1; }
.ybq-vtl-pitfall h4 { margin: 0; font-size: .93rem; font-weight: 800; }
.ybq-vtl-pitfall p { margin: 8px 0 0; color: #55514c; font-size: .85rem; line-height: 1.8; }

/* 来源 */
.ybq-vtl-source { max-width: 980px; margin: 28px auto 0; padding-top: 16px; border-top: 1px solid var(--ybq-line); color: #9a948d; font-size: .77rem; line-height: 1.75; }

@media (max-width: 900px) {
  .ybq-vtl-pitfall-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .ybq-vtl-stage { padding: 22px 18px; }
  .ybq-vtl-head { gap: 8px; }
  .ybq-vtl-range { margin-left: 0; }
  .ybq-vtl-row { grid-template-columns: 1fr; }
  .ybq-vtl-when { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px; padding: 14px 0 0; text-align: left; }
  .ybq-vtl-body { padding: 4px 0 14px; border-left: 0; }
  .ybq-vtl-body::before { display: none; }
  .ybq-vtl-platform { padding: 18px; }
}

/* ==========================================================================
   全站咨询引导区块（2026-10-28 重做，.ybq-cta-card*）
   结构：左「能得到什么」右「怎么开始」，只有两个行动点——获取初方案 / 直拨电话
   ========================================================================== */
.ybq-cta-card {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(0, 1fr);
  gap: clamp(26px, 4vw, 54px); align-items: center;
  padding: clamp(28px, 4.4vw, 52px);
  background: #fff; border-radius: 26px; color: var(--ybq-ink);
  box-shadow: 0 30px 70px rgba(64, 16, 12, .28);
}
.ybq-cta-kicker { display: inline-flex; align-items: center; gap: 9px; margin: 0; color: var(--ybq-red); font-size: .78rem; font-weight: 800; letter-spacing: .1em; }
.ybq-cta-kicker::after { content: ""; width: 26px; height: 2px; background: currentColor; opacity: .55; }
.ybq-cta-title { margin: 14px 0 0; font-family: "Noto Serif SC", "Songti SC", serif; font-size: clamp(1.22rem, 2.1vw, 1.78rem); line-height: 1.42; letter-spacing: -.01em; }
.ybq-cta-lead { max-width: 33em; margin: 12px 0 0; color: var(--ybq-muted); font-size: .97rem; line-height: 1.95; }
.ybq-cta-steps { display: flex; flex-wrap: wrap; gap: 9px 24px; margin: 22px 0 0; padding: 0; list-style: none; }
.ybq-cta-steps li { display: inline-flex; align-items: baseline; gap: 7px; color: #4d4944; font-size: .85rem; }
.ybq-cta-step-no { color: var(--ybq-red); font-family: "Noto Serif SC", serif; font-size: .76rem; font-weight: 800; }
.ybq-cta-side { display: grid; gap: 13px; justify-items: stretch; }
.ybq-cta-button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 54px; padding: 0 26px; border-radius: 14px;
  background: var(--ybq-red); color: #fff; font-size: 1rem; font-weight: 800; letter-spacing: .01em;
  box-shadow: 0 12px 26px rgba(231, 31, 26, .26);
  transition: background .18s ease, box-shadow .18s ease;
}
.ybq-cta-button:hover, .ybq-cta-button:focus-visible { background: var(--ybq-red-dark); box-shadow: 0 16px 32px rgba(231, 31, 26, .32); }
.ybq-cta-alt { margin: 0; color: var(--ybq-muted); font-size: .85rem; line-height: 1.75; text-align: center; }
.ybq-cta-alt a { color: var(--ybq-red-dark); font-weight: 800; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ybq-cta-alt a:hover { color: var(--ybq-red); }
.ybq-cta-alt-note { display: block; margin-top: 3px; color: #93908b; font-size: .78rem; }

@media (max-width: 860px) {
  .ybq-cta-card { grid-template-columns: minmax(0, 1fr); gap: 26px; align-items: stretch; border-radius: 22px; }
  .ybq-cta-lead { max-width: none; }
  .ybq-cta-side { gap: 12px; }
}
@media (max-width: 520px) {
  .ybq-cta-steps { flex-direction: column; gap: 9px; }
  .ybq-cta-button { min-height: 50px; font-size: .95rem; }
}

/* ==========================================================================
   右下角「回到顶部」按钮（全站，footer.php / preview 两个 html 各挂一个）
   显隐由 main.js 控制；有 Cookie 浮层时通过 --ybq-bt-lift 抬高，避免重叠
   ========================================================================== */
.ybq-back-top {
  position: fixed; z-index: 95; right: 22px; bottom: calc(22px + var(--ybq-bt-lift, 0px));
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; padding: 0;
  border: 1px solid var(--ybq-line); border-radius: 50%;
  background: #fff; color: var(--ybq-ink); cursor: pointer;
  box-shadow: 0 10px 26px rgba(24, 25, 29, .16);
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease,
    background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease,
    bottom .2s ease;
}
.ybq-back-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.ybq-back-top:hover, .ybq-back-top:focus-visible {
  background: var(--ybq-red); border-color: var(--ybq-red); color: #fff;
  box-shadow: 0 14px 30px rgba(231, 31, 26, .30); outline: none;
}
.ybq-back-top:focus-visible { outline: 2px solid var(--ybq-red); outline-offset: 3px; }
.ybq-back-top svg { display: block; }

@media (max-width: 760px) {
  .ybq-back-top { right: 14px; bottom: calc(14px + var(--ybq-bt-lift, 0px)); width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .ybq-back-top { transition: opacity .01ms linear, visibility .01ms linear; transform: none; }
}

/* ==========================================================================
   首页 合作单位（.ybq-marquee*）
   三排 logo 走马灯：第一、三排向右，第二排向左，两边渐隐，无缝循环
   素材多为方形校徽 + 横版媒体字标，统一按「等高、宽度自适应」裸排在白底上，
   不套卡片 —— 套卡片会让方形校徽在宽卡里显得空。
   数据源 inc/partners.php，改动后跑 preview/sync-partners.mjs
   ========================================================================== */
.ybq-partners-panel { scroll-margin-top: clamp(152px, 19vw, 198px); background: #fff; }
.ybq-partners-heading { margin: 0 0 clamp(26px, 3.2vw, 40px); text-align: center; }
.ybq-partners-heading h2 { margin: 0; color: var(--ybq-red); font-family: "Noto Serif SC", "Songti SC", serif; font-size: clamp(1.8rem, 3.6vw, 3.1rem); font-weight: 800; line-height: 1.08; letter-spacing: .08em; }

.ybq-marquee { display: grid; gap: clamp(16px, 2vw, 28px); }
.ybq-marquee-row {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.ybq-marquee-track {
  display: flex; align-items: center; width: max-content; margin: 0; padding: 0; list-style: none;
  animation: ybq-marquee-left var(--mq-dur, 54s) linear infinite;
  will-change: transform;
}
.ybq-marquee-row[data-move="right"] .ybq-marquee-track { animation-name: ybq-marquee-right; }
.ybq-marquee-row:hover .ybq-marquee-track { animation-play-state: paused; }

@keyframes ybq-marquee-left { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
@keyframes ybq-marquee-right { from { transform: translate3d(-50%, 0, 0); } to { transform: translate3d(0, 0, 0); } }

.ybq-marquee-item { flex: 0 0 auto; display: flex; align-items: center; height: clamp(46px, 4.4vw, 62px); padding: 0 clamp(16px, 1.9vw, 30px); }
.ybq-marquee-box { display: flex; align-items: center; justify-content: center; height: 100%; }
.ybq-marquee-box img { max-height: 100%; max-width: clamp(104px, 9.6vw, 166px); width: auto; height: auto; object-fit: contain; }
.ybq-marquee-box.is-text { height: auto; padding: 4px 14px; border: 1px solid #e8e5e3; border-radius: 10px; color: #4a4642; font-family: "Noto Serif SC", "Songti SC", serif; font-size: .85rem; font-weight: 700; line-height: 1.6; white-space: nowrap; }
.ybq-partners-note { max-width: 1080px; margin: clamp(24px, 3vw, 34px) auto 0; color: #9a948d; font-size: .79rem; line-height: 1.8; text-align: center; text-indent: 0; }

@media (max-width: 760px) {
  .ybq-marquee { gap: 14px; }
  .ybq-marquee-item { height: 38px; padding: 0 12px; }
  .ybq-marquee-box img { max-width: 88px; }
  .ybq-marquee-box.is-text { font-size: .74rem; padding: 3px 10px; }
  .ybq-marquee-row {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ybq-marquee-track { animation: none; }
}
