:root{
  --bg:#0b1220;
  --card:#0f1a2f;
  --muted:#a9b4c7;
  --text:#eaf0ff;
  --line:rgba(255,255,255,.08);
  --brand:#5ea0ff;
}
*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:auto}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", "PingFang SC", "Microsoft YaHei", sans-serif;
  background: radial-gradient(1200px 600px at 20% 0%, rgba(94,160,255,.18), transparent 50%),
              radial-gradient(900px 500px at 80% 20%, rgba(64,224,208,.10), transparent 55%),
              var(--bg);
  color:var(--text);
  line-height:1.6;
}
body.home-page{
  background-image:
    linear-gradient(180deg, rgba(7,12,22,.42), rgba(7,12,22,.62)),
    url("../img/home/background.jpeg");
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
}
body.home-page .header:not(.header--solid){
  background-color:transparent;
  background-image:none;
}
body.home-page .header{
  background:transparent;
  border-bottom-color:transparent;
  box-shadow:none;
}
body.home-page .header--solid{
  background:rgba(58, 62, 72, .94);
  border-bottom-color:rgba(255, 255, 255, .12);
  box-shadow:0 6px 22px rgba(0, 0, 0, .22);
}
body.home-page .header:not(.header--solid) .nav__link{
  color:rgba(255, 255, 255, .94);
}
body.home-page .header--solid .nav__link{
  color:rgba(255, 255, 255, .86);
}
body.home-page .header--solid .nav__link:hover,
body.home-page .header--solid .nav__link.is-active{
  color:#ffffff;
  background:rgba(255, 255, 255, .12);
}
body.home-page .header:not(.header--solid) .nav__link:hover,
body.home-page .header:not(.header--solid) .nav__link.is-active{
  color:#fff;
  background:rgba(255, 255, 255, .14);
}

body.about-page{
  background:#ffffff;
  color:#0b1220;
  /** 发展历程↔创始团队用 --cf-about-seam；使命→历程约为 seam×3%×0.49（两次各收 30%）+ 顶 calc(6px×0.48×0.49) */
  --cf-about-seam: clamp(192px, 26vh, 336px);
  --cf-mission-to-timeline-gap: calc(var(--cf-about-seam) * 0.03 * 0.7 * 0.7);
}
body.about-page .header{
  background:transparent;
  border-bottom-color:transparent;
  box-shadow:none;
}
body.about-page .header--solid{
  background:rgba(58, 62, 72, .94);
  border-bottom-color:rgba(255, 255, 255, .12);
  box-shadow:0 6px 22px rgba(0, 0, 0, .22);
}
body.about-page .header:not(.header--solid) .nav__link{
  color:rgba(255, 255, 255, .94);
}
body.about-page .header--solid .nav__link{
  color:rgba(255, 255, 255, .86);
}
body.about-page .header--solid .nav__link:hover,
body.about-page .header--solid .nav__link.is-active{
  color:#ffffff;
  background:rgba(255, 255, 255, .12);
}
body.about-page .header:not(.header--solid) .nav__link:hover,
body.about-page .header:not(.header--solid) .nav__link.is-active{
  color:#fff;
  background:rgba(255, 255, 255, .14);
}

/* About page: same horizontal band for 使命 / 发展历程 / 创始团队 / 研发团队 */
body.about-page .container.cf-container{
  width:92%;
  margin-left:auto;
  margin-right:auto;
  /** Section titles (.cf-timeline__label-slot, .cf-team__head, .cf-structure .cf-head) share one inset */
  --about-heading-inline:max(clamp(24px, 3.35vmin, 38px), 30px);
}

.about-hero{
  position:relative;
  min-height: 100vh;
  display:flex;
  align-items:center;
  background-image: url("../img/about_us/front.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-color:#0b1220;
  color:#ffffff;
  z-index:1;
}
.about-hero .container{
  max-width:none;
  width:100%;
  padding-left:min(20vw, 320px);
  padding-right:0;
}
.about-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(11,18,32,.86) 0%, rgba(11,18,32,.62) 44%, rgba(11,18,32,.22) 72%, rgba(11,18,32,0) 100%),
    linear-gradient(180deg, rgba(11,18,32,.58) 0%, rgba(11,18,32,.36) 40%, rgba(11,18,32,.62) 100%);
  pointer-events:none;
}
.about-hero__inner{
  position:relative;
  z-index:1;
  width:100%;
  max-width:none;
  margin:0;
  padding-left:0;
  padding-right:0;
  text-align:left;
}
.about-hero__tag{
  margin:0;
  letter-spacing:.22em;
  color:rgba(255,255,255,.68);
  font-size:12px;
}
.about-hero__title{
  margin:16px 0 0;
  font-size:104px;
  line-height:1.24;
  font-weight:800;
  letter-spacing:.01em;
  max-width:none;
  text-shadow: 0 6px 24px rgba(0,0,0,.35);
}
.about-hero__title span{
  display:block;
  white-space:nowrap;
}

.about-eyebrow{
  margin:0;
  letter-spacing:.22em;
  font-size:12px;
  color:#667089;
}
.about-h2{
  margin:12px 0 0;
  font-size:40px;
  line-height:1.12;
  font-weight:750;
  color:#0b1220;
}
.about-sub{
  margin:10px 0 0;
  color:#5b657b;
}
.about-body{
  margin:0 0 14px;
  color:#2a3447;
  line-height:1.75;
  font-size:30px;
}
.about-who{
  padding:0 0 34px;
  margin-top:-74px;
  position:relative;
  z-index:4;
  background:#070d1f;
}
.about-who > .container{
  max-width:none;
  width:100%;
  padding-left:10px;
  padding-right:10px;
}
.about-who__grid{
  display:grid;
  grid-template-columns: 1fr 2fr;
  gap:0;
  align-items:center;
  background:#ffffff;
  border:1px solid #dfe4ee;
  box-shadow: 0 14px 30px rgba(7,12,22,.16);
  min-height:468px;
  overflow:hidden;
  width:100%;
  max-width:none;
  margin:0;
}
.about-who__logo{
  position:relative;
  min-height:468px;
  background:#ffffff;
  border-right:1px solid #e2e7f1;
}
.about-who__logo::before{
  content:"";
  position:absolute;
  inset:0;
  background: url("../img/logo.png") center / 280px auto no-repeat;
  opacity:.26;
}
.about-who__grid > :last-child{
  padding:24px 16px;
  display:block;
}
.about-who__copy{
  max-width:none;
  width:100%;
  margin:0;
  text-align:left;
}
.about-who__kicker{
  margin:0;
  font-size:16px;
  color:#2a56b3;
}
.about-who__headline{
  margin:12px 0 0;
  font-size:64px;
  line-height:1.05;
  font-weight:850;
  letter-spacing:.02em;
  color:#0b1220;
}
.about-who__copy .about-body{
  margin-top:16px;
  font-size:24px;
  line-height:1.75;
}
.about-who__pillrow{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.about-pill{
  border:1px solid #e2e7f1;
  background:#f7f9fd;
  color:#2a3447;
  padding:8px 12px;
  font-size:13px;
}

.container.cf-container{
  max-width:none;
  width:100%;
  padding-left:0;
  padding-right:0;
}
.cf-head{
  margin-bottom:22px;
}
.cf-kicker{
  margin:0;
  color:#7a87a7;
  font-size:13px;
  letter-spacing:.1em;
}
.cf-title{
  margin:8px 0 0;
  font-size:36px;
  line-height:1.08;
  font-weight:800;
  color:#0b1220;
}

.cf-intro{
  padding-top:120px;
  padding-bottom:var(--cf-mission-to-timeline-gap);
  background:#ffffff;
}
.cf-intro__layout{
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap:0;
  align-items:start;
  background:#ffffff;
  min-height:100vh;
  border:none;
}
.cf-intro__left{
  padding:38px clamp(28px, 3.6vw, 40px) 36px;
  margin-top:0;
}
.cf-intro__right{
  padding:28px clamp(28px, 3.6vw, 40px) 32px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  min-height:100%;
}
.cf-intro__text{
  margin:0;
  font-size:23px;
  line-height:1.85;
  color:#1f2940;
  max-width:none;
}
.cf-values{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
}
.cf-values__title{
  margin:168px 0 0;
  font-weight:400;
  font-size:40px;
  line-height:1.08;
}
.cf-value{
  border:none;
  background:#ffffff;
  min-height:220px;
  padding:18px 12px;
  color:#0e1830;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:10px;
  position:relative;
  overflow:visible;
  transform:translateY(0);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease;
}
.cf-value::before{
  content:"";
  position:absolute;
  inset:0;
  border-left:1px solid #eef1f6;
  border-right:1px solid #eef1f6;
  border-bottom:1px solid #eef1f6;
  border-top:none;
  border-radius:0 0 10px 10px;
  pointer-events:none;
  transition:border-color .3s ease, box-shadow .3s ease;
}
.cf-value:hover{
  transform:translateY(-22px) !important;
  box-shadow:0 14px 28px rgba(20,36,74,.1);
  background:#ffffff;
}
.cf-value:hover::before{
  border-left-color:#5579CD;
  border-right-color:#5579CD;
  border-bottom-color:#5579CD;
  box-shadow:
    -12px 10px 20px rgba(85,121,205,.24),
    12px 10px 20px rgba(85,121,205,.24),
    0 14px 22px rgba(85,121,205,.3);
}
.cf-value h3{
  margin:8px 0 0;
  font-size:28px;
  line-height:1.2;
  color:#0f1933;
  font-weight:500;
}
.cf-value__icon{
  margin-top:0;
  width:74px;
  height:74px;
  display:block;
  transition:transform .3s ease;
  position:relative;
  z-index:2;
}
.cf-value:hover .cf-value__icon{
  transform:none;
  filter:none;
}
.cf-value h3{
  transition:transform .3s ease, color .3s ease;
  position:relative;
  z-index:2;
}
.cf-value:hover h3{
  transform:none;
  color:#5579CD;
}
.cf-carousel{
  width:100%;
  position:relative;
  z-index:0;
}
.cf-carousel__frame{
  position:relative;
  z-index:0;
}
.cf-carousel__frame::before{
  content:"";
  position:absolute;
  inset:0;
  background:#407BCB;
  transform:rotate(2deg);
  transform-origin:center center;
  z-index:-1;
}
.cf-carousel__slides{
  position:relative;
  width:100%;
  aspect-ratio: 16 / 9;
  overflow:hidden;
  background:#0b1220;
}
.cf-carousel__slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity .95s ease-in-out;
  will-change:opacity;
  pointer-events:none;
}
.cf-carousel__slide.is-active{
  opacity:1;
}
.cf-carousel__dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:18px;
}
.cf-carousel__dot{
  width:9px;
  height:9px;
  border-radius:50%;
  border:none;
  padding:0;
  background:#407BCB;
  cursor:pointer;
  opacity:.5;
}
.cf-carousel__dot.is-active{
  background:#407BCB;
  opacity:1;
}

.cf-timeline{
  padding:calc(6px * 0.48 * 0.7 * 0.7) 0 var(--cf-about-seam);
  background:#ffffff;
}
.cf-timeline .cf-container{
  /* Width/centering: body.about-page .container.cf-container; timeline scrub inset for axis */
  --tl-handle-gutter:clamp(24px, 3.35vmin, 38px);
}
.cf-timeline__scroll{
  position:relative;
  /* Tall runway: vertical scroll drives horizontal translate while inner is sticky. */
  height:min(260vh, max(220vh, 1200px));
}
.cf-timeline__sticky{
  position:sticky;
  /* Fallback before JS: below header. JS sets top≈50vh−h/2 to lock in vertical center. */
  top:92px;
  height:auto;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding-top:0;
}
.cf-timeline__label-slot{
  flex-shrink:0;
  align-self:flex-start;
  width:100%;
  box-sizing:border-box;
  padding:0 var(--about-heading-inline);
  /* Space under title only — no JS offset; large gap so title sits clearly above timeline */
  margin:0 0 clamp(64px, 14vh, 220px);
}
.cf-timeline__label{
  width:auto;
  min-height:0;
  flex-shrink:0;
  padding:0;
  border:none;
  margin:0;
  text-align:left;
  font-size:clamp(32px, 4vw, 46px);
  line-height:1;
  font-weight:400;
  letter-spacing:0.02em;
  color:#0a0a0a;
}
.cf-timeline__axis{
  background:#ffffff;
  /* At least ~½ knob + border so handle isn’t clipped; gutter can be smaller on narrow viewports */
  padding:4px max(var(--tl-handle-gutter, clamp(24px, 3.35vmin, 38px)), 30px) 8px;
  overflow:hidden;
}
.cf-timeline__inner{
  --tl-grid-cols:repeat(5, minmax(420px, 1fr));
  min-width:2150px;
  transform:translateX(var(--timeline-shift, 0px));
  will-change:transform;
}
.cf-timeline__years,
.cf-timeline__events{
  display:grid;
  grid-template-columns:var(--tl-grid-cols);
  column-gap:10px;
}
.cf-timeline__years span{
  display:block;
  text-align:center;
  font-size:38px;
  line-height:1.1;
  font-weight:700;
  color:#6b7280;
  transition:color .45s ease;
}
.cf-timeline__years span.is-current{
  color:rgb(64, 123, 203);
}
.cf-timeline__track{
  --tl-accent:rgb(64, 123, 203);
  --tl-accent-deep:rgb(45, 95, 164);
  /* Unfilled / not-yet-progressed rail */
  --tl-rail-muted:#b9c1cc;
  position:relative;
  height:86px;
  margin:18px 0 16px;
}
.cf-timeline__rail{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  transform:translateY(-50%);
  height:28px;
  pointer-events:none;
  z-index:1;
}
.cf-timeline__rail-base{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  transform:translateY(-50%);
  height:20px;
  border-radius:10px;
  background:var(--tl-rail-muted);
}
.cf-timeline__rail-fill{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  height:20px;
  width:var(--timeline-fill, 0%);
  max-width:100%;
  border-radius:10px 0 0 10px;
  background:linear-gradient(90deg, var(--tl-accent-deep), var(--tl-accent));
  box-shadow:0 1px 0 rgba(0,0,0,.12);
  z-index:1;
}
.cf-timeline__rail-handle{
  position:absolute;
  left:var(--timeline-fill);
  top:50%;
  transform:translate(-50%, -50%);
  width:54px;
  height:54px;
  margin-left:-1px;
  border-radius:50%;
  background-color:var(--tl-accent);
  opacity:1;
  border:3px solid #ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  /* Above .cf-timeline__chevs so the knob hides only the glyphs it overlaps */
  z-index:3;
}
.cf-timeline__rail-handle-grip{
  display:block;
  width:24px;
  height:auto;
  user-select:none;
  pointer-events:none;
}
.cf-timeline__chevs{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  transform:translateY(-50%);
  height:20px;
  display:grid;
  grid-template-columns:var(--tl-grid-cols);
  column-gap:10px;
  align-items:center;
  pointer-events:none;
  z-index:2;
}
.cf-timeline__chevs span{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  text-align:center;
  font-size:22px;
  font-weight:700;
  color:#5c5c5c;
  line-height:0;
}
.cf-timeline__chevs span::before{
  content:"›";
  display:block;
  line-height:1;
  opacity:.9;
  transform:translateY(-0.08em);
}
.cf-timeline__events{
  align-items:start;
}
.cf-timeline__event{
  padding:2px 4px 0;
  transition:color .35s ease;
}
.cf-timeline__event.is-current p{
  color:rgb(38, 78, 135);
  font-weight:500;
}
.cf-timeline__event p{
  margin:0;
  font-size:calc(28px * 0.7);
  line-height:1.65;
  color:rgba(90,100,118,.88);
  transition:color .45s ease;
  white-space:nowrap;
  text-align:center;
}
.cf-timeline__event p::before{
  content:"\2013\00a0";
  margin-right:2px;
  color:inherit;
}

.cf-team{
  padding:96px 0 84px;
  background:#ffffff;
}
.cf-team__head{
  margin-bottom:clamp(28px, 5vw, 44px);
  padding-inline:var(--about-heading-inline);
  box-sizing:border-box;
}
.cf-team__head .cf-kicker{
  margin:0;
  text-align:left;
  font-size:clamp(32px, 4vw, 46px);
  line-height:1;
  font-weight:400;
  letter-spacing:0.02em;
  color:#0a0a0a;
}
.cf-founders-carousel{
  position:relative;
  width:100%;
}
.cf-founders-carousel__viewport{
  overflow:hidden;
  border-radius:12px;
  touch-action:pan-y;
}
.cf-founders-carousel__viewport:focus-visible{
  outline:2px solid #407BCB;
  outline-offset:3px;
}
.cf-founders-carousel__track{
  display:flex;
  flex-direction:row;
  transition:transform .55s cubic-bezier(.22, 1, .36, 1);
  will-change:transform;
}
.cf-founders-carousel[data-reduce-motion="true"] .cf-founders-carousel__track{
  transition:none;
}
.cf-founder-card{
  flex:0 0 100%;
  min-width:0;
  box-sizing:border-box;
}
.cf-founder-card__inner{
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr);
  gap:clamp(20px, 4.5vw, 52px);
  align-items:center;
  padding:clamp(12px, 2vw, 8px) 0 clamp(8px, 1.5vw, 16px);
  transition:transform .35s ease, box-shadow .35s ease;
}
.cf-founder-card__visual{
  position:relative;
  width:100%;
  max-width:520px;
  margin:0 auto;
}
.cf-founder-card__photo-bg{
  position:absolute;
  left:8%;
  right:-4%;
  top:10%;
  bottom:-6%;
  border-radius:18px;
  background:linear-gradient(145deg, rgba(64, 123, 203, .22), rgba(64, 123, 203, .06));
  filter:blur(0);
  z-index:0;
  transform-origin:50% 50%;
  transition:transform .65s cubic-bezier(.22, 1, .36, 1);
}
.cf-founder-card__photo-frame{
  position:relative;
  z-index:1;
  border-radius:14px;
  overflow:hidden;
  aspect-ratio:4/5;
  box-shadow:0 18px 48px rgba(15, 26, 58, .12);
}
.cf-founder-card__photo{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.cf-founders-carousel[data-reduce-motion="true"] .cf-founder-card__photo-bg{
  transition:none;
}
/* 悬停仅限文案列：姓名下横条 + 照片后背景装饰块动效；人物图与相框无动效 */
.cf-founders-carousel:not([data-founders-dragging]) .cf-founder-card.is-active:has(.cf-founder-card__body:is(:hover,:focus-within)) .cf-founder-card__photo-bg{
  transform:scale(1.05) translate(3px, -3px);
}
.cf-founders-carousel:not([data-founders-dragging]):not([data-reduce-motion="true"]) .cf-founder-card.is-active:has(.cf-founder-card__body:is(:hover,:focus-within)) .cf-founder-card__name::after{
  transform:scaleX(1);
}
.cf-founders-carousel[data-reduce-motion="true"]:not([data-founders-dragging]) .cf-founder-card.is-active:has(.cf-founder-card__body:is(:hover,:focus-within)) .cf-founder-card__name::after{
  transform:scaleX(1);
}
.cf-founder-card__body{
  align-self:start;
  padding:clamp(12px, 2vw, 26px) clamp(14px, 2.6vw, 36px) clamp(18px, 2.5vw, 32px);
}
.cf-founder-card__name{
  margin:0;
  position:relative;
  display:inline-block;
  font-size:clamp(34px, 4.2vw, 52px);
  line-height:1.1;
  font-weight:700;
  letter-spacing:.02em;
  color:#0d1a38;
}
.cf-founder-card__name::after{
  content:"";
  display:block;
  height:3px;
  margin-top:10px;
  border-radius:2px;
  background:#407BCB;
  transform:scaleX(0);
  transform-origin:0 50%;
  transition:transform .48s cubic-bezier(.22, 1, .36, 1);
}
.cf-founders-carousel[data-reduce-motion="true"] .cf-founder-card__name::after{
  transition:none;
}
.cf-founder-card__role{
  margin:8px 0 0;
  font-size:clamp(13px, 1.2vw, 16px);
  font-weight:500;
  color:#6b7588;
  letter-spacing:.03em;
}
.cf-founder-card__excerpt{
  margin:18px 0 0;
  max-width:38em;
  font-size:clamp(15px, 1.45vw, 18px);
  line-height:1.85;
  color:#3d4a63;
}
.cf-founder-card__cta{
  margin-top:28px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0;
  border:none;
  background:none;
  cursor:pointer;
  font-size:clamp(16px, 1.5vw, 19px);
  font-weight:600;
  color:#2a56b3;
  letter-spacing:.02em;
  transition:color .22s ease, transform .22s ease;
}
.cf-founder-card__cta:hover,
.cf-founder-card__cta:focus-visible{
  color:#407BCB;
  transform:translateX(3px);
}
.cf-founder-card__cta-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.1em;
  height:1.1em;
  font-size:1.35em;
  line-height:1;
  font-weight:700;
}
.cf-founders-carousel__dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:clamp(22px, 4vw, 36px);
}
.cf-founders-carousel__dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:none;
  padding:0;
  cursor:pointer;
  background:#407BCB;
  opacity:.35;
  transition:opacity .25s ease, transform .25s ease, width .25s ease;
}
.cf-founders-carousel__dot:hover{
  opacity:.65;
}
.cf-founders-carousel__dot.is-active{
  opacity:1;
  width:28px;
}

.cf-structure{
  padding:74px 0 86px;
  background:#ffffff;
}
.cf-structure .cf-head{
  margin-bottom:clamp(28px, 5vw, 44px);
  padding-inline:var(--about-heading-inline);
  box-sizing:border-box;
}
.cf-structure .cf-head .cf-kicker{
  margin:0;
  text-align:left;
  font-size:clamp(32px, 4vw, 46px);
  line-height:1;
  font-weight:400;
  letter-spacing:0.02em;
  color:#0a0a0a;
}
.cf-structure .cf-groups{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(14px, 2vw, 22px);
  width:100%;
  box-sizing:border-box;
  padding:6px clamp(12px, 2vw, 20px) 24px clamp(10px, 1.8vw, 18px);
  overflow:visible;
}
body.about-page .cf-structure .cf-groups{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
@media (max-width:1180px){
  .cf-structure .cf-groups{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
/* 研发团队卡片：对齐 centuryfrontier.com/about-us #team 悬停（主题 rgb(64,123,203)） */
.cf-group--rd{
  --cf-rd-r:64;
  --cf-rd-g:123;
  --cf-rd-b:203;
  --cf-rd:rgb(var(--cf-rd-r), var(--cf-rd-g), var(--cf-rd-b));
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  margin:0;
  padding:0;
  overflow:visible;
  z-index:1;
  isolation:isolate;
  background:#ffffff linear-gradient(
    to bottom,
    rgba(var(--cf-rd-r), var(--cf-rd-g), var(--cf-rd-b), .12),
    rgba(var(--cf-rd-r), var(--cf-rd-g), var(--cf-rd-b), 0) 22%
  );
  border-top:3px solid var(--cf-rd);
  border-radius:2px;
  transition:background .38s ease, box-shadow .45s ease;
}
.cf-group--rd::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  border-radius:inherit;
  z-index:0;
  background-color:#e6e9f2;
  transform-origin:0 100%;
  opacity:0;
  transform:translate3d(0, 0, 0) rotate(0deg);
  transition:opacity .4s ease, transform .4s ease;
  pointer-events:none;
}
.cf-group--rd::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  z-index:1;
  opacity:0;
  background-color:var(--cf-rd);
  transition:opacity .42s ease;
  pointer-events:none;
}
.cf-group__surface{
  flex:1;
  min-height:0;
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:inherit;
  isolation:isolate;
}
.cf-group__surface::before{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:min(42%, 9.25rem);
  height:min(42%, 9.25rem);
  clip-path:polygon(0 100%, 0 38%, 54% 100%);
  background:rgb(38, 86, 168);
  opacity:0;
  transform-origin:left bottom;
  transform:scale(.88);
  transition:opacity .42s ease, transform .5s cubic-bezier(.34, 1.08, .64, 1);
  pointer-events:none;
  z-index:1;
}
.cf-group__surface::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  z-index:4;
  pointer-events:none;
  opacity:0;
  background:
    linear-gradient(
      118deg,
      transparent 0%,
      transparent 36%,
      rgba(255, 255, 255, .22) 46%,
      rgba(255, 255, 255, .08) 52%,
      transparent 64%,
      transparent 100%
    );
  background-size:220% 100%;
  background-position:118% center;
  mix-blend-mode:soft-light;
  transition:opacity .35s ease;
}
.cf-group--rd:hover .cf-group__surface::before{
  opacity:1;
  transform:scale(1);
}
.cf-group--rd:hover .cf-group__surface::after{
  animation:cf-rd-surface-shine .95s cubic-bezier(.45, 0, .22, 1) forwards;
}
@keyframes cf-rd-surface-shine{
  0%{
    background-position:118% center;
    opacity:0;
  }
  12%{
    opacity:1;
  }
  72%{
    opacity:.95;
    background-position:-28% center;
  }
  100%{
    background-position:-40% center;
    opacity:0;
  }
}
.cf-group__mast,
.cf-group__body{
  position:relative;
  z-index:2;
}
.cf-group__mast{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  column-gap:14px;
  row-gap:4px;
  padding:clamp(16px, 2vw, 22px) clamp(14px, 2.2vw, 24px) clamp(12px, 1.8vw, 16px);
  border-bottom:1px solid transparent;
  transition:border-color .4s ease;
}
.cf-group__logo{
  flex-shrink:0;
  width:60px;
  height:60px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background-color:var(--cf-rd);
  transition:background-color .4s ease;
}
.cf-group__logo img{
  width:62%;
  height:58%;
  max-width:42px;
  max-height:40px;
  object-fit:contain;
  filter:brightness(0) invert(1);
  transition:filter .4s ease;
}
.cf-group__title{
  margin:0;
  padding-left:clamp(8px, 1vw, 14px);
  flex:1;
  min-width:12ch;
  width:calc(100% - 60px - 14px);
  box-sizing:border-box;
  font-size:clamp(19px, 1.55vw, 24px);
  font-weight:700;
  line-height:1.2;
  letter-spacing:.02em;
  color:#000000;
  transition:color .4s ease;
}
.cf-group__body{
  flex:1;
  padding:clamp(16px, 2.2vw, 24px) clamp(16px, 2.5vw, 28px) clamp(18px, 2.5vw, 26px);
}
.cf-group__sect{
  margin-top:clamp(14px, 2vw, 22px);
}
.cf-group__sect:first-child{
  margin-top:0;
}
.cf-group__sub{
  margin:0 0 clamp(10px, 1.2vw, 14px);
  font-size:clamp(17px, 1.35vw, 20px);
  font-weight:700;
  letter-spacing:.02em;
  color:#000000;
  transition:color .4s ease;
}
.cf-group__copy{
  margin:0;
  font-size:14px;
  line-height:1.375;
}
.cf-group__copy p{
  position:relative;
  margin:0 0 8px;
  padding-left:.24rem;
  color:#666666;
  transition:color .4s ease;
}
@media (min-width:1580px){
  .cf-group__copy p{
    padding-left:.2rem;
  }
}
.cf-group__copy p:last-child{
  margin-bottom:0;
}
.cf-group__copy p::before{
  content:"";
  position:absolute;
  left:0;
  top:.6875em;
  width:6px;
  height:6px;
  background:#000000;
  transition:background-color .4s ease;
  transform:translateY(-50%) rotate(45deg);
}
.cf-group__copy--lead{
  font-size:clamp(15px, 1.22vw, 18px);
  line-height:1.55;
}
.cf-group__copy--lead p{
  padding-left:0;
}
.cf-group__copy--lead p::before{
  display:none;
  content:"";
}
.cf-group--rd:hover .cf-group__copy--lead p::before{
  display:none;
}
.cf-group--rd:hover::before{
  opacity:1;
  /* 仅以左下角为轴旋转；不加 translate，否则垫层左下角与主卡错位 */
  transform:rotate(2.2deg);
}
.cf-group--rd:hover::after{
  opacity:1;
}
.cf-group--rd:hover{
  background:none;
  box-shadow:
    12px 14px 0 rgba(26, 45, 88, .07),
    0 22px 48px rgba(12, 24, 58, .14);
}
.cf-group--rd:hover .cf-group__mast{
  border-bottom-color:rgba(255, 255, 255, .22);
}
.cf-group--rd:hover .cf-group__logo{
  background-color:#ffffff;
}
.cf-group--rd:hover .cf-group__logo img{
  filter:brightness(0) saturate(100%) invert(40%) sepia(78%) saturate(420%) hue-rotate(177deg) brightness(98%) contrast(92%);
}
.cf-group--rd:hover .cf-group__title{
  color:#ffffff;
}
.cf-group--rd:hover .cf-group__sub{
  color:#ffffff;
}
.cf-group--rd:hover .cf-group__copy p{
  color:rgba(255, 255, 255, .95);
}
.cf-group--rd:hover .cf-group__copy p::before{
  background:#ffffff;
}
@media (prefers-reduced-motion:reduce){
  .cf-group--rd,
  .cf-group--rd::before,
  .cf-group--rd::after,
  .cf-group__mast,
  .cf-group__logo,
  .cf-group__logo img,
  .cf-group__title,
  .cf-group__sub,
  .cf-group__copy p,
  .cf-group__copy p::before,
  .cf-group__surface::before{
    transition:none;
  }
  .cf-group__surface::after{
    animation:none !important;
    transition:opacity .25s ease;
  }
  .cf-group--rd:hover .cf-group__surface::after{
    opacity:0;
    background-position:118% center;
  }
  .cf-group--rd:hover .cf-group__surface::before{
    transform:scale(1);
  }
  .cf-group--rd:hover::before,
  .cf-group--rd::before{
    transform:none !important;
  }
  .cf-group--rd:hover::after{
    opacity:1;
  }
}


.about-leaders{
  padding:72px 0;
  background:#070d1f;
  position:relative;
  z-index:3;
}
.about-mission{
  padding: 0;
  background:#070d1f;
  position:relative;
  z-index:3;
}
.about-mission .container{
  max-width:none;
  width:100%;
  padding:0;
}
.about-mission__image{
  width:100%;
  height:100vh;
  display:block;
  object-fit:cover;
  border:none;
}
.about-section-head{margin-bottom:22px}
.about-leaders .about-h2{color:#ffffff}
.about-leaders .about-sub{color:rgba(234,240,255,.74)}
.about-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.about-card{
  background:#ffffff;
  border:1px solid #e1e6f0;
  padding:18px;
}
.about-card__avatar{
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  background:#274d99;color:#fff;
  font-weight:750;
  font-size:18px;
}
.about-card__meta{margin-top:12px}
.about-card__name{font-weight:750;color:#0b1220}
.about-card__role{color:#5b657b;font-size:13px;margin-top:2px}
.about-card__bio{margin:12px 0 0;color:#2a3447;line-height:1.75;font-size:14px}

.about-voices{
  padding:72px 0;
  background:#ffffff;
  position:relative;
  z-index:3;
}
.about-quote{
  border-top:1px solid #e6ebf5;
  padding-top:18px;
  margin-top:18px;
}
.about-quote__role{color:#5b657b;font-size:13px}
.about-quote__text{margin-top:10px;font-size:18px;line-height:1.7;color:#0b1220}

.about-join{
  padding:64px 0;
  background:#0b1220;
  color:#ffffff;
  position:relative;
  z-index:3;
}
.about-join .about-eyebrow{color:rgba(255,255,255,.72)}
.about-join .about-h2{color:#ffffff}
.about-join .about-sub{color:rgba(255,255,255,.72)}
.about-join__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.about-join__btn{
  border:1px solid rgba(255,255,255,.55);
  color:#ffffff;
  padding:10px 16px;
  background: rgba(255,255,255,.06);
}
.about-join__btn:hover{background: rgba(255,255,255,.12)}
a{color:inherit;text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:0 20px}

.header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:20;
  border-bottom:1px solid transparent;
  background: linear-gradient(180deg, rgba(7,12,22,.38), rgba(7,12,22,0));
  transition: background .32s ease, border-color .32s ease, box-shadow .32s ease;
}
.header .container{
  max-width:1200px;
  width:100%;
  padding-left:20px;
  padding-right:20px;
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  height:92px;
  transition: height .32s ease;
}
.brand{
  position:absolute;
  left:0;
  display:inline-flex;
  align-items:center;
  margin-right:0;
  font-weight:600;
  letter-spacing:.12em;
  font-size:22px;
  color:rgba(255,255,255,.92);
  opacity:1;
  transform:none;
  transition:opacity .32s ease, transform .32s ease;
}
.brand__logo{
  height:46px;
  width:auto;
  display:block;
  object-fit:contain;
}
.nav{
  display:flex;
  gap:0;
  align-items:stretch;
  height:100%;
  margin:0;
}
.nav__link{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  position:relative;
  color:rgba(234,240,255,.84);
  font-size:22px;
  font-weight:500;
  padding:0 30px;
  min-width:118px;
  text-align:center;
  border-radius:0;
  background: rgba(255,255,255,0);
  opacity:1;
  transform:none;
  transition:color .22s ease, background-color .22s ease, opacity .32s ease, transform .32s ease;
}
.nav__link:hover,
.nav__link.is-active{
  color:#fff;
  background: rgba(255,255,255,.16);
}
.nav__cta{
  justify-self:end;
  padding:13px 24px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  background: rgba(255,255,255,.03);
  color:#fff;
  font-size:18px;
  opacity:1;
  transform:none;
  transition:background .22s ease, border-color .22s ease, transform .22s ease, opacity .32s ease;
}
.nav__cta:hover{
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.5);
  transform:translateY(-1px);
}
.nav__link:hover{
  background: rgba(255,255,255,.11);
}

.hero{padding:72px 0 36px}
.hero__inner{display:grid;grid-template-columns: 1.2fr .8fr;gap:24px;align-items:stretch}
.hero__title{margin:0 0 10px;font-size:44px;line-height:1.15}
.hero__subtitle{margin:0 0 18px;color:rgba(234,240,255,.75);max-width:56ch}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.hero__card{
  border:1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border-radius:16px;
  padding:18px;
  display:flex;flex-direction:column;gap:12px;
}
.kpi{padding:12px;border-radius:12px;border:1px solid var(--line);background:rgba(15,26,47,.45)}
.kpi__label{font-size:12px;color:rgba(234,240,255,.65)}
.kpi__value{font-size:18px;font-weight:650}

.section{padding:48px 0}
.section--muted{background: rgba(255,255,255,.02); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.section__head h2{margin:0 0 8px;font-size:26px}
.section__head p{margin:0 0 18px;color:rgba(234,240,255,.7)}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.card{
  border:1px solid var(--line);
  background: rgba(15,26,47,.42);
  border-radius:16px;
  padding:18px;
}
.card__title{font-weight:700;margin-bottom:8px}
.card__text{color:rgba(234,240,255,.75)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:12px;border:1px solid var(--line);
  font-weight:650;font-size:14px;
}
.btn--primary{
  background: linear-gradient(135deg, rgba(94,160,255,.95), rgba(94,160,255,.55));
  border-color: rgba(94,160,255,.35);
  color:#07101f;
}
.btn--ghost{background: rgba(255,255,255,.02)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.link{color:rgba(234,240,255,.85)}
.link:hover{color:#fff}

.page{padding:48px 0}
.page h1{margin:0 0 10px;font-size:34px}
.lead{margin:0 0 18px;color:rgba(234,240,255,.72);max-width:70ch}
.prose{color:rgba(234,240,255,.80)}

.list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.list__item{
  border:1px solid var(--line);
  background: rgba(15,26,47,.35);
  border-radius:14px;
  padding:14px 16px;
  display:flex;align-items:center;justify-content:space-between;
}
.list__title{font-weight:650}
.list__meta{color:rgba(234,240,255,.60);font-size:13px}

.form{display:flex;flex-direction:column;gap:12px}
.form label span{display:block;font-size:12px;color:rgba(234,240,255,.65);margin-bottom:6px}
input,textarea{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--line);
  background: rgba(11,18,32,.6);
  color: var(--text);
  outline:none;
}
input:focus,textarea:focus{border-color:rgba(94,160,255,.45)}

.cta{
  border:1px solid var(--line);
  background: rgba(15,26,47,.35);
  border-radius:18px;
  padding:22px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}

.footer{
  background:#3349ad;
  padding:34px 0 20px;
  border-top:none;
}
.footer__inner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:32px;
}
.footer__left{flex:1;min-width:0}
.footer__company{
  font-size:19px;
  font-weight:700;
  color:#ffffff;
  margin-bottom:16px;
}
.footer__line{
  color:rgba(255,255,255,.92);
  font-size:14px;
  line-height:1.65;
}
.footer__notice{
  margin-top:18px;
  color:rgba(255,255,255,.86);
  font-size:11px;
  line-height:1.6;
}
.footer__copyright{
  margin-top:4px;
  color:rgba(255,255,255,.92);
  font-size:13px;
}
.footer__right{
  width:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.footer__qrcode-image{
  width:220px;
  height:220px;
  border:3px solid rgba(255,255,255,.85);
  background:rgba(255,255,255,.16);
  object-fit:cover;
  display:block;
}
.footer__qrcode-text{
  margin-top:12px;
  color:#ffffff;
  font-size:14px;
}

.header--solid{
  background: rgba(7,12,22,.82);
  border-bottom-color: rgba(255,255,255,.1);
  box-shadow: 0 6px 20px rgba(0,0,0,.2);
}
.header--compact .header__inner{height:82px}

.jh-hero{
  --hero-shift: 0px;
  min-height: 100vh;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  background-image:
    linear-gradient(
      180deg,
      rgba(8,10,18,.62) 0%,
      rgba(6,9,16,.72) 45%,
      rgba(4,7,14,.78) 100%
    ),
    url("../img/home/front.jpg");
  background-size: cover;
  background-position: center center;
}
.jh-hero__bg{
  position:absolute;inset:0;pointer-events:none;
  transform:translateY(calc(var(--hero-shift) * -1));
}
.jh-hero__orb{
  position:absolute;
  border-radius:50%;
  filter: blur(2px);
  opacity:.45;
}
.jh-hero__orb--a{
  width:560px;height:560px;
  left:-120px;top:-130px;
  background: radial-gradient(circle at 35% 35%, rgba(120,164,255,.62), rgba(120,164,255,0) 65%);
  animation: orbFloatA 10s ease-in-out infinite;
}
.jh-hero__orb--b{
  width:540px;height:540px;
  right:-160px;bottom:-160px;
  background: radial-gradient(circle at 50% 50%, rgba(99,242,226,.35), rgba(99,242,226,0) 70%);
  animation: orbFloatB 14s ease-in-out infinite;
}
.jh-hero__grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(circle at center, #000 20%, rgba(0,0,0,.2) 80%);
}
.jh-hero__inner{position:relative;z-index:2;max-width:900px}
.jh-hero__en{
  margin:0 0 14px;
  color:rgba(234,240,255,.63);
  letter-spacing:.26em;
  font-size:12px;
}
.jh-hero__title{
  margin:0;
  font-size:72px;
  line-height:1.04;
  font-weight:700;
  text-wrap:balance;
}
.jh-hero__desc{
  margin:24px 0 0;
  max-width:62ch;
  color:rgba(234,240,255,.8);
  font-size:17px;
}
.jh-hero__actions{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}

.jh-stats{
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.12);
  background: rgba(6,18,38,.34);
  backdrop-filter: blur(1.5px);
}
.jh-stats::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 80px 80px;
  opacity:.18;
  pointer-events:none;
}
.jh-stats__row{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.jh-stats__item{
  padding:30px 20px 24px;
  min-height:230px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.jh-stats__icon{
  width:99px;
  height:99px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:28px;
  background:rgba(255,255,255,.04);
  background-repeat:no-repeat;
  background-position:center;
  background-size:52px 52px;
}
.jh-stats__icon--years{
  background-image:url("../img/icon-years.svg");
}
.jh-stats__icon--aum{
  background-image:url("../img/icon-aum.svg");
}
.jh-stats__icon--team{
  background-image:url("../img/icon-team.svg");
}
.jh-stats__icon--clients{
  background-image:url("../img/icon-clients.svg");
}
.jh-stats__num{
  font-size:48px;
  font-weight:700;
  line-height:1;
  letter-spacing:.01em;
}
.jh-stats__num::after{
  content:"+";
  margin-left:2px;
  font-size:.52em;
  color:rgba(234,240,255,.68);
}
.jh-stats__label{
  margin-top:16px;
  font-size:18px;
  color:rgba(234,240,255,.86);
}

.jh-section{padding:88px 0}
.jh-section__head h2{margin:0;font-size:40px}
.jh-section__head p{margin:10px 0 0;color:rgba(234,240,255,.72)}
.jh-grid{display:grid;gap:16px;margin-top:28px}
.jh-grid--3{grid-template-columns:repeat(3,1fr)}
.jh-card{
  border:1px solid rgba(255,255,255,.09);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
  border-radius:18px;
  padding:26px;
}
.jh-card h3{margin:0;font-size:22px}
.jh-card p{margin:12px 0 0;color:rgba(234,240,255,.74)}

.jh-intro{
  padding-top:120px;
  padding-bottom:120px;
  background:#ffffff;
}
.jh-intro__wrap{
  display:grid;
  grid-template-columns:minmax(0, 0.94fr) minmax(0, 1.12fr);
  gap:clamp(56px, 5vw, 92px);
  align-items:start;
  max-width:1360px;
  margin:0 auto;
}
.jh-intro__copy h2{
  margin:0;
  color:#274d99;
  font-size:clamp(40px, 3.6vw, 54px);
  line-height:1.14;
  font-weight:700;
}
.jh-intro__copy h2::after{
  content:"";
  display:block;
  width:86px;
  height:3px;
  margin-top:14px;
  background:#d3d7e2;
}
.jh-intro__copy p{
  margin:22px 0 0;
  color:#4f5563;
  max-width:62ch;
  font-size:18px;
  line-height:2.08;
}
.jh-intro__btn{
  display:inline-block;
  margin-top:32px;
  padding:14px 42px;
  background:#3552ab;
  color:#fff;
  font-size:22px;
  letter-spacing:.02em;
  transition:background-color .22s ease;
}
.jh-intro__btn:hover{
  background:#274497;
}
.jh-intro__visual{
  width:100%;
}
.jh-intro__image{
  width:100%;
  aspect-ratio:5 / 3;
  border:1px solid #d6dbe5;
  display:block;
  object-fit:cover;
}

.jh-awards{
  padding-top:46px;
  padding-bottom:70px;
  background:#ffffff;
}
.jh-awards__head h2{
  margin:0;
  color:#274d99;
  font-size:46px;
  line-height:1.15;
  font-weight:700;
}
.jh-awards__head h2::after{
  content:"";
  display:block;
  width:74px;
  height:2px;
  margin-top:12px;
  background:#d3d7e2;
}
.jh-awards__head p{
  margin:10px 0 0;
  color:#566072;
}
.jh-awards__layout{
  margin-top:26px;
  display:grid;
  grid-template-columns:minmax(380px, 1.1fr) minmax(0, .9fr);
  gap:24px;
  align-items:stretch;
}
.jh-awards__wall{
  display:flex;
  width:100%;
  min-height:0;
}
.jh-awards__wall-frame{
  position:relative;
  flex:1;
  width:min(100%, 640px);
  height:100%;
  min-height:240px;
  border:1px solid #d8ddea;
  border-radius:0;
  background:#f0f3f8;
  overflow:hidden;
}
.jh-awards__wall-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  opacity:0;
  transition:opacity .65s ease-in-out;
  will-change:opacity;
}
.jh-awards__wall-image.is-visible{
  opacity:1;
  z-index:1;
}
@media (prefers-reduced-motion:reduce){
  .jh-awards__wall-image{
    transition-duration:.01ms;
  }
}
.jh-awards__list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.jh-awards__item{
  border:1px solid #d8ddea;
  border-radius:10px;
  padding:14px 16px 15px;
  background:#ffffff;
  transition:
    transform .28s cubic-bezier(.33, 1, .68, 1),
    box-shadow .28s ease,
    border-color .28s ease,
    background-color .28s ease;
}
.jh-awards__item.is-active{
  transform:translateY(-5px);
  box-shadow:
    0 14px 32px rgba(27,52,112,.1),
    0 4px 12px rgba(53,82,171,.08);
  border-color:rgba(53,82,171,.38);
  background:linear-gradient(180deg, #ffffff 0%, #f7f9fd 100%);
}
.jh-awards__item.is-active h3{
  color:#274d99;
}
.jh-awards__item.is-active .jh-awards__year{
  color:#5579a8;
}
@media (hover:hover) and (pointer:fine){
  .jh-awards__item:hover{
    transform:translateY(-5px);
    box-shadow:
      0 14px 32px rgba(27,52,112,.1),
      0 4px 12px rgba(53,82,171,.08);
    border-color:rgba(53,82,171,.38);
    background:linear-gradient(180deg, #ffffff 0%, #f7f9fd 100%);
  }
  .jh-awards__item:hover h3{
    color:#274d99;
  }
  .jh-awards__item:hover .jh-awards__year{
    color:#5579a8;
  }
}
@media (prefers-reduced-motion:reduce){
  .jh-awards__item{
    transition-duration:.01ms;
  }
  .jh-awards__item:hover{
    transform:none;
  }
}
.jh-awards__year{
  margin:0;
  font-size:11px;
  letter-spacing:.14em;
  color:#6f7b92;
  transition:color .28s ease;
}
.jh-awards__item h3{
  margin:4px 0 0;
  font-size:18px;
  color:#1a2540;
  transition:color .28s ease;
}
.jh-awards__item p{
  margin:0;
  color:#5e6779;
}
.jh-awards__item h3 + p{
  margin-top:6px;
  font-size:14px;
}

.jh-talent{
  padding-top:0;
  padding-bottom:0;
}
.jh-talent .container{
  max-width:none;
  width:100%;
  padding-left:0;
  padding-right:0;
}
.jh-talent__panel{
  width:100%;
  min-height:384px;
  margin-top:0;
  border:1px solid rgba(255,255,255,.18);
  background:
    linear-gradient(180deg, rgba(214,225,238,.82), rgba(186,201,219,.84)),
    radial-gradient(500px 220px at 85% 20%, rgba(255,255,255,.5), rgba(255,255,255,0) 70%),
    linear-gradient(120deg, #b9c8d9 20%, #d6dfe9 50%, #bac8da 80%);
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.jh-talent__panel::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(120deg, rgba(255,255,255,.5) 0, rgba(255,255,255,0) 40%),
    linear-gradient(300deg, rgba(255,255,255,.45) 0, rgba(255,255,255,0) 45%);
  pointer-events:none;
}
.jh-talent__en{
  position:relative;
  margin:0;
  color:#ffffff;
  font-size:40px;
  font-weight:700;
  letter-spacing:.08em;
}
.jh-talent__title{
  position:relative;
  margin:6px 0 0;
  color:#ffffff;
  font-size:52px;
  line-height:1.15;
  font-weight:700;
}
.jh-talent__btn{
  position:relative;
  margin-top:18px;
  min-width:240px;
  padding:10px 20px;
  border:1px solid rgba(255,255,255,.75);
  color:#ffffff;
  font-size:16px;
  background: rgba(255,255,255,.08);
  transition: background-color .22s ease;
}
.jh-talent__btn:hover{
  background: rgba(255,255,255,.18);
}

.jh-cta{
  border:1px solid rgba(255,255,255,.11);
  background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border-radius:20px;
  padding:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.jh-cta__text h2{margin:0 0 10px;font-size:30px}
.jh-cta__text p{margin:0;color:rgba(234,240,255,.72)}

[data-animate]{
  opacity:0;
  transform:translateY(34px);
  transition: opacity .75s ease, transform .75s ease;
}
[data-animate].is-in{
  opacity:1;
  transform:translateY(0);
}

@keyframes orbFloatA{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(18px,22px)}
}
@keyframes orbFloatB{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(-22px,-14px)}
}

.landing-hero{
  padding: 110px 0 88px;
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,0) 100%);
}
.landing-hero__inner{max-width:860px}
.landing-hero__tag{
  margin:0 0 12px;
  font-size:12px;
  letter-spacing:.24em;
  color:rgba(234,240,255,.58);
}
.landing-hero__title{
  margin:0;
  font-size:64px;
  line-height:1.06;
  letter-spacing:.02em;
}
.landing-hero__desc{
  margin:22px 0 0;
  max-width:64ch;
  color:rgba(234,240,255,.76);
  font-size:17px;
}
.landing-hero__actions{
  margin-top:34px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.landing-section{padding-top:64px;padding-bottom:64px}
.landing-section__head h2{margin:0 0 8px;font-size:34px}
.landing-section__head p{
  margin:0;
  color:rgba(234,240,255,.68);
}
.landing-grid{
  display:grid;
  gap:16px;
  margin-top:26px;
}
.landing-grid--3{grid-template-columns:repeat(3,1fr)}
.landing-grid--2{grid-template-columns:repeat(2,1fr)}
.landing-card{
  border:1px solid var(--line);
  background: rgba(15,26,47,.38);
  border-radius:16px;
  padding:22px;
}
.landing-card h3{
  margin:0;
  font-size:22px;
}
.landing-card p{
  margin:12px 0 0;
  color:rgba(234,240,255,.74);
}
.landing-link-wrap{margin-top:18px}
.landing-cta{
  border:1px solid var(--line);
  background: rgba(15,26,47,.35);
  border-radius:18px;
  padding:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.landing-cta__text h2{margin:0 0 6px}
.landing-cta__text p{margin:0;color:rgba(234,240,255,.74)}

@media (max-width: 900px){
  .hero__inner{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .hero__title{font-size:38px}
  .header__inner{
    height:72px;
  }
  .header .container{
    padding-left:12px;
    padding-right:12px;
  }
  .header--compact .header__inner{height:60px}
  .brand__logo{height:34px}
  .landing-hero{padding:84px 0 64px}
  .landing-hero__title{font-size:42px}
  .landing-grid--3,.landing-grid--2{grid-template-columns:1fr}
  .landing-section__head h2{font-size:30px}
  .landing-cta{flex-direction:column;align-items:flex-start}
  .jh-hero__title{
    font-size:clamp(28px, 8.8vw, 48px);
    line-height:1.12;
  }
  .jh-section{padding:64px 0}
  .jh-section__head h2{font-size:32px}
  .jh-grid--3{grid-template-columns:1fr}
  .jh-stats__row{grid-template-columns:repeat(2,1fr)}
  .jh-stats__item{min-height:186px;padding:22px 14px 18px}
  .jh-stats__icon{width:78px;height:78px;background-size:42px 42px;margin-bottom:20px}
  .jh-stats__num{font-size:38px}
  .jh-cta{flex-direction:column;align-items:flex-start}
  .jh-intro{padding-top:64px;padding-bottom:64px}
  .jh-intro__wrap{grid-template-columns:1fr;gap:26px}
  .jh-intro__copy h2{font-size:42px}
  .jh-intro__copy h2::after{width:72px;margin-top:12px}
  .jh-intro__copy p{font-size:16px;margin-top:18px;line-height:1.95}
  .jh-intro__btn{font-size:17px;padding:11px 30px;margin-top:26px}
  .jh-awards__layout{grid-template-columns:1fr}
  .jh-awards__wall{display:block}
  .jh-awards__wall-frame{
    flex:none;
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:16/10;
  }
  .jh-awards__head h2{font-size:38px}
  .jh-talent .container{padding-left:0;padding-right:0}
  .jh-talent{padding-top:0;padding-bottom:0}
  .jh-talent__panel{min-height:288px}
  .jh-talent__en{font-size:24px}
  .jh-talent__title{font-size:34px}
  .jh-talent__btn{min-width:180px;font-size:14px;padding:8px 14px}
  .footer{padding:26px 0 16px}
  .footer__inner{flex-direction:column}
  .footer__company{font-size:24px}
  .footer__line{font-size:16px}
  .footer__notice{font-size:14px}
  .footer__copyright{font-size:15px}
  .footer__right{width:100%;align-items:flex-start}
  .footer__qrcode-image{width:160px;height:160px}
  .footer__qrcode-text{font-size:16px}

  .about-hero{min-height:100vh}
  .about-hero .container{
    padding-left:20px;
    padding-right:20px;
  }
  .about-hero__title,
  .career-visual__headline{
    font-size:clamp(32px, 8.5vw, 48px);
    max-width:100%;
    line-height:1.22;
  }
  .about-hero__title span{
    white-space:normal;
    word-break:keep-all;
  }
  body.about-page{
    --cf-about-seam: clamp(96px, 20vh, 176px);
  }
  body.about-page .container.cf-container{
    --about-heading-inline:max(24px, clamp(20px, 5vw, 30px));
  }
  .about-h2{font-size:30px}
  .about-body{font-size:18px;line-height:1.85}
  .about-who{
    margin-top:-28px;
    padding-bottom:18px;
  }
  .about-who > .container{
    padding-left:8px;
    padding-right:8px;
  }
  .about-who__grid{
    grid-template-columns:1fr;
    gap:0;
    min-height:0;
  }
  .about-who__logo{
    min-height:140px;
    border-right:none;
    border-bottom:1px solid #e2e7f1;
  }
  .about-who__logo::before{background-size:120px auto}
  .about-who__grid > :last-child{padding:18px 20px 24px}
  .about-who__headline{font-size:36px}
  .about-who__copy .about-body{font-size:15px}
  .about-mission{
    padding:0;
  }
  .about-cards{grid-template-columns:1fr}
  .about-join__inner{flex-direction:column;align-items:flex-start}
  .cf-title{font-size:25px}
  .cf-title.cf-values__title{font-size:28px}
  .cf-intro{
    padding:0 0 var(--cf-mission-to-timeline-gap);
  }
  .cf-intro .cf-container{
    padding-left:0;
    padding-right:0;
  }
  .cf-intro__layout{
    grid-template-columns:1fr;
    gap:22px;
    background:transparent;
  }
  .cf-intro__left{
    padding:22px 18px;
    margin-top:0;
  }
  .cf-intro__right{
    border-left:1px solid #e5e8f0;
    padding:16px 18px;
  }
  .cf-timeline .cf-container{
    --tl-handle-gutter:clamp(20px, 5vw, 30px);
  }
  .cf-intro__text{font-size:19px;line-height:1.85}
  .cf-timeline__label-slot{
    margin-bottom:clamp(40px, 10vh, 96px);
  }
  .cf-timeline__label{
    font-size:30px;
  }
  .cf-team__head .cf-kicker{font-size:30px}
  .cf-structure .cf-head .cf-kicker{font-size:30px}
  .cf-timeline__axis{
    padding-left:max(24px, var(--tl-handle-gutter));
    padding-right:max(24px, var(--tl-handle-gutter));
    padding-top:8px;
    padding-bottom:12px;
    overflow-x:auto;
  }
  .cf-values__title{
    margin-top:18px;
  }
  .cf-values{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
  .cf-value{
    min-height:160px;
    padding:14px 10px;
    border-radius:10px;
  }
  .cf-value h3{font-size:22px}
  .cf-value__icon{width:52px;height:52px}
  .cf-carousel__slides{
    aspect-ratio: 16 / 9;
  }
  .cf-carousel__frame::before{
    display:none;
  }
  .cf-timeline{padding:calc(5px * 0.48 * 0.7 * 0.7) 0 var(--cf-about-seam)}
  .cf-timeline__scroll{height:auto}
  .cf-timeline__sticky{
    position:static;
    height:auto;
    padding-top:0;
  }
  .cf-timeline__track{margin:18px 0 12px;height:74px}
  .cf-timeline__rail{height:24px}
  .cf-timeline__rail-base,.cf-timeline__rail-fill{height:16px;border-radius:8px}
  .cf-timeline__chevs{height:16px}
  .cf-timeline__rail-fill{border-radius:8px 0 0 8px}
  .cf-timeline__rail-handle{
    width:44px;height:44px;border-width:3px;
  }
  .cf-timeline__rail-handle-grip{width:20px}
  .cf-timeline__inner{
    --tl-grid-cols:repeat(5, minmax(300px, 1fr));
    transform:none;
    min-width:1585px;
  }
  .cf-timeline__years span{font-size:28px}
  .cf-team{padding:80px 0 52px}
  .cf-structure{padding:52px 0}
  .cf-founder-card__inner{
    grid-template-columns:1fr;
    gap:20px;
    padding-top:4px;
  }
  .cf-founder-card__visual{
    max-width:none;
  }
  .cf-founder-card__photo-frame{
    aspect-ratio:16/10;
    max-height:280px;
  }
  .cf-structure .cf-groups{grid-template-columns:1fr}
  .cf-founder-card__name{font-size:clamp(28px, 8vw, 36px)}
  .cf-group__title{font-size:clamp(18px, 4.2vw, 20px)}
}

/* ---------- 加入我们（首屏全屏图 + 文案，参考 yanfuinvestments.com/join） ---------- */
body.career-page{
  background:#f3f5f9;
  color:#0b1220;
}
body.career-page .header{
  background:transparent;
  border-bottom-color:transparent;
  box-shadow:none;
}
body.career-page .header--solid{
  background:rgba(58, 62, 72, .94);
  border-bottom-color:rgba(255, 255, 255, .12);
  box-shadow:0 6px 22px rgba(0, 0, 0, .22);
}
body.career-page .header:not(.header--solid) .nav__link{
  color:rgba(255, 255, 255, .94);
}
body.career-page .header--solid .nav__link{
  color:rgba(255, 255, 255, .86);
}
body.career-page .header--solid .nav__link:hover,
body.career-page .header--solid .nav__link.is-active{
  color:#ffffff;
  background:rgba(255, 255, 255, .12);
}
body.career-page .header:not(.header--solid) .nav__link:hover,
body.career-page .header:not(.header--solid) .nav__link.is-active{
  color:#fff;
  background:rgba(255, 255, 255, .14);
}
body.career-page .footer{
  position:relative;
  z-index:1;
}
body.career-page .cf-structure.career-rd-section{
  position:relative;
  z-index:1;
  background:#f3f5f9;
  padding:clamp(40px, 7vh, 74px) 0 clamp(48px, 9vh, 86px);
  border-top:none;
}
body.career-page .cf-structure.career-rd-section .container.cf-container{
  width:92%;
  margin-left:auto;
  margin-right:auto;
  --about-heading-inline:max(clamp(24px, 3.35vmin, 38px), 30px);
}
body.career-page .cf-structure.career-benefits-section{
  position:relative;
  z-index:1;
  background:#f3f5f9;
  padding:clamp(40px, 7vh, 74px) 0 clamp(48px, 9vh, 86px);
  border-top:1px solid rgba(15, 26, 52, .07);
  overflow-x:clip;
}
body.career-page .cf-structure.career-benefits-section .container.cf-container{
  width:92%;
  margin-left:auto;
  margin-right:auto;
}
body.career-page .career-benefits__marquee{
  margin:clamp(8px, 1.5vh, 18px) 0 0;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  position:relative;
  mask-image:linear-gradient(90deg, transparent 0%, #000 2.5%, #000 97.5%, transparent 100%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 2.5%, #000 97.5%, transparent 100%);
}
body.career-page .career-benefits__viewport{
  overflow:hidden;
  width:100%;
}
body.career-page .career-benefits__track{
  display:flex;
  flex-direction:row;
  align-items:center;
  width:max-content;
  animation:career-benefits-marquee 32s linear infinite;
  will-change:transform;
}
@keyframes career-benefits-marquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
body.career-page .career-benefits__list--strip{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  gap:clamp(14px, 2.2vw, 20px);
  flex-shrink:0;
  width:max-content;
}
body.career-page .career-benefits__marquee .career-benefits__item{
  flex:0 0 auto;
  width:auto;
  min-width:0;
}
body.career-page .career-benefits__marquee .career-benefits__item--media{
  flex:0 0 clamp(600px, 66vw, 840px);
  width:clamp(600px, 66vw, 840px);
}
body.career-page .career-benefits__item{
  box-sizing:border-box;
  position:relative;
  display:inline-flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  margin:0;
  padding:0;
  background-color:#f6f8fc;
  border-radius:10px;
  border:1px solid rgba(15, 26, 52, .08);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .5),
    0 2px 4px rgba(15, 26, 52, .05),
    0 8px 22px -6px rgba(15, 26, 52, .1);
  overflow:hidden;
  transition:border-color .3s ease, box-shadow .3s ease, color .3s ease, transform .25s ease;
}
body.career-page .career-benefits__item--media{
  overflow:hidden;
  padding:0;
  align-items:stretch;
}
body.career-page .career-benefits__item--text{
  min-width:9rem;
  min-height:6.25rem;
  padding:clamp(16px, 2.4vw, 24px) clamp(14px, 2vw, 22px);
  justify-content:center;
}
body.career-page .career-benefits__item--text .career-benefits__label{
  font-size:clamp(15px, 1.35vw, 17px);
  line-height:1.35;
  font-weight:700;
  letter-spacing:.03em;
  text-align:center;
  color:#1a2740;
}
body.career-page .career-benefits__thumb{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover;
  object-position:center;
  position:relative;
  z-index:0;
  border-radius:9px;
  vertical-align:middle;
}
body.career-page .career-benefits__item--media .career-benefits__label{
  position:absolute;
  z-index:2;
  top:clamp(4px, 1.2vw, 12px);
  left:clamp(4px, 1.2vw, 12px);
  right:auto;
  bottom:auto;
  margin:0;
  min-width:6.75rem;
  min-height:4.25rem;
  max-width:min(11em, 72%);
  padding:clamp(26px, 3.5vw, 34px) clamp(10px, 1.6vw, 14px) clamp(8px, 1.2vw, 12px) clamp(10px, 1.6vw, 14px);
  text-align:center;
  font-size:clamp(12px, 1.05vw, 15px);
  line-height:1.3;
  font-weight:700;
  letter-spacing:.02em;
  color:#1a2d4d;
  border:none;
  border-radius:0;
  background-color:transparent;
  background-image:url("../img/career-benefits-sticky.svg");
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 100%;
  box-shadow:none;
  transform:rotate(-2.5deg);
  transform-origin:0 0;
  filter:drop-shadow(0 2px 5px rgba(15, 26, 52, .1));
}
body.career-page .career-benefits__item--media:hover .career-benefits__label{
  color:#244e8f;
  filter:drop-shadow(0 4px 10px rgba(64, 123, 203, .22));
  transform:rotate(-2deg) scale(1.02);
}
body.career-page .career-benefits__item:hover{
  border-color:rgba(64, 123, 203, .4);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .6),
    0 3px 10px rgba(64, 123, 203, .18),
    0 12px 36px -12px rgba(15, 26, 52, .18);
  transform:translateY(-2px);
}
body.career-page .career-benefits__item--text:hover .career-benefits__label{
  color:rgb(28, 62, 118);
}
@media (max-width:720px){
  body.career-page .career-benefits__marquee .career-benefits__item--media{
    flex:0 0 clamp(300px, 88vw, 520px);
    width:clamp(300px, 88vw, 520px);
  }
  body.career-page .career-benefits__item--text{
    min-width:8rem;
    min-height:5.5rem;
    padding:14px 12px;
  }
  body.career-page .career-benefits__item--text .career-benefits__label{
    font-size:clamp(14px, 3.5vw, 16px);
  }
  body.career-page .career-benefits__track{
    animation-duration:24s;
  }
  body.career-page .career-benefits__item--media .career-benefits__label{
    min-width:5.5rem;
    min-height:3.6rem;
    padding:clamp(22px, 6vw, 30px) clamp(8px, 2vw, 12px) clamp(6px, 1.5vw, 10px);
    font-size:clamp(11px, 2.8vw, 14px);
  }
}
@media (prefers-reduced-motion:reduce){
  body.career-page .career-benefits__marquee{
    mask-image:none;
    -webkit-mask-image:none;
    width:100%;
    max-width:none;
    margin-left:0;
  }
  body.career-page .career-benefits__viewport{
    overflow:visible;
  }
  body.career-page .career-benefits__track{
    animation:none;
    width:100%;
    max-width:min(980px, 100%);
    margin-left:auto;
    margin-right:auto;
  }
  body.career-page .career-benefits__list--strip{
    flex-wrap:wrap;
    justify-content:center;
    width:100%;
    max-width:min(980px, 100%);
  }
  body.career-page .career-benefits__list--strip .career-benefits__item:nth-child(n+9){
    display:none;
  }
  body.career-page .career-benefits__marquee .career-benefits__item{
    flex:1 1 min(44%, 780px);
    max-width:min(960px, 100%);
  }
  body.career-page .career-benefits__marquee .career-benefits__item--media{
    flex:1 1 min(44%, 780px);
    width:100%;
    max-width:min(960px, 100%);
  }
}
@media (max-width:900px){
  body.career-page .cf-structure.career-benefits-section{
    padding:clamp(36px, 8vh, 52px) 0 clamp(40px, 9vh, 64px);
  }
}
body.career-page .cf-structure.career-jobs-section{
  position:relative;
  z-index:1;
  background:#fafbfd;
  padding:clamp(40px, 7vh, 74px) 0 clamp(56px, 10vh, 100px);
  border-top:1px solid rgba(15, 26, 52, .07);
}
body.career-page .cf-structure.career-jobs-section .container.cf-container{
  width:92%;
  margin-left:auto;
  margin-right:auto;
}
body.career-page .career-jobs-stack{
  margin-inline:auto;
  width:100%;
  max-width:min(920px, 100%);
}
body.career-page .career-jobs-section .career-jobs__intro{
  margin:0 auto clamp(22px, 3.5vw, 28px);
  max-width:min(52rem,100%);
  text-align:center;
  line-height:1.72;
}
body.career-page .career-jobs-section .career-jobs__foot{
  margin-top:clamp(26px, 4vw, 32px);
  margin-left:auto;
  margin-right:auto;
  max-width:min(52rem,100%);
  text-align:center;
}
body.career-page .career-jobs-section .career-jobs__foot a{
  color:rgb(44, 98, 176);
  font-weight:600;
  text-decoration:none;
}
body.career-page .career-jobs-section .career-jobs__foot a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
@media (max-width:900px){
  body.career-page .cf-structure.career-jobs-section{
    padding:clamp(36px, 8vh, 52px) 0 clamp(44px, 10vh, 72px);
  }
}

body.career-page #career-job-dialog.career-job-dialog{
  padding:0;
  margin:auto;
  border:none;
  width:min(1120px,calc(100vw - clamp(36px,5vw,80px)));
  max-height:min(94vh,1080px);
  background:transparent;
  box-sizing:border-box;
  color:inherit;
}
body.career-page #career-job-dialog.career-job-dialog:focus{
  outline:none;
}
body.career-page .career-job-dialog::backdrop{
  background:rgba(15,26,52,.52);
}
@supports ((-webkit-backdrop-filter:blur(6px)) or (backdrop-filter:blur(6px))){
  body.career-page .career-job-dialog::backdrop{
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
  }
}
@media (prefers-reduced-motion:reduce){
  body.career-page .career-job-dialog::backdrop{
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
}

body.career-page .career-job-dialog__surface{
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:16px;
  background:#ffffff;
  box-shadow:
    0 1px 2px rgba(15,26,52,.06),
    0 34px 80px -24px rgba(15,26,52,.42);
}

body.career-page .career-job-dialog__close{
  position:absolute;
  top:14px;
  right:clamp(14px,2.4vw,24px);
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin:0;
  padding:0;
  border:none;
  border-radius:999px;
  font-size:1.55rem;
  line-height:1;
  font-weight:400;
  color:#64748b;
  background:rgba(243,245,249,.94);
  cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
body.career-page .career-job-dialog__close:hover{
  color:#101a32;
  background:rgba(237,239,246,.96);
}

body.career-page .career-job-dialog__panel{
  display:flex;
  flex-direction:column;
  min-height:0;
  max-height:min(94vh,1080px);
}
body.career-page .career-job-dialog__panel[hidden]{
  display:none;
}

body.career-page .career-job-dialog__hero{
  flex:0 0 auto;
  padding:
    clamp(28px,3.8vh,44px)
    clamp(28px,4.5vw,56px)
    clamp(18px,2vh,26px)
    clamp(28px,4.5vw,56px);
  border-bottom:1px solid rgba(15,26,52,.065);
}

body.career-page .career-job-dialog__title{
  margin:0;
  padding-right:clamp(40px,5vw,56px);
  font-size:clamp(26px,2.85vw,40px);
  font-weight:700;
  letter-spacing:.015em;
  line-height:1.22;
  color:#0b1220;
}

body.career-page .career-job-dialog__tags{
  list-style:none;
  margin:clamp(16px,2.2vw,22px) 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
body.career-page .career-job-dialog__tags li{
  font-size:clamp(13px,1.25vw,15px);
  font-weight:500;
  color:#5e6b88;
  padding:7px 14px;
  border-radius:8px;
  background:rgba(237,243,252,.96);
}

body.career-page .career-job-dialog__scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:
    clamp(20px,2.8vh,32px)
    clamp(28px,4.5vw,56px)
    clamp(28px,3.8vh,48px)
    clamp(28px,4.5vw,56px);
}

body.career-page .career-job-dialog__block{
  margin-bottom:clamp(24px,3.6vw,40px);
}
body.career-page .career-job-dialog__block:last-child{
  margin-bottom:0;
}

body.career-page .career-job-dialog__h{
  margin:0 0 clamp(12px,1.8vw,18px);
  font-size:clamp(17px,1.65vw,20px);
  font-weight:700;
  letter-spacing:.03em;
  color:#1a2740;
}

body.career-page .career-job-dialog__p{
  margin:0;
  font-size:clamp(15px,1.35vw,17px);
  line-height:1.82;
  color:#394159;
}

body.career-page .career-job-dialog__bullets{
  margin:0;
  padding:0 0 0 1.28em;
  font-size:clamp(15px,1.35vw,17px);
  line-height:1.82;
  color:#394159;
}
body.career-page .career-job-dialog__bullets li{
  margin:0 0 clamp(8px,1.2vw,14px);
  padding-left:0.06em;
}
body.career-page .career-job-dialog__bullets li:last-child{
  margin-bottom:0;
}

body.career-page .career-job-dialog__foot{
  flex:0 0 auto;
  padding:
    clamp(18px,2.6vh,24px)
    clamp(28px,4.5vw,56px)
    clamp(24px,3.2vh,32px)
    clamp(28px,4.5vw,56px);
  border-top:1px solid rgba(15,26,52,.078);
  background:linear-gradient(180deg,rgba(251,251,253,.92) 0%,#fafbfd 52%);
}

body.career-page .career-job-dialog__mail-hint{
  margin:0 auto;
  max-width:48rem;
  text-align:center;
  font-size:clamp(14px,1.25vw,16px);
  line-height:1.75;
  color:#5a667d;
}
body.career-page .career-job-dialog__mail-hint a{
  color:rgb(44,98,176);
  font-weight:600;
  text-decoration:none;
}
body.career-page .career-job-dialog__mail-hint a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

@media (max-width:560px){
  body.career-page #career-job-dialog.career-job-dialog{
    width:calc(100vw - 22px);
    max-height:min(96vh,900px);
  }
  body.career-page .career-job-dialog__panel{
    max-height:min(96vh,900px);
  }
}

#career-qi-dialog.career-qi-dialog{
  --qi-accent:rgb(64, 123, 203);
  --qi-accent-deep:rgb(45, 95, 164);
  --qi-accent-rgb:64, 123, 203;
  padding:0;
  margin:auto;
  border:none;
  width:min(1240px,calc(100vw - 48px));
  height:min(88vh,920px);
  max-height:min(88vh,920px);
  overflow:hidden;
  background:transparent;
  box-sizing:border-box;
  color:#111;
}
#career-qi-dialog.career-qi-dialog:focus{
  outline:none;
}
.career-qi-dialog::backdrop{
  background:rgba(0,0,0,.45);
}
@supports ((-webkit-backdrop-filter:blur(6px)) or (backdrop-filter:blur(6px))){
  .career-qi-dialog::backdrop{
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
  }
}
@media (prefers-reduced-motion:reduce){
  .career-qi-dialog::backdrop{
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
}
.career-qi-dialog__surface{
  display:flex;
  flex-direction:column;
  height:100%;
  max-height:100%;
  min-height:0;
  overflow:hidden;
  border-radius:16px;
  background:#ffffff;
  box-shadow:
    0 2px 6px rgba(15,23,42,.05),
    0 20px 50px rgba(15,23,42,.14);
}
.career-qi-dialog__title{
  flex:0 0 auto;
  margin:0;
  padding:clamp(32px,4.5vh,44px) clamp(40px,7vw,80px) clamp(18px,2.5vh,24px);
  text-align:center;
  font-size:clamp(22px,2.4vw,28px);
  font-weight:700;
  letter-spacing:.06em;
  color:#0f1419;
  line-height:1.35;
  border-bottom:1px solid rgba(var(--qi-accent-rgb),.14);
  background:#ffffff;
}
.career-qi-dialog__scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-x:hidden;
  overflow-y:scroll;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:clamp(8px,1.5vh,12px) clamp(32px,6vw,72px) clamp(20px,3vh,32px)
    clamp(28px,6vw,76px);
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:rgba(var(--qi-accent-rgb),.35) #eef2f8;
}
.career-qi-dialog__scroll::-webkit-scrollbar{
  width:8px;
}
.career-qi-dialog__scroll::-webkit-scrollbar-track{
  margin:4px 0;
  background:#eef2f8;
  border-radius:4px;
}
.career-qi-dialog__scroll::-webkit-scrollbar-thumb{
  background:rgba(var(--qi-accent-rgb),.38);
  border-radius:4px;
  border:2px solid #eef2f8;
}
.career-qi-dialog__scroll::-webkit-scrollbar-thumb:hover{
  background:rgba(var(--qi-accent-rgb),.52);
}
.career-qi-dialog__p{
  margin:0 0 1em;
  font-size:clamp(14px,1.35vw,16px);
  line-height:1.85;
  color:#111;
  text-align:left;
}
.career-qi-dialog__p:last-child{
  margin-bottom:0;
}
.career-qi-dialog__p--indent{
  margin-left:0;
  padding-left:2em;
  margin-bottom:1em;
}
.career-qi-dialog__list{
  margin:0 0 1em;
  padding:0 0 0 1.65em;
  font-size:clamp(14px,1.35vw,16px);
  line-height:1.85;
  color:#111;
}
.career-qi-dialog__list:last-child{
  margin-bottom:0;
}
.career-qi-dialog__list > li{
  margin:0 0 .55em;
  padding-left:0.15em;
}
.career-qi-dialog__list > li:last-child{
  margin-bottom:0;
}
.career-qi-dialog__list--nested{
  list-style-type:decimal;
}
.career-qi-dialog__em{
  font-weight:700;
}
.career-qi-dialog__bottom{
  flex:0 0 auto;
  margin-top:auto;
  padding:clamp(16px,2.2vh,22px) clamp(40px,7vw,80px) clamp(22px,3.5vh,36px);
  border-top:1px solid rgba(var(--qi-accent-rgb),.16);
  background:linear-gradient(180deg, #ffffff 0%, #f4f7fc 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.career-qi-dialog__agree-row{
  flex:0 0 auto;
  padding:0;
  margin:0 0 clamp(14px,2vh,18px);
  background:transparent;
}
.career-qi-dialog__agree{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin:0;
  padding:clamp(14px,2vw,18px) clamp(16px,2.2vw,20px);
  border-radius:12px;
  border:1px solid rgba(var(--qi-accent-rgb),.22);
  background:#ffffff;
  box-shadow:
    0 1px 2px rgba(15,23,42,.04),
    0 4px 12px rgba(15,23,42,.05);
  font-size:clamp(14px,1.35vw,16px);
  line-height:1.65;
  color:#1a1d24;
  cursor:pointer;
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.career-qi-dialog__agree:hover{
  border-color:rgba(var(--qi-accent-rgb),.34);
  box-shadow:
    0 1px 2px rgba(15,23,42,.05),
    0 6px 16px rgba(15,23,42,.07);
}
.career-qi-dialog__agree:has(.career-qi-dialog__agree-input:checked){
  border-color:rgba(var(--qi-accent-rgb),.42);
  background:linear-gradient(180deg, #f7f9fd 0%, #ffffff 100%);
}
.career-qi-dialog__agree-input{
  flex:0 0 auto;
  -webkit-appearance:none;
  appearance:none;
  width:22px;
  height:22px;
  margin:2px 0 0;
  border:2px solid rgba(var(--qi-accent-rgb),.28);
  border-radius:6px;
  background:#ffffff;
  cursor:pointer;
  transition:border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.career-qi-dialog__agree-input:hover{
  border-color:rgba(var(--qi-accent-rgb),.52);
}
.career-qi-dialog__agree-input:checked{
  border-color:var(--qi-accent);
  background:var(--qi-accent)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.2 6.4 11l6.1-6.2' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
    center/14px 14px no-repeat;
}
.career-qi-dialog__agree-input:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(var(--qi-accent-rgb),.38);
}
.career-qi-dialog__agree-text{
  flex:1 1 auto;
  padding-top:1px;
}
.career-qi-dialog__agree strong{
  font-weight:700;
}
.career-qi-dialog__actions{
  flex:0 0 auto;
  display:flex;
  flex-wrap:nowrap;
  justify-content:center;
  align-items:center;
  gap:12px;
  padding:0;
  margin:0;
  border-top:none;
  background:transparent;
}
.career-qi-dialog__btn{
  flex:0 1 auto;
  width:100%;
  max-width:min(360px,100%);
  margin:0;
  min-width:0;
  min-height:48px;
  padding:12px 32px;
  border:none;
  border-radius:10px;
  font-size:clamp(14px,1.25vw,16px);
  font-weight:600;
  letter-spacing:.06em;
  cursor:pointer;
  box-shadow:0 2px 6px rgba(15,23,42,.08);
  transition:background-color .2s ease, box-shadow .2s ease, transform .15s ease, opacity .2s ease;
}
.career-qi-dialog__btn--accept{
  background:var(--qi-accent);
  color:#ffffff;
}
.career-qi-dialog__btn--accept:hover:not(:disabled){
  background:var(--qi-accent-deep);
  box-shadow:0 4px 14px rgba(var(--qi-accent-rgb),.38);
  transform:translateY(-1px);
}
.career-qi-dialog__btn--accept:active:not(:disabled){
  transform:translateY(0);
  box-shadow:0 2px 6px rgba(15,23,42,.12);
}
.career-qi-dialog__btn--accept:focus-visible{
  outline:2px solid var(--qi-accent);
  outline-offset:3px;
}
.career-qi-dialog__btn--accept:disabled{
  background:#e8eff9;
  color:rgba(64, 123, 203, .45);
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
  opacity:1;
}
@media (prefers-reduced-motion:reduce){
  .career-qi-dialog__btn{
    transition:background-color .2s ease, opacity .2s ease;
  }
  .career-qi-dialog__btn--accept:hover:not(:disabled){
    transform:none;
  }
}
@media (max-width:560px){
  #career-qi-dialog.career-qi-dialog{
    width:calc(100vw - 28px);
    height:min(90vh,900px);
    max-height:min(90vh,900px);
  }
  .career-qi-dialog__surface{
    max-height:min(90vh,900px);
  }
  .career-qi-dialog__title{
    padding:clamp(28px,5vh,40px) clamp(22px,5vw,32px) clamp(14px,2vh,20px);
    font-size:clamp(19px,5vw,22px);
  }
  .career-qi-dialog__bottom{
    padding:clamp(14px,2.5vh,18px) clamp(22px,5vw,28px) clamp(20px,3.5vh,32px);
  }
  .career-qi-dialog__scroll{
    padding:6px clamp(22px,5vw,28px) clamp(16px,3vh,24px);
  }
  .career-qi-dialog__agree{
    padding:14px 14px;
    gap:12px;
  }
  .career-qi-dialog__actions{
    flex-direction:row;
    align-items:stretch;
    padding:0;
    gap:0;
  }
}

/* 「你将收获」图标：扁平单色、无圆形衬底（参考宽德 career 福利区） */
body.career-page .career-rd-section .cf-group__logo{
  background:transparent;
  border-radius:0;
  width:auto;
  min-width:9.1rem;
  height:auto;
  min-height:9.1rem;
}
body.career-page .career-rd-section .cf-group__logo img{
  width:146px;
  height:146px;
  max-width:146px;
  max-height:146px;
  object-fit:contain;
  filter:none;
}
body.career-page .career-rd-section .cf-group--rd:hover .cf-group__logo{
  background:transparent;
}
body.career-page .career-rd-section .cf-group--rd:hover .cf-group__logo img{
  filter:brightness(0) invert(1);
}
body.career-page .career-rd-section .cf-group__mast{
  flex-direction:column;
  align-items:center;
  text-align:center;
  row-gap:clamp(14px, 2.2vw, 28px);
  column-gap:0;
}
body.career-page .career-rd-section .cf-group__title{
  flex:none;
  width:100%;
  min-width:0;
  padding-left:0;
  text-align:center;
  font-size:clamp(38px, 3.1vw, 48px);
  line-height:1.2;
}
@media (max-width:900px){
  body.career-page .cf-structure.career-rd-section{
    padding:clamp(36px, 8vh, 52px) 0 clamp(40px, 9vh, 64px);
  }
  body.career-page .cf-structure.career-rd-section .container.cf-container{
    --about-heading-inline:max(24px, clamp(20px, 5vw, 30px));
  }
  body.career-page .career-rd-section .cf-group__title{
    font-size:clamp(32px, 8.4vw, 44px);
  }
}
.career-visual{
  width:100%;
  margin:0;
  padding:0;
  position:relative;
  display:block;
}
.career-visual__fixed{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:100svh;
  height:100vh;
  z-index:0;
  display:flex;
  flex-direction:column;
  background:#070d18;
  box-sizing:border-box;
}
.career-visual__fixed::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(8,10,18,.34) 0%,
      rgba(6,9,16,.44) 45%,
      rgba(4,7,14,.52) 100%
    );
}
.career-visual__spacer{
  height:100svh;
  height:100vh;
  pointer-events:none;
  flex-shrink:0;
}
.career-visual__inner{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.career-visual__overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:min(12vh, 120px) min(6vw, 40px);
  pointer-events:none;
  z-index:2;
}
.career-visual__headline{
  margin:0;
  max-width:none;
  font-size:104px;
  line-height:1.24;
  font-weight:800;
  letter-spacing:.01em;
  color:#ffffff;
  text-shadow:0 6px 24px rgba(0,0,0,.35);
  font-family:inherit;
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:center;
  align-items:baseline;
  gap:0.45em;
  text-align:center;
}
.career-visual__headline span{
  white-space:nowrap;
}
.career-visual__placeholder{
  flex:1;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:clamp(24px, 5vw, 48px) 20px;
  background:
    radial-gradient(120% 80% at 80% 20%, rgba(64, 123, 203, .14), transparent 55%),
    linear-gradient(155deg, #1a2338 0%, #0e1526 48%, #121a2e 100%);
  color:rgba(255, 255, 255, .42);
  font-size:14px;
  letter-spacing:.06em;
  line-height:1.75;
}
.career-visual__carousel{
  position:relative;
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  width:100%;
}
.career-visual .cf-carousel__frame{
  flex:1;
  min-height:0;
  position:relative;
}
.career-visual .cf-carousel__frame::before{
  display:none;
}
.career-visual .career-visual__slides{
  position:relative;
  width:100%;
  min-height:100svh;
  min-height:100vh;
  aspect-ratio:auto;
  overflow:hidden;
  background:#0b1220;
}
.career-visual .cf-carousel__slide{
  transition:opacity 1.2s ease-in-out;
}

.career-culture{
  position:relative;
  z-index:1;
  padding:clamp(56px, 10vh, 100px) 0 clamp(40px, 7vh, 72px);
  background:#f3f5f9;
  border-top:1px solid rgba(15, 26, 52, .06);
}
.career-culture__inner{
  display:flex;
  flex-direction:column;
  gap:clamp(32px, 4.5vh, 56px);
  max-width:min(1360px, 100%);
  margin:0 auto;
}
.career-culture__title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(16px, 3.2vw, 40px);
  margin:0;
  padding:0 min(8px, 1.5vw);
}
.career-culture__title-line{
  flex:1 1 0;
  height:1px;
  background:rgba(15, 26, 52, .14);
  max-width:min(200px, 20vw);
}
.career-culture__title-text{
  flex:0 1 auto;
  text-align:center;
  font-size:clamp(30px, 4.2vw, 48px);
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.2;
  color:rgb(64, 123, 203);
}
.career-culture__typewriter{
  display:inline-block;
  min-height:1.15em;
  vertical-align:top;
}
.career-culture__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  align-items:stretch;
  margin:0;
  background:#ffffff;
  border-radius:clamp(12px, 1.6vw, 20px);
  overflow:hidden;
  box-shadow:
    0 1px 2px rgba(15, 26, 52, .05),
    0 10px 36px -8px rgba(15, 26, 52, .12),
    0 24px 64px -16px rgba(15, 26, 52, .08);
}
.career-culture__media{
  margin:0;
  position:relative;
  overflow:hidden;
  background:#e8ecf4;
  min-height:360px;
}
.career-culture__media img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.career-culture__text{
  padding:clamp(40px, 6vw, 72px) clamp(36px, 5vw, 68px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fafbfd;
}
.career-culture__h{
  margin:0 0 clamp(14px, 2vw, 18px);
  font-size:clamp(24px, 2.6vw, 30px);
  font-weight:700;
  line-height:1.28;
  color:#101a32;
}
.career-culture__p{
  margin:0;
  font-size:clamp(17px, 1.6vw, 19px);
  line-height:1.75;
  color:#5a667d;
}
@media (max-width:900px){
  .career-culture__title-line{
    display:none;
  }
  .career-culture__grid{
    grid-template-columns:1fr;
  }
  .career-culture__media{
    min-height:min(62vw, 360px);
  }
  .career-culture__media img{
    position:absolute;
    inset:0;
    min-height:0;
  }
  .career-culture__text{
    padding:clamp(30px, 5vw, 48px) clamp(22px, 5vw, 34px);
  }
}

/* 「团队成员」棋盘格悬停动效 */
.career-culture .career-culture__grid{
  transition:box-shadow .45s ease, transform .45s ease;
}
.career-culture .career-culture__grid:hover{
  box-shadow:
    0 4px 8px rgba(39, 77, 153, .12),
    0 18px 48px -6px rgba(39, 77, 153, .22),
    0 36px 88px -14px rgba(64, 123, 203, .2),
    0 0 0 1px rgba(64, 123, 203, .12);
  transform:translateY(-4px);
}
.career-culture .career-culture__media{
  isolation:isolate;
}
.career-culture .career-culture__media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    165deg,
    rgba(64, 123, 203, 0) 35%,
    rgba(64, 123, 203, .22) 100%
  );
  opacity:0;
  transition:opacity .45s ease;
}
.career-culture .career-culture__media:hover::after{
  opacity:1;
}
.career-culture .career-culture__media img{
  transition:transform .55s cubic-bezier(.25, .46, .45, .94);
  z-index:0;
}
.career-culture .career-culture__media:hover img{
  transform:scale(1.06);
}
.career-culture .career-culture__text{
  transition:background .4s ease, box-shadow .35s ease;
}
.career-culture .career-culture__text:hover{
  background:linear-gradient(155deg, rgba(64, 123, 203, .14) 0%, #e2eaf8 55%, #dfe8f6 100%);
  box-shadow:inset 0 0 0 2px rgba(64, 123, 203, .35);
}

@media (prefers-reduced-motion: reduce){
  .career-culture .career-culture__grid{
    transition:none;
  }
  .career-culture .career-culture__grid:hover{
    transform:none;
    box-shadow:
      0 1px 2px rgba(15, 26, 52, .05),
      0 10px 36px -8px rgba(15, 26, 52, .12),
      0 24px 64px -16px rgba(15, 26, 52, .08);
  }
  .career-culture .career-culture__media::after{
    transition:none;
    opacity:0;
  }
  .career-culture .career-culture__media:hover::after{
    opacity:0;
  }
  .career-culture .career-culture__media img{
    transition:none;
  }
  .career-culture .career-culture__media:hover img{
    transform:none;
  }
  .career-culture .career-culture__text{
    transition:none;
  }
}

.career-hero{
  position:relative;
  z-index:1;
  padding:clamp(44px, 8vh, 88px) 0 clamp(48px, 9vh, 96px);
  background:#f3f5f9;
  border-top:1px solid rgba(15, 26, 52, .06);
}
.career-hero__wrap{
  max-width:min(900px, 100%);
}
.career-hero__copy{
  display:flex;
  flex-direction:column;
  gap:clamp(18px, 3vw, 26px);
  min-width:0;
}
.career-hero__eyebrow{
  margin:0;
  font-size:13px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#64708c;
  font-weight:600;
}
.career-hero__tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
}
.career-hero__tab{
  border:1px solid rgba(15, 26, 52, .14);
  background:#ffffff;
  border-radius:999px;
  padding:10px 18px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.04em;
  color:#263050;
  cursor:pointer;
  transition:background .22s ease, border-color .22s ease, color .22s ease;
}
.career-hero__tab:hover{
  border-color:rgba(64, 123, 203, .45);
  color:rgb(52, 108, 182);
}
.career-hero__tab.is-active{
  border-color:rgb(64, 123, 203);
  background:rgb(64, 123, 203);
  color:#ffffff;
}
.career-hero__panels{
  position:relative;
  min-height:clamp(140px, 18vh, 190px);
}
.career-hero__panel{
  margin:0;
  padding:0;
  border:none;
  transition:opacity .35s ease;
}
.career-hero__panel:not(.is-active){
  display:none;
}
.career-hero__panel.is-active{
  display:block;
}
.career-hero__quote{
  margin:0;
  font-size:clamp(21px, 2.3vw, 30px);
  line-height:1.45;
  font-weight:500;
  letter-spacing:.01em;
  color:#101a32;
}
.career-hero__cite{
  margin:clamp(12px, 2vw, 18px) 0 0;
  font-size:14px;
  color:#6f7c99;
}
.career-hero__names{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  font-size:12px;
  letter-spacing:.12em;
  color:rgba(16, 28, 58, .35);
}

.career-spotlight{
  position:relative;
  z-index:1;
  padding:clamp(56px, 10vh, 100px) 0;
  background:#f3f5f9;
  border-top:1px solid rgba(15, 26, 52, .06);
}
.career-spotlight__title{
  margin:0 0 18px;
  font-size:clamp(30px, 4vw, 44px);
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.12;
  color:#0b1220;
}
.career-spotlight__lead{
  margin:0;
  max-width:62ch;
  font-size:clamp(17px, 1.55vw, 20px);
  line-height:1.75;
  color:#3a465d;
}
.career-spotlight__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}
.career-spotlight__note{
  margin:22px 0 0;
  max-width:58ch;
  font-size:15px;
  line-height:1.65;
  color:#6b768d;
}
.career-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 26px;
  border-radius:999px;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.career-btn--primary{
  background:rgb(64, 123, 203);
  color:#ffffff;
  border:1px solid rgb(64, 123, 203);
  box-shadow:0 10px 28px rgba(64, 123, 203, .28);
}
.career-btn--primary:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 36px rgba(64, 123, 203, .34);
}
.career-btn--ghost{
  background:#ffffff;
  color:#1a2844;
  border:1px solid rgba(15, 26, 52, .16);
}
.career-btn--ghost:hover{
  border-color:rgb(64, 123, 203);
  color:rgb(44, 98, 176);
}

.career-perks{
  position:relative;
  z-index:1;
  padding:clamp(56px, 10vh, 96px) 0 clamp(72px, 12vh, 120px);
  background:
    linear-gradient(180deg, rgba(64, 123, 203, .06) 0%, rgba(243, 245, 249, 0) 38%),
    #f3f5f9;
}
.career-perks__head{
  margin:0 0 10px;
  font-size:clamp(26px, 3.4vw, 38px);
  font-weight:700;
  color:#0b1220;
  letter-spacing:.01em;
}
.career-perks__head em{
  font-style:normal;
  color:rgb(64, 123, 203);
}
.career-perks__sub{
  margin:0 0 36px;
  font-size:16px;
  color:#5a667d;
}
.career-perks__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(18px, 3vw, 28px);
}
.career-perk{
  background:#ffffff;
  border:1px solid rgba(15, 26, 52, .08);
  border-radius:14px;
  padding:clamp(22px, 3vw, 30px);
  box-shadow:0 12px 36px rgba(15, 26, 52, .05);
}
.career-perk__icon{
  width:52px;
  height:52px;
  border-radius:14px;
  background:rgba(64, 123, 203, .1);
  color:rgb(52, 98, 176);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
}
.career-perk__title{
  margin:0 0 10px;
  font-size:19px;
  font-weight:700;
  color:#101a32;
}
.career-perk__text{
  margin:0;
  font-size:14px;
  line-height:1.6;
  color:#5a667d;
}

.career-jobs{
  position:relative;
  z-index:1;
  padding:clamp(48px, 9vh, 88px) 0 clamp(80px, 14vh, 120px);
  background:#f3f5f9;
  border-top:1px solid rgba(15, 26, 52, .06);
}
.career-jobs__head{
  margin-bottom:28px;
}
.career-jobs__title{
  margin:0 0 12px;
  font-size:clamp(28px, 3.6vw, 40px);
  font-weight:700;
  color:#0b1220;
}
.career-jobs__intro{
  margin:0;
  max-width:62ch;
  font-size:15px;
  line-height:1.65;
  color:#5a667d;
}
.career-jobs__intro a{
  color:rgb(44, 98, 176);
  font-weight:600;
}
.career-job-group{
  border:1px solid rgba(15, 26, 52, .1);
  border-radius:12px;
  background:#fafbfd;
  margin-bottom:14px;
  overflow:hidden;
}
.career-job-group__head{
  margin:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px;
  font-weight:700;
  font-size:17px;
  color:#121a2e;
}
.career-job-group__name{
  letter-spacing:.02em;
}
.career-job-group__badge{
  font-size:12px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#6f7c99;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(64, 123, 203, .1);
  color:rgb(44, 98, 176);
}
.career-job-list{
  list-style:none;
  margin:0;
  padding:0 0 0 18px;
  border-top:1px solid rgba(15, 26, 52, .08);
  background:#ffffff;
}
.career-job-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto auto;
  gap:12px 16px;
  align-items:center;
  padding:14px 20px 14px 22px;
  border-bottom:1px solid rgba(15, 26, 52, .06);
}
.career-job-row:last-child{
  border-bottom:none;
}
.career-job-row__link{
  font:inherit;
  font-size:16px;
  font-weight:600;
  color:#101a32;
  text-decoration:none;
  background:none;
  border:none;
  padding:0;
  cursor:pointer;
  font-family:inherit;
  text-align:left;
}
.career-job-row__link:hover{
  color:rgb(44, 98, 176);
  text-decoration:underline;
  text-underline-offset:3px;
}
.career-job-row__meta{
  font-size:13px;
  color:#6f7c99;
  white-space:nowrap;
}
.career-job-row__tag{
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  padding:4px 8px;
  border-radius:4px;
  justify-self:end;
}
.career-job-row__tag--hot{
  background:linear-gradient(135deg, #ff6b4a, #ff3d3d);
  color:#ffffff;
}
.career-jobs__foot{
  margin:28px 0 0;
  font-size:14px;
  line-height:1.6;
  color:#6b768d;
  max-width:52ch;
}

@media (max-width:960px){
  .career-perks__grid{
    grid-template-columns:1fr;
  }
  .career-job-row{
    grid-template-columns:1fr auto;
    grid-template-areas:
      "link tag"
      "meta meta";
  }
  .career-job-row__link{grid-area:link}
  .career-job-row__tag{grid-area:tag}
  .career-job-row__meta{grid-area:meta;white-space:normal}
}

/* 公告资讯（参考进化论资产动态聚焦列表） */
body.news-page{
  background:#f3f5f9;
}
body.news-page .header{
  background:rgba(7,12,22,.82);
  border-bottom-color:rgba(255,255,255,.1);
}
.news-hero{
  position:relative;
  padding:clamp(120px, 18vh, 168px) 0 clamp(56px, 9vh, 80px);
  background-color:#0b1220;
  background-image:url("../img/notice/front.jpeg");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  color:#ffffff;
  overflow:hidden;
}
.news-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      180deg,
      rgba(8,10,18,.5) 0%,
      rgba(6,9,16,.58) 45%,
      rgba(4,7,14,.66) 100%
    );
  pointer-events:none;
}
.news-hero__inner{
  position:relative;
  z-index:1;
  max-width:min(920px, 100%);
}
.news-hero__tag{
  margin:0;
  letter-spacing:.22em;
  font-size:12px;
  color:rgba(255,255,255,.65);
}
.news-hero__title{
  margin:14px 0 0;
  font-size:clamp(40px, 5.6vw, 64px);
  line-height:1.15;
  font-weight:800;
  letter-spacing:.02em;
}
.news-hero__desc{
  margin:18px 0 0;
  max-width:52ch;
  font-size:16px;
  line-height:1.7;
  color:rgba(255,255,255,.78);
}
.news-list-section{
  position:relative;
  z-index:1;
  padding:clamp(40px, 7vh, 72px) 0 clamp(72px, 12vh, 108px);
}
.news-list-section__inner{
  max-width:min(1104px, 100%);
  margin:0 auto;
}
.news-subnav{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin:0 0 clamp(24px, 3.5vw, 32px);
  padding:0;
  background:#ffffff;
  border:1px solid rgba(15, 26, 52, .1);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 4px 18px -8px rgba(15, 26, 52, .1);
}
.news-subnav__link{
  flex:1 1 0;
  min-width:9rem;
  padding:clamp(14px, 2vw, 18px) clamp(20px, 3vw, 28px);
  text-align:center;
  font-size:clamp(15px, 1.4vw, 17px);
  font-weight:650;
  letter-spacing:.04em;
  color:#5a667d;
  text-decoration:none;
  border-bottom:3px solid transparent;
  transition:color .22s ease, background-color .22s ease, border-color .22s ease;
}
.news-subnav__link:hover{
  color:rgb(44, 98, 176);
  background:rgba(64, 123, 203, .05);
}
.news-subnav__link.is-active{
  color:rgb(64, 123, 203);
  background:rgba(64, 123, 203, .08);
  border-bottom-color:rgb(64, 123, 203);
}
.news-panels{
  position:relative;
}
.news-feed-panel{
  display:none;
}
.news-feed-panel.is-active{
  display:block;
}
.news-feed{
  list-style:none;
  margin:0;
  padding:0;
  background:#ffffff;
  border:1px solid rgba(15, 26, 52, .08);
  border-radius:14px;
  overflow:hidden;
  box-shadow:
    0 1px 2px rgba(15, 26, 52, .04),
    0 12px 40px -12px rgba(15, 26, 52, .12);
}
.news-feed__item{
  border-bottom:1px solid rgba(15, 26, 52, .08);
}
.news-feed__item:last-child{
  border-bottom:none;
}
.news-feed__link{
  display:grid;
  grid-template-columns:7.5rem minmax(0, 1fr) auto;
  gap:clamp(12px, 2vw, 24px);
  align-items:center;
  padding:clamp(18px, 2.8vw, 24px) clamp(20px, 3vw, 28px);
  text-decoration:none;
  color:inherit;
  transition:background-color .22s ease, color .22s ease;
}
.news-feed__link--has-thumb{
  grid-template-columns:clamp(234px, 31vw, 338px) minmax(0, 1fr) auto;
  gap:clamp(18px, 2.8vw, 32px);
  align-items:center;
}
.news-feed__thumb{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16 / 10;
  max-height:203px;
  border-radius:10px;
  overflow:hidden;
  flex-shrink:0;
  background:#eef2f8;
  border:1px solid rgba(15, 26, 52, .08);
}
.news-feed__thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.news-feed__thumb--placeholder::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
  background:linear-gradient(
    180deg,
    rgba(8, 14, 28, .18) 0%,
    rgba(8, 14, 28, .52) 100%
  );
  pointer-events:none;
}
.news-feed__thumb-label{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  transform:translate(-50%, -50%);
  padding:10px 18px;
  font-size:clamp(16px, 1.75vw, 20px);
  font-weight:700;
  letter-spacing:.14em;
  color:#ffffff;
  text-shadow:0 2px 14px rgba(0, 0, 0, .38);
  white-space:nowrap;
  pointer-events:none;
}
.news-feed__date--in-body{
  margin-top:2px;
  font-size:14px;
  font-weight:500;
  letter-spacing:.02em;
  color:#8a96ab;
  white-space:nowrap;
}
.news-feed__link:hover{
  background:rgba(64, 123, 203, .06);
}
.news-feed__link:hover .news-feed__title{
  color:rgb(44, 98, 176);
}
.news-feed__link:hover .news-feed__arrow{
  color:rgb(64, 123, 203);
  transform:translateX(4px);
}
.news-feed__date{
  font-size:15px;
  font-weight:600;
  letter-spacing:.04em;
  color:#6f7c99;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.news-feed__body{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.news-feed__title{
  font-size:clamp(17px, 1.85vw, 21px);
  font-weight:650;
  line-height:1.45;
  color:#121a2e;
  transition:color .22s ease;
}
.news-feed__summary{
  font-size:15px;
  line-height:1.55;
  color:#6b768d;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.news-feed__arrow{
  font-size:18px;
  color:#a8b3c7;
  transition:color .22s ease, transform .22s ease;
}
.news-empty{
  padding:clamp(48px, 8vh, 72px) clamp(24px, 4vw, 40px);
  text-align:center;
  background:#ffffff;
  border:1px solid rgba(15, 26, 52, .08);
  border-radius:14px;
}
.news-empty__title{
  margin:0 0 10px;
  font-size:18px;
  font-weight:700;
  color:#121a2e;
}
.news-empty__text{
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:#6b768d;
}
.news-detail-hero{
  position:relative;
  padding:clamp(120px, 18vh, 152px) 0 clamp(32px, 5vh, 48px);
  background-color:#0b1220;
  background-image:url("../img/notice/front.jpeg");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  color:#ffffff;
  overflow:hidden;
}
.news-detail-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      180deg,
      rgba(8,10,18,.5) 0%,
      rgba(6,9,16,.58) 45%,
      rgba(4,7,14,.66) 100%
    );
  pointer-events:none;
}
.news-detail-hero__inner{
  position:relative;
  z-index:1;
  max-width:min(1104px, 100%);
}
.news-detail-hero__date{
  margin:0 0 12px;
  font-size:14px;
  letter-spacing:.06em;
  color:rgba(255,255,255,.62);
}
.news-detail-hero__title{
  margin:0;
  font-size:clamp(28px, 4vw, 44px);
  line-height:1.25;
  font-weight:800;
}
.news-detail-hero__summary{
  margin:16px 0 0;
  max-width:62ch;
  font-size:16px;
  line-height:1.7;
  color:rgba(255,255,255,.78);
}
.news-detail-section{
  padding:clamp(32px, 5vh, 48px) 0 clamp(80px, 12vh, 120px);
}
.news-detail-section__inner{
  max-width:min(1104px, 100%);
  margin:0 auto;
}
body.news-page--detail .news-article{
  padding:clamp(28px, 4vw, 40px);
  background:#ffffff;
  border:1px solid rgba(15, 26, 52, .08);
  border-radius:14px;
  box-shadow:0 12px 40px -12px rgba(15, 26, 52, .1);
}
body.news-page .prose{
  margin:0;
  font-size:16px;
  line-height:1.85;
  color:#2a3548;
  word-wrap:break-word;
}
body.news-page .prose p{
  margin:0 0 1em;
}
body.news-page .prose p:last-child{
  margin-bottom:0;
}
body.news-page .prose h1,
body.news-page .prose h2,
body.news-page .prose h3,
body.news-page .prose h4,
body.news-page .prose h5,
body.news-page .prose h6{
  margin:1.35em 0 .65em;
  color:#1a2740;
  font-weight:700;
  line-height:1.35;
}
body.news-page .prose h1:first-child,
body.news-page .prose h2:first-child,
body.news-page .prose h3:first-child,
body.news-page .prose h4:first-child,
body.news-page .prose h5:first-child,
body.news-page .prose h6:first-child{
  margin-top:0;
}
body.news-page .prose h1{font-size:1.75em}
body.news-page .prose h2{font-size:1.5em}
body.news-page .prose h3{font-size:1.25em}
body.news-page .prose h4{font-size:1.125em}
body.news-page .prose h5{font-size:1.05em}
body.news-page .prose h6{font-size:1em}
body.news-page .prose strong,
body.news-page .prose b{
  font-weight:700;
  color:inherit;
}
body.news-page .prose em,
body.news-page .prose i{
  font-style:italic;
}
body.news-page .prose u{
  text-decoration:underline;
  text-underline-offset:2px;
}
body.news-page .prose s,
body.news-page .prose strike,
body.news-page .prose del{
  text-decoration:line-through;
}
body.news-page .prose sub,
body.news-page .prose sup{
  font-size:.75em;
  line-height:0;
  position:relative;
  vertical-align:baseline;
}
body.news-page .prose sup{top:-.5em}
body.news-page .prose sub{bottom:-.25em}
body.news-page .prose pre,
body.news-page .prose code{
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:.92em;
}
body.news-page .prose pre{
  margin:1em 0;
  padding:12px 14px;
  overflow-x:auto;
  background:#f3f5f9;
  border-radius:8px;
}
body.news-page .prose hr{
  margin:1.5em 0;
  border:0;
  border-top:1px solid #d8ddea;
}
/* CKEditor 字号下拉（部分版本用 class） */
body.news-page .prose .text-tiny{font-size:.7em}
body.news-page .prose .text-small{font-size:.85em}
body.news-page .prose .text-big{font-size:1.25em}
body.news-page .prose .text-huge{font-size:1.5em}
body.news-page .prose font[size="1"]{font-size:.7em}
body.news-page .prose font[size="2"]{font-size:.85em}
body.news-page .prose font[size="3"]{font-size:1em}
body.news-page .prose font[size="4"]{font-size:1.125em}
body.news-page .prose font[size="5"]{font-size:1.25em}
body.news-page .prose font[size="6"]{font-size:1.5em}
body.news-page .prose font[size="7"]{font-size:1.75em}
body.news-page .prose img{
  display:block;
  max-width:100% !important;
  width:auto !important;
  height:auto !important;
  border-radius:8px;
  margin:1em auto;
  object-fit:contain;
}
body.news-page .prose figure.image,
body.news-page .prose figure,
body.news-page .prose .cke_widget_wrapper,
body.news-page .prose p img:only-child{
  max-width:100%;
  margin:1em auto;
}
body.news-page .prose figure.image img,
body.news-page .prose figure img{
  display:block;
  max-width:100% !important;
  width:auto !important;
  height:auto !important;
  margin:0 auto;
}
body.news-page .prose iframe,
body.news-page .prose video{
  display:block;
  max-width:100%;
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  border:0;
  border-radius:8px;
}
body.news-page .prose a{
  color:#407bcb;
  text-decoration:underline;
  text-underline-offset:2px;
}
body.news-page .prose a:hover{
  color:#274d99;
}
body.news-page .prose ul,
body.news-page .prose ol{
  margin:0 0 1em;
  padding-left:1.4em;
}
body.news-page .prose li{
  margin:.25em 0;
}
body.news-page .prose table{
  width:100%;
  border-collapse:collapse;
  margin:1em 0;
  font-size:15px;
}
body.news-page .prose th,
body.news-page .prose td{
  border:1px solid #d8ddea;
  padding:8px 12px;
}
body.news-page .prose blockquote{
  margin:1em 0;
  padding:.5em 1em;
  border-left:3px solid #407bcb;
  color:#566072;
  background:#f3f5f9;
}
@media (max-width:720px){
  .news-feed__link{
    grid-template-columns:1fr auto;
    grid-template-areas:
      "date arrow"
      "body body";
    row-gap:10px;
  }
  .news-feed__link--has-thumb{
    grid-template-columns:minmax(0, 1fr) auto;
    grid-template-areas:
      "thumb arrow"
      "body body";
    row-gap:12px;
    column-gap:14px;
  }
  .news-feed__thumb{
    grid-area:thumb;
    max-height:260px;
    aspect-ratio:16 / 9;
  }
  .news-feed__body{grid-area:body}
  .news-feed__arrow{grid-area:arrow; align-self:start; margin-top:4px}
}

/* ---------- Mobile layout (phones / small tablets) ---------- */
@media (max-width:900px){
  html,
  body{
    overflow-x:clip;
    max-width:100%;
  }
  img,
  video{
    max-width:100%;
    height:auto;
  }
  .container{
    padding-left:16px;
    padding-right:16px;
  }
  .header .container{
    padding-left:12px;
    padding-right:12px;
  }
  .header__inner{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
    align-items:center;
    justify-content:unset;
    gap:0;
    height:56px;
  }
  .header--compact .header__inner{
    height:52px;
  }
  .brand{
    position:static;
    grid-column:1;
    justify-self:start;
    flex:none;
    max-width:100%;
    min-width:0;
  }
  .brand__logo{
    height:30px;
    width:auto;
    max-width:min(140px, 36vw);
  }
  .nav{
    position:static;
    grid-column:2;
    justify-self:center;
    flex:0 1 auto;
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:center;
    height:auto;
    min-width:0;
    max-width:min(100%, 72vw);
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .nav::-webkit-scrollbar{
    display:none;
  }
  .nav__link{
    flex:0 0 auto;
    min-width:0;
    min-height:44px;
    height:auto;
    padding:10px 12px;
    font-size:14px;
    line-height:1.25;
    white-space:nowrap;
    justify-content:center;
  }

  body.home-page{
    background-attachment:scroll;
  }
  .jh-hero{
    min-height:100svh;
    min-height:100vh;
  }
  .jh-hero .container{
    padding-left:16px;
    padding-right:16px;
  }
  .jh-hero__en{
    letter-spacing:.14em;
    font-size:11px;
  }
  .jh-hero__title{
    font-size:clamp(28px, 8.8vw, 40px);
    line-height:1.12;
  }
  .jh-intro__copy h2{
    font-size:clamp(28px, 7.5vw, 36px);
  }
  .jh-intro__copy p{
    font-size:15px;
    line-height:1.85;
  }
  .jh-stats__row{
    grid-template-columns:1fr 1fr;
  }
  .jh-stats__num{
    font-size:clamp(28px, 7vw, 34px);
  }
  .jh-stats__label{
    font-size:13px;
  }
  .jh-awards__head h2{
    font-size:clamp(28px, 7.5vw, 34px);
  }
  .jh-awards__item h3{
    font-size:15px;
    line-height:1.45;
  }
  .jh-talent__title{
    font-size:clamp(22px, 6.5vw, 30px);
    padding:0 16px;
  }
  .jh-talent__en{
    font-size:18px;
  }

  .about-hero__title,
  .career-visual__headline{
    font-size:clamp(30px, 9vw, 44px);
    line-height:1.22;
  }
  .about-hero__title span{
    white-space:normal;
  }
  .career-visual__headline{
    flex-direction:column;
    align-items:center;
    gap:0.2em;
    padding:0 12px;
  }
  .career-visual__headline span{
    white-space:normal;
  }
  .career-visual__overlay{
    padding:min(10vh, 88px) 16px;
  }
  .about-h2,
  .cf-title{
    font-size:clamp(22px, 6vw, 28px);
  }
  .about-body,
  .cf-intro__text{
    font-size:15px;
    line-height:1.8;
  }
  .cf-values{
    grid-template-columns:1fr;
  }
  .cf-timeline .cf-container,
  .cf-timeline__scroll{
    overflow-x:clip;
  }
  .cf-timeline__axis{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  body.career-page .career-benefits__marquee{
    width:100%;
    max-width:100%;
    margin-left:0;
  }
  body.career-page .cf-structure.career-benefits-section .container.cf-container,
  body.career-page .cf-structure.career-rd-section .container.cf-container,
  body.career-page .cf-structure.career-jobs-section .container.cf-container{
    width:100%;
    padding-left:16px;
    padding-right:16px;
  }
  body.career-page .career-rd-section .cf-group__title{
    font-size:clamp(24px, 6.5vw, 32px);
  }

  .footer__company{
    font-size:20px;
  }
  .footer__line,
  .footer__notice,
  .footer__copyright{
    font-size:14px;
    line-height:1.65;
  }
}

@media (max-width:480px){
  .header__inner{
    height:52px;
  }
  .brand__logo{
    height:26px;
    max-width:min(120px, 34vw);
  }
  .nav{
    max-width:min(100%, 68vw);
  }
  .nav__link{
    padding:8px 10px;
    font-size:13px;
  }
  .jh-stats__row{
    grid-template-columns:1fr;
  }
  .jh-stats__item{
    border-right:none;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .jh-stats__item:last-child{
    border-bottom:none;
  }
}

