/* 首页独立视觉层：自然留白、轻字重、图文分层；内容默认可见。 */
.home-cinematic { --canvas: #f6f5f1; --ink: #252623; --ink-soft: #676963; background: var(--canvas); }
.home-cinematic :is(h1,h2,h3) { font-weight: 500; }
.home-cinematic section[id] { scroll-margin-top: 88px; }
.home-cinematic .site-header { position: fixed; height: 76px; padding-inline: clamp(24px, 5vw, 88px); background: #f6f5f1; box-shadow: none; border-bottom: 1px solid #dadbd5; transition: background-color 280ms ease, border-color 280ms ease, color 280ms ease; }
.home-cinematic .wordmark-copy strong { font-weight: 650; }
.home-cinematic .site-nav { gap: 32px; font-weight: 500; }
.home-cinematic .site-nav .nav-cta { min-width: 108px; justify-content: center; border: 1px solid #343531; border-radius: 30px; background: transparent; color: #252623; }
.home-cinematic.has-scene-motion .site-header:not(.is-scrolled) { background: transparent; border-color: transparent; }
.home-cinematic.has-scene-motion .site-header:not(.is-scrolled) :is(.wordmark,.site-nav a) { color: #f5f3eb; }
.home-cinematic.has-scene-motion .site-header:not(.is-scrolled) .wordmark-copy small { color: #dadbd7; }
.home-cinematic.has-scene-motion .site-header:not(.is-scrolled) .nav-cta { border-color: #e3e4de; }
.home-cinematic .site-nav a:active { transform: scale(.97); }

.home-cinematic .hero { isolation: isolate; width: 100%; height: 100svh; min-height: 650px; max-height: 1000px; margin: 0; padding: 130px clamp(24px, 7vw, 120px) 150px; display: flex; align-items: flex-start; justify-content: center; flex-direction: column; background: #293239; border-radius: 0; }
.home-cinematic .hero::before { display: none; }
.home-cinematic .hero::after { display: block; inset: 0; width: auto; height: auto; border: 0; border-radius: 0; background: linear-gradient(90deg, rgba(13,20,27,.32), rgba(13,20,27,.03) 70%), linear-gradient(0deg, rgba(13,20,27,.32), transparent 40%); z-index: 0; }
.hero-media { position: absolute; inset: -6%; pointer-events: none; z-index: -1; will-change: transform; transform: translate3d(0,var(--scene-y,0px),0); }
.hero-art { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 58% center; animation: scene-drift 24s ease-in-out infinite alternate; }
.home-cinematic .hero-copy { max-width: 640px; will-change: transform; transform: translate3d(0,var(--copy-y,0px),0); }
.home-cinematic .hero-copy > * { opacity: 1; animation: none; transform: none; }
.home-cinematic .hero-brand-kicker { margin-bottom: 30px; font-size: 12px; font-weight: 500; letter-spacing: .28em; color: #dbe0df; }
.home-cinematic .hero-brand-kicker::before { display: none; }
.home-cinematic .hero-brand-kicker::after { height: 1px; width: 48px; background: #dbe0df; }
.home-cinematic .hero h1 { max-width: none; font-size: clamp(36px,4.2vw,60px); line-height: 1.38; letter-spacing: .005em; color: #f5f4ee; font-weight: 500; }
.home-cinematic .hero h1 > span { display: block; }
.home-cinematic .hero-lead { margin: 24px 0 34px; max-width: 29em; font-size: 15px; color: #d5dada; line-height: 1.9; }
.home-cinematic .primary-button { min-width: 156px; min-height: 46px; gap: 32px; padding: 10px 25px; border: 1px solid #eeeee8; border-radius: 40px; background: #f6f5ed; font-size: 13px; font-weight: 500; color: #242622; }
.home-cinematic .primary-button span, .home-cinematic .light-button span { transition: transform 180ms ease; }
.home-cinematic .hero-index { display: none; }
.hero-bottom { position: absolute; z-index: 2; left: clamp(24px,5vw,88px); right: clamp(24px,5vw,88px); bottom: 28px; display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: 11px; letter-spacing: .12em; color: #e0e3df; }
.scroll-cue { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.scroll-cue i { position: relative; width: 1px; height: 28px; background: #ffffff40; overflow: hidden; }
.scroll-cue i::after { content: ''; position: absolute; inset: 0; background: #eceee9; animation: scroll-signal 2.6s ease-in-out infinite; }
.motion-toggle { min-height: 36px; padding: 6px 12px; border: 1px solid #ffffff50; border-radius: 20px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.motion-toggle[hidden] { display: none; }
.scroll-cue:active, .motion-toggle:active { transform: scale(.96); }

.home-cinematic .section { width: min(1240px,88%); padding-block: clamp(68px,8vw,108px); }
.home-cinematic .section-heading { grid-template-columns: 150px minmax(0,1.2fr) minmax(0,1fr); gap: 36px; align-items: start; margin-bottom: 50px; }
.home-cinematic :is(.section-heading h2,.growth h2) { font-size: clamp(28px,3vw,40px); line-height: 1.45; letter-spacing: 0; max-width: 12em; }
.home-cinematic .section-number { color: #73766e; font-size: 11px; font-weight: 500; letter-spacing: .12em; padding: 0; margin-bottom: 20px; }
.home-cinematic .section-number::after { display: none; }
.home-cinematic .section-heading > p:last-child { font-size: 14px; line-height: 1.95; padding-top: 5px; }
.home-cinematic .culture::before { display: none; }
.home-cinematic .values-list { border: 0; gap: 28px; }
.home-cinematic .value-item { min-height: 185px; padding: 22px 0 0; background: transparent; box-shadow: none; border-top: 1px solid #cbcfc5; }
.home-cinematic .value-item > span { display: block; width: auto; height: auto; background: transparent; color: #777b72; font-size: 11px; }
.home-cinematic .value-item h3 { margin: 28px 0 12px; font-size: 23px; }
.home-cinematic .value-item p { font-size: 13px; max-width: 18em; line-height: 1.95; }
.home-cinematic .value-item::after { display: none; }

.home-cinematic .partner-vision { width: min(1240px,88%); margin-inline: auto; min-height: 0; padding: 40px 0; display: grid; grid-template-columns: 210px 1fr; gap: 48px; border-top: 1px solid #c8cbc2; border-bottom: 1px solid #c8cbc2; background: transparent; color: #292d27; }
.home-cinematic .partner-vision::after { display: none; }
.home-cinematic .partner-count { color: #30372f; align-items: center; }
.home-cinematic .partner-count span { font-size: 88px; line-height: 1; font-weight: 400; letter-spacing: -.06em; }
.home-cinematic .partner-count small { color: #787e72; font-size: 15px; margin: 0; white-space: nowrap; }
.home-cinematic .partner-copy .eyebrow { color: #70766b; font-size: 11px; font-weight: 500; }
.home-cinematic .partner-copy h2 { color: #30372f; font-size: clamp(24px,2.2vw,30px); font-weight: 500; line-height: 1.6; letter-spacing: 0; max-width: none; }
.home-cinematic .partner-copy p:last-child { margin-top: 14px; max-width: 44em; color: #767b71; font-size: 13px; }

.home-cinematic .growth { grid-template-columns: .85fr 1.35fr; gap: 64px; }
.home-cinematic .growth-copy::before { display: none; }
.home-cinematic .growth-copy > p:not(.section-number) { font-size: 14px; line-height: 1.95; }
.home-cinematic .growth-points { padding: 0; margin-top: 30px; counter-reset: growth; }
.home-cinematic .growth-points li { counter-increment: growth; display: flex; gap: 18px; padding: 15px 0; font-size: 13px; font-weight: 500; border-bottom: 1px solid #d8dcd1; }
.home-cinematic .growth-points li::before { content: '0' counter(growth); position: static; width: auto; height: auto; border: 0; border-radius: 0; background: none; color: #8b9184; font-size: 11px; }
.home-cinematic .growth-points li::after { display: none; }
.home-cinematic .carousel-track { transition-property: transform; transition-timing-function: cubic-bezier(.25,.65,.25,1); align-items: flex-start; }
.home-cinematic .carousel-viewport, .home-cinematic .carousel-slide { min-height: 0; }
.home-cinematic .carousel-slide { background-image: none !important; background-color: transparent; }
.home-cinematic .carousel-slide.has-image::before { display: none; }
.home-cinematic .carousel-slide > img { display: block; width: 100%; height: auto; min-height: 0; aspect-ratio: 4/3; object-fit: contain; outline: 0; border-radius: 0; background: #e8e8e1; transform: none; }
.home-cinematic .slide-caption { margin: 0; padding: 18px 0 2px; background: var(--canvas); max-width: none; color: #32362e; }
.home-cinematic .slide-caption p { color: #7c8275; letter-spacing: .1em; font-size: 10px; }
.home-cinematic .slide-caption h3 { font-size: 19px; font-weight: 500; }
.home-cinematic .carousel-toolbar { border-top: 1px solid #d7dbd0; padding-top: 12px; margin-top: 18px; }
.home-cinematic .carousel-button { border: 1px solid #cbd0c1; border-radius: 50%; background: transparent; color: #444b3d; }
.home-cinematic .carousel-status .current { font-size: 15px; font-weight: 500; }

.home-cinematic .activities { padding-top: 30px; }
.home-cinematic .activities-heading { grid-template-columns: 1.5fr 1fr; align-items: end; }
.home-cinematic .activities-heading h2 { max-width: none; }
.home-cinematic .activity-grid { grid-template-columns: 1.3fr 1fr 1fr; gap: 26px; background: transparent; align-items: start; }
.home-cinematic .activity-card, .home-cinematic .activity-card:not(.activity-card-1) { grid-row: auto; grid-template-columns: 1fr; grid-template-rows: auto auto; background: transparent; overflow: visible; box-shadow: none; }
.home-cinematic .activity-card:not(.activity-card-1) { margin-top: 44px; }
.home-cinematic .activity-card:active { transform: none; }
.home-cinematic .activity-image { min-width: 0; overflow: hidden; }
.home-cinematic .activity-image .carousel-viewport, .home-cinematic .activity-image .carousel-slide, .home-cinematic .activity-image .carousel-slide > img { min-height: 0; }
.home-cinematic .activity-image .carousel-slide > img { height: auto; aspect-ratio: 4/3; }
.home-cinematic .activity-card-copy { padding: 22px 0 0; border-bottom: 1px solid #d4d8cd; }
.home-cinematic .activity-card-copy > span { color: #72796c; font-weight: 500; font-size: 10px; }
.home-cinematic .activity-card-copy h3 { margin: 10px 0; font-size: 23px; font-weight: 500; }
.home-cinematic .activity-card-copy p { font-size: 13px; line-height: 1.95; margin-bottom: 20px; }

.home-cinematic .careers { min-height: 330px; padding: 64px max(6vw,calc((100vw - 1240px)/2)); background: #283129; align-items: center; gap: 48px; }
.home-cinematic .careers::before { display: none; }
.home-cinematic .careers h2 { font-size: clamp(32px,3.5vw,46px); font-weight: 400; line-height: 1.45; }
.home-cinematic .careers .eyebrow { color: #c0c7b8; font-weight: 500; }
.home-cinematic .careers p { color: #c0c7b8; font-size: 14px; }
.home-cinematic .light-button { border-radius: 30px; background: #f4f4ed; color: #283129; font-size: 13px; font-weight: 500; box-shadow: none; }
.home-cinematic .site-footer { width: min(1240px,88%); min-height: 88px; background: transparent; border: 0; gap: 20px; font-size: 11px; }

@keyframes scene-drift { from { transform: scale(1); } to { transform: scale(1.065); } }
@keyframes scroll-signal { 0%,100% { transform: translateY(-100%); } 55% { transform: translateY(100%); } }
.home-cinematic.motion-paused .hero-art, .home-cinematic.motion-paused .scroll-cue i::after { animation-play-state: paused; }
@media (hover:hover) {
  .home-cinematic .primary-button:hover { background: #ffffff; color: #252823; }
  .home-cinematic :is(.primary-button,.light-button):hover span { transform: translate(3px,-3px); }
  .home-cinematic .site-nav a:not(.nav-cta):hover { opacity: .75; }
}
@media (max-width:1000px) {
  .home-cinematic .section-heading { grid-template-columns: 1fr 1fr; }
  .home-cinematic .section-heading > .section-number { grid-column: 1/-1; margin-bottom: 0; }
  .home-cinematic .section-heading > p:last-child { grid-column: auto; }
  .home-cinematic .values-list { grid-template-columns: repeat(2,1fr); }
  .home-cinematic .growth { gap: 32px; grid-template-columns: 1fr 1fr; }
  .home-cinematic .activity-grid { gap: 18px; grid-template-columns: 1fr 1fr; }
  .home-cinematic .activity-card-1 { grid-column: 1/-1; grid-template-columns: 1.4fr 1fr; gap: 28px; align-items: center; }
  .home-cinematic .activity-card:not(.activity-card-1) { margin-top: 0; }
}
@media (max-width:700px) {
  .home-cinematic .site-header { height: 66px; padding-inline: 20px; }
  .home-cinematic .wordmark { gap: 8px; }
  .home-cinematic .wordmark-logo { width: 34px; height: 34px; }
  .home-cinematic .wordmark-copy strong { font-size: 12px; }
  .home-cinematic .site-nav .nav-cta { min-width: 88px; min-height: 36px; font-size: 12px; }
  .home-cinematic .hero { min-height: 640px; max-height: 920px; padding: 145px 24px 130px; justify-content: flex-start; }
  .hero-art { object-position: 59% center; }
  .home-cinematic .hero h1 { font-size: clamp(28px,7.5vw,36px); line-height: 1.55; }
  .home-cinematic .hero-brand-kicker { margin-bottom: 24px; }
  .home-cinematic .hero-lead { max-width: 22em; font-size: 12px; margin-block: 20px 26px; }
  .hero-bottom { left: 24px; right: 24px; bottom: 22px; gap: 10px; }
  .hero-bottom > span { display: none; }
  .home-cinematic .section { width: calc(100% - 48px); padding-block: 60px; }
  .home-cinematic .section-heading, .home-cinematic .activities-heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 34px; }
  .home-cinematic :is(.section-heading h2,.growth h2) { font-size: 28px; max-width: none; }
  .home-cinematic .values-list { gap: 24px 18px; }
  .home-cinematic .value-item { min-height: 170px; }
  .home-cinematic .value-item h3 { margin-top: 22px; font-size: 20px; }
  .home-cinematic .value-item p { font-size: 12px; }
  .home-cinematic .partner-vision { width: calc(100% - 48px); grid-template-columns: 1fr; gap: 20px; padding-block: 32px; }
  .home-cinematic .partner-count span { font-size: 64px; }
  .home-cinematic .partner-copy h2 { font-size: 22px; }
  .home-cinematic .partner-copy h2 br { display: none; }
  .home-cinematic .growth { grid-template-columns: 1fr; gap: 34px; }
  .home-cinematic .activity-grid { grid-template-columns: 1fr; gap: 28px; }
  .home-cinematic .activity-card-1 { grid-column: auto; grid-template-columns: 1fr; gap: 0; }
  .home-cinematic .activity-card-copy { padding-top: 16px; }
  .home-cinematic .careers { min-height: 0; grid-template-columns: 1fr; padding: 50px 24px; gap: 30px; }
  .home-cinematic .careers h2 { font-size: 32px; }
  .home-cinematic .site-footer { flex-wrap: wrap; width: calc(100% - 48px); padding-block: 22px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-cinematic .hero-art, .home-cinematic .scroll-cue i::after { animation: none; }
  .home-cinematic .hero-media, .home-cinematic .hero-copy { transform: none; }
  .home-cinematic .site-header { transition: none; }
}
