/* Company V4 布局与原区块内容共用，前台及编辑画布统一采用这份样式。 */
.yumin-company-page {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: 0;
    overflow: clip;
    color: #102f33;
    background: #f1f8f7;
}
.yumin-company-page .yumin-container {
    width: min(1184px, calc(100% - 56px));
    max-width: none;
    margin-inline: auto;
}
/* 旧区块样式在编辑画布中会带 editor-styles-wrapper 前缀，明确限定内容轨道，避免加载顺序改变宽度。 */
.yumin-company-page.yumin-company-page--overview :is(.yumin-company-intro, .yumin-company-strength) > .yumin-container {
    width: min(1184px, calc(100% - 56px));
    max-width: none;
    margin-inline: auto;
}
/* 三个历史首屏取消固定图片比例，预留真实文字高度和移动端的视觉空间。 */
.yumin-company-page :is(.yumin-company-hero--overview, .yumin-company-hero--factory, .yumin-page-hero--global-presence) {
    display: block;
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
    padding: calc(78px + clamp(52px, 6vw, 84px)) 0 clamp(56px, 6vw, 86px);
    background-image: var(--yumin-page-hero-image);
    background-position: var(--yumin-page-hero-position-x, 50%) var(--yumin-page-hero-position-y, 50%);
    background-size: cover;
    background-color: #00928e;
}
.yumin-company-page :is(.yumin-company-hero--overview, .yumin-company-hero--factory, .yumin-page-hero--global-presence) .yumin-page-hero__veil {
    display: block;
    background: linear-gradient(100deg, #00655d 0%, #00928e 14%, #008a84 30%, #00928ee6 45%, #00928e9e 58%, #00928e57 71%, #00928e24 83%, #00928e0a 93%, #00928e00 100%);
}
.yumin-company-page :is(.yumin-company-hero--overview, .yumin-company-hero--factory, .yumin-page-hero--global-presence) .yumin-page-hero__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    width: min(1184px, calc(100% - 56px));
    min-height: clamp(360px, 44vh, 500px);
    margin-inline: auto;
    padding: 0;
}
.yumin-company-page :is(.yumin-company-hero--overview, .yumin-company-hero--factory, .yumin-page-hero--global-presence) .yumin-page-hero__content {
    width: min(56%, 680px);
    max-width: none;
}
.yumin-company-page :is(.yumin-company-hero--overview, .yumin-company-hero--factory, .yumin-page-hero--global-presence) .yumin-page-hero__eyebrow {
    margin: 0 0 14px;
    font-size: 11.52px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .16em;
    color: #b9eee8;
}
.yumin-company-page :is(.yumin-company-hero--overview, .yumin-company-hero--factory, .yumin-page-hero--global-presence) .yumin-page-hero__title {
    width: 100%;
    max-width: 20ch;
    margin: 0;
    font-size: clamp(33.6px, 3.6vw, 54.4px);
    line-height: 1.06;
    letter-spacing: -.035em;
}
.yumin-company-page :is(.yumin-company-hero--overview, .yumin-company-hero--factory, .yumin-page-hero--global-presence) .yumin-page-hero__description {
    width: 100%;
    margin: 18px 0 0;
    font-size: clamp(16.64px, 1.35vw, 19.2px);
    font-weight: 400;
    line-height: 1.6;
    color: rgba(255,255,255,.85);
}
.yumin-company-page .yumin-quality-crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0 0 28px;
    color: rgba(255,255,255,.8);
    font-size: 13px;
    line-height: 1.5;
}
.yumin-company-page .yumin-quality-crumbs a { color: inherit; text-decoration: none; }
.yumin-company-page .yumin-quality-crumbs a:hover { color: #fff; }
.yumin-company-page .yumin-quality-crumbs i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
/* 企业介绍两组错位图文卡，正文按原段落展示。 */
.yumin-company-page .yumin-company-intro {
    padding: clamp(64px, 7.5vw, 116px) 0 clamp(48px, 5.5vw, 84px);
    background: #f1f8f7;
}
.yumin-company-page .yumin-company-intro__row,
.yumin-company-page .yumin-company-intro__row + .yumin-company-intro__row {
    display: grid;
    grid-template-columns: 1.02fr 1fr;
    align-items: center;
    min-height: 0;
    height: auto;
    border: 0;
}
.yumin-company-page .yumin-company-intro__row + .yumin-company-intro__row { margin-top: clamp(48px, 5.5vw, 88px); }
.yumin-company-page .yumin-company-intro__media {
    position: relative;
    z-index: 0;
    aspect-ratio: 5 / 4;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 24px 60px rgba(8,34,42,.14);
}
.yumin-company-page .yumin-company-intro__media img {
    width: 100%;
    height: 100%;
    min-height: 0;
    border-radius: 0;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(.16,1,.3,1);
}
.yumin-company-page .yumin-company-intro__panel {
    position: relative;
    z-index: 1;
    display: block;
    min-height: 0;
    padding: clamp(30px,3.6vw,52px) clamp(28px,3.4vw,50px);
    margin-left: clamp(-84px,-6vw,-40px);
    border: 1px solid #dce9e7;
    border-radius: 24px;
    background: #fff;
    color: #102f33;
    box-shadow: 0 12px 32px rgba(12,31,29,.08);
}
.yumin-company-page .yumin-company-intro__panel--light {
    margin-left: 0;
    margin-right: clamp(-84px,-6vw,-40px);
    border-color: #d9f2ee;
    background: #f1f8f7;
}
.yumin-company-page .yumin-company-intro__panel p { max-width: none; margin: 0; color: #496468; font-size: 14.4px; line-height: 1.78; }
.yumin-company-page .yumin-company-intro__panel p + p { margin-top: 18px; }
.yumin-company-page .yumin-company-intro__row:first-child .yumin-company-intro__panel p:first-child { margin-bottom: 22px; color: #102f33; font-size: clamp(17.92px,1.6vw,21.12px); font-weight: 650; line-height: 1.48; }
/* 企业视频的标题与按钮随海报下缘排布，视频源仍由既有播放器按点击加载。 */
.yumin-company-page .yumin-company-video { padding: clamp(8px,1.5vw,20px) 0 clamp(64px,7.5vw,116px); border: 0; background: #f1f8f7; }
.yumin-company-page .yumin-company-video__stage { display: flex; align-items: flex-end; min-height: clamp(420px,58vw,620px); aspect-ratio: auto; }
.yumin-company-page .yumin-company-video__poster { object-position: center; transition: transform 1.4s cubic-bezier(.16,1,.3,1); }
.yumin-company-page .yumin-company-video__stage:hover .yumin-company-video__poster { transform: scale(1.03); }
.yumin-company-page .yumin-company-video__veil { background: linear-gradient(rgba(8,34,42,.16),rgba(8,34,42,.04) 40%,rgba(8,34,42,.72)),linear-gradient(100deg,rgba(0,146,142,.32),transparent 52%); }
.yumin-company-page .yumin-company-video__content { position: relative; z-index: 1; width: min(1184px,calc(100% - 56px)); margin-inline: auto; padding: 0 0 clamp(34px,4.5vw,60px); }
.yumin-company-page .yumin-company-video__content h2 { margin: 0; max-width: none; color: #fff; font-size: clamp(32px,3.4vw,48px); font-weight: 800; line-height: 1.06; }
.yumin-company-page .yumin-company-video__description { max-width: 52ch; margin: 14px 0 0; color: rgba(255,255,255,.86); font-size: 15.52px; line-height: 1.7; }
.yumin-company-page .yumin-company-video__play { position: relative; inset: auto; display: inline-grid; width: 76px; height: 76px; margin-top: 32px; transform: none; color: #00655d; background: rgba(255,255,255,.94); box-shadow: 0 16px 40px rgba(8,34,42,.36),0 0 0 10px rgba(255,255,255,.16); transition: transform .42s,box-shadow .42s; }
.yumin-company-page .yumin-company-video__play span { margin-left: 3px; border-top-width: 13px; border-bottom-width: 13px; border-left: 21px solid currentColor; }
.yumin-company-page .yumin-company-video__play:hover { transform: scale(1.07); box-shadow: 0 20px 48px rgba(8,34,42,.44),0 0 0 14px rgba(255,255,255,.2); }
/* 企业视频关闭按钮与设计保持同尺寸及柔和背景过渡。 */
.yumin-company-page .yumin-company-video__close { top: 22px; right: 22px; width: 46px; height: 46px; font-size: 24px; background: rgba(8,34,42,.55); backdrop-filter: blur(6px); transition: background .42s cubic-bezier(.22,.61,.36,1); }
.yumin-company-page .yumin-company-video__close:hover { background: rgba(8,34,42,.8); }
/* 实力照片与分行参数。后缀较长时单独排在同一参数下，保证窄屏可阅读。 */
.yumin-company-page .yumin-company-strength { padding: clamp(64px,7.5vw,116px) 0; background: #f1f8f7; }
.yumin-company-page .yumin-company-strength__grid { display: grid; grid-template-columns: .86fr 1.14fr; align-items: center; gap: clamp(34px,4.5vw,72px); min-height: 0; border: 0; }
.yumin-company-page .yumin-company-strength__media { min-height: 0; height: auto; aspect-ratio: 10 / 11; border-radius: 24px; overflow: hidden; box-shadow: 0 24px 60px rgba(8,34,42,.14); }
.yumin-company-page .yumin-company-strength__media img { height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.16,1,.3,1); }
.yumin-company-page .yumin-company-strength__panel { min-width: 0; padding: 0; color: #102f33; background: transparent; }
.yumin-company-page .yumin-company-strength__panel .yumin-company-kicker { margin: 0 0 14px; color: #00655d; font-size: 11.52px; letter-spacing: .16em; }
.yumin-company-page .yumin-company-strength__panel h2 { margin: 0 0 36px; color: #102f33; font-size: clamp(28px,3.1vw,40px); line-height: 1.1; }
.yumin-company-page .yumin-company-strength__items { display: block; margin: 0; border-top: 1px solid #d1e5e1; }
.yumin-company-page .yumin-company-strength__item { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; padding: clamp(18px,2.2vw,26px) 4px; border-bottom: 1px solid #d1e5e1; font-size: 14.4px; line-height: 1.65; }
.yumin-company-page .yumin-company-strength__item span { color: #496468; }
.yumin-company-page .yumin-company-strength__item > span:first-child { flex: 1 1 200px; }
.yumin-company-page .yumin-company-strength__item strong { margin: 0; color: #00928e; font-size: clamp(26px,2.8vw,40px); font-weight: 800; line-height: 1; }
.yumin-company-page .yumin-company-strength__item:last-child .yumin-company-strength__suffix { flex-basis: 100%; }
/* 研发使用左侧文案、右侧照片，图片独立保持比例。 */
.yumin-company-page.yumin-company-page--overview .yumin-company-rnd { display: grid; grid-template-columns: 1.08fr .92fr; align-items: stretch; min-height: clamp(420px,44vw,560px); padding: 0; background: #00928e; }
.yumin-company-page .yumin-company-rnd__card { display: flex; align-items: center; width: auto; padding: clamp(64px,7vw,110px) clamp(28px,3vw,44px) clamp(64px,7vw,110px) max(28px,calc((100vw - 1184px) / 2)); border-radius: 0; background: radial-gradient(120% 90% at -10% 110%,rgba(0,64,63,.55),transparent 60%),linear-gradient(160deg,#00928e,#00817d); }
.yumin-company-page .yumin-company-rnd__copy { max-width: 56ch; }
.yumin-company-page .yumin-company-rnd__card .yumin-company-kicker { margin: 0 0 14px; font-size: 11.52px; line-height: 1.5; color: #b9eee8; }
.yumin-company-page .yumin-company-rnd__card h2 { margin: 0 0 28px; font-size: clamp(28px,3.1vw,40px); line-height: 1.1; }
.yumin-company-page .yumin-company-rnd__copy > p:last-child { margin: 0; color: rgba(255,255,255,.9); font-size: 15.52px; line-height: 1.7; }
.yumin-company-page .yumin-company-rnd__media { position: relative; min-height: 0; margin: 0; overflow: hidden; }
.yumin-company-page .yumin-company-rnd__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.yumin-company-page .yumin-company-rnd__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,130,125,.55),transparent 45%); }
/* 出口说明先于地图，白色说明卡与首屏边缘叠放。 */
.yumin-company-page .yumin-company-map { display: flow-root; position: relative; overflow: visible; padding: 0 0 clamp(40px,5vw,72px); color: #102f33; background: linear-gradient(#00928e,#01b1a8 30%,#01b1a8); }
.yumin-company-page .yumin-company-map__card { position: relative; z-index: 2; display: flex; align-items: center; gap: clamp(22px,3vw,40px); width: 100%; max-width: none; min-height: 0; margin: clamp(-96px,-6vw,-52px) 0 0; padding: clamp(28px,3.6vw,48px) clamp(28px,3.8vw,54px); border: 0; border-radius: 24px; background: #fff; box-shadow: 0 24px 60px rgba(8,34,42,.14); }
/* 与设计白卡一致的左侧竖条，使用绝对定位避免挤压原文与图标。 */
.yumin-company-page .yumin-company-map__card::before { content: ''; position: absolute; left: 0; top: 18%; bottom: 18%; width: 5px; border-radius: 999px; background: linear-gradient(180deg,#00928e,#007e7a); }
.yumin-company-page .yumin-company-map__card p { max-width: none; margin: 0; color: #102f33; font-size: clamp(19.52px,2.1vw,28.48px); font-weight: 750; line-height: 1.34; text-wrap: balance; }
.yumin-company-page .yumin-company-map__card strong { color: #00928e; font-weight: 800; background: linear-gradient(transparent 68%,#d9f2ee 68%); }
.yumin-company-page .yumin-company-map__visual { position: relative; margin: clamp(36px,4.5vw,64px) 0 0; }
.yumin-company-page .yumin-company-map__visual img { width: 100%; height: auto; }
.yumin-company-map .yumin-map-banner-art { flex: 0 0 auto; width: clamp(96px,10vw,132px); height: auto; }
.yumin-map-banner-route { fill: none; stroke: #d9f2ee; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 1 7; }
.yumin-map-banner-hub { fill: #00928e; }
.yumin-map-banner-ring { fill: none; stroke: #00928e; stroke-width: 2.5; opacity: .55; }
.yumin-map-banner-dot { fill: #fff; stroke: #00928e; stroke-width: 2.5; transform-box: fill-box; transform-origin: center; animation: yumin-map-dot 2.6s cubic-bezier(.16,1,.3,1) infinite; }
.yumin-map-overlay { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.yumin-map-overlay .mk { pointer-events: auto; cursor: pointer; }
.yumin-map-core { fill: #fff; stroke: #ffffff8c; stroke-width: 3; transform-box: fill-box; transform-origin: center; transition: transform .35s cubic-bezier(.16,1,.3,1); filter: drop-shadow(0 0 6px #ffffff80); }
.yumin-map-overlay .mk:hover .yumin-map-core { transform: scale(1.35); }
.yumin-map-halo { fill: none; stroke: #ffffffd9; stroke-width: 2; transform-box: fill-box; transform-origin: center; animation: yumin-map-ping 3.2s cubic-bezier(.16,1,.3,1) infinite; animation-delay: var(--d,0s); }
.yumin-map-halo--2 { animation-delay: calc(var(--d,0s) + 1.6s); }
.yumin-map-burst { fill: none; stroke: #fff; stroke-width: 3; opacity: 0; transform-box: fill-box; transform-origin: center; }
.yumin-map-overlay .mk.is-firing .yumin-map-burst { animation: yumin-map-burst .9s cubic-bezier(.16,1,.3,1); }
.yumin-map-pulse { fill: none; stroke: #fff; stroke-width: 3.5; stroke-linecap: round; stroke-dasharray: 16 184; stroke-dashoffset: 16; opacity: .95; filter: drop-shadow(0 0 7px #ffffffe6); animation: yumin-map-comet 5.2s linear infinite; animation-delay: var(--pd,0s); }
.yumin-map-overlay .mk:hover .yumin-map-pulse { animation-duration: 2.4s; }
@keyframes yumin-map-dot { 50% { transform: scale(1.7); opacity: .55; } }
@keyframes yumin-map-ping { 0% { transform: scale(.6); opacity: .9; } 70%,100% { transform: scale(3); opacity: 0; } }
@keyframes yumin-map-burst { from { transform: scale(.6); opacity: .95; } to { transform: scale(4.2); opacity: 0; } }
@keyframes yumin-map-comet { 0% { stroke-dashoffset: 16; opacity: 0; } 6% { opacity: .95; } 58% { stroke-dashoffset: -186; opacity: .95; } 60%,100% { stroke-dashoffset: -186; opacity: 0; } }
@media (max-width:1080px) {
    .yumin-company-page .yumin-company-intro__row,
    .yumin-company-page .yumin-company-intro__row + .yumin-company-intro__row { grid-template-columns: 1fr; }
    .yumin-company-page .yumin-company-intro__panel,
    .yumin-company-page .yumin-company-intro__panel--light { margin: clamp(-56px,-6vw,-36px) clamp(18px,5vw,44px) 0; }
    .yumin-company-page .yumin-company-intro__row--reverse .yumin-company-intro__media { order: -1; }
    .yumin-company-page .yumin-company-strength__grid { grid-template-columns: 1fr; gap: clamp(26px,4vw,40px); }
    .yumin-company-page .yumin-company-strength__media { aspect-ratio: 16 / 10; }
}
@media (max-width:900px) {
    .yumin-company-page :is(.yumin-company-hero--overview, .yumin-company-hero--factory, .yumin-page-hero--global-presence) { min-height: 520px; padding: 122px 0 56px; }
    .yumin-company-page :is(.yumin-company-hero--overview, .yumin-company-hero--factory, .yumin-page-hero--global-presence) .yumin-page-hero__inner { min-height: 342px; }
    .yumin-company-page :is(.yumin-company-hero--overview, .yumin-company-hero--factory, .yumin-page-hero--global-presence) .yumin-page-hero__content { width: 100%; }
    .yumin-company-page :is(.yumin-company-hero--overview, .yumin-company-hero--factory, .yumin-page-hero--global-presence) .yumin-page-hero__veil { background: linear-gradient(178deg,#00655d,#00928e 22%,#00928ee0 44%,#00928e7a 66%,#00928e29 84%,#00928e0a); }
}
@media (max-width:640px) {
    .yumin-company-page.yumin-company-page--overview :is(.yumin-company-intro, .yumin-company-strength) > .yumin-container,
    .yumin-company-page .yumin-container,
    .yumin-company-page :is(.yumin-company-hero--overview, .yumin-company-hero--factory, .yumin-page-hero--global-presence) .yumin-page-hero__inner,
    .yumin-company-page .yumin-company-video__content { width: calc(100% - 40px); }
    .yumin-company-page .yumin-company-intro__panel,
    .yumin-company-page .yumin-company-intro__panel--light { margin: -34px 14px 0; }
    .yumin-company-page .yumin-company-intro__row--reverse .yumin-company-intro__panel { order: 1; }
    .yumin-company-page .yumin-company-video__stage { min-height: 440px; }
    .yumin-company-page .yumin-company-video__play { width: 64px; height: 64px; }
    .yumin-company-page.yumin-company-page--overview .yumin-company-rnd { grid-template-columns: 1fr; }
    .yumin-company-page .yumin-company-rnd__card { padding: 64px 20px; }
    .yumin-company-page .yumin-company-rnd__media { min-height: 320px; }
    .yumin-company-page .yumin-company-map__card { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: -44px; padding: 26px 22px; }
    .yumin-company-map .yumin-map-banner-art { width: 76px; }
}
@media (prefers-reduced-motion:reduce) {
    .yumin-company-page .yumin-company-intro__media img,
    .yumin-company-page .yumin-company-strength__media img,
    .yumin-company-page .yumin-company-video__poster,
    .yumin-company-page .yumin-company-video__play,
    .yumin-company-page .yumin-company-video__close,
    .yumin-company-map svg * { animation: none; transition: none; }
    .yumin-company-page .yumin-company-intro__row:hover img,
    .yumin-company-page .yumin-company-strength__media:hover img,
    .yumin-company-page .yumin-company-video__stage:hover .yumin-company-video__poster,
    .yumin-company-page .yumin-company-video__play:hover { transform: none; }
    .yumin-map-pulse { stroke-dasharray: none; opacity: .4; }
    .yumin-map-halo { opacity: 0; }
}

/* 说明卡的负边距只作用于卡片自身，地图容器保留完整的外部定位基准。 */
.yumin-company-page .yumin-company-map > .yumin-v4-container { display: flow-root; }
