:root {
  --gold: #f6b51d;
  --gold-deep: #f0a900;
  --ink: #101010;
  --muted: #99999a;
  --paper: #fff;
  --design-width: 2000;
  --motion: cubic-bezier(.22,.72,.22,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
button, input { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.scroll-progress { position:fixed; inset:0 0 auto; height:3px; z-index:120; pointer-events:none; background:transparent; }
.scroll-progress span { display:block; width:0; height:100%; background:var(--gold); transform-origin:left center; }

.culture-original-header {
  position: fixed;
  z-index: 100;
  top: clamp(18px, 2.25vw, 45px);
  left: 50%;
  transform: translateX(-50%);
  width: min(90%, 1800px);
  min-height: clamp(32px, 2.35vw, 47px);
  display: flex;
  align-items: center;
  gap: 0;
  color: #2b2b2b;
  transition: background .28s ease, box-shadow .28s ease, top .28s ease, padding .28s ease;
}
.culture-original-header.is-scrolled {
  top: 0;
  width: min(100%, 2000px);
  min-height: 82px;
  padding: 16px max(5%, calc((100% - 1800px) / 2));
  background: rgba(255,255,255,.92);
  box-shadow: 0 8px 28px rgba(0,0,0,.045);
  backdrop-filter: blur(16px);
}
.brand { display:block; flex:0 0 auto; width:clamp(84px, 5.75vw, 115px); }
.brand img { width:100%; height:auto; }
.primary-nav { display:flex; align-items:center; gap:clamp(12px, 1.2vw, 24px); margin-left:clamp(45px, 7.8vw, 156px); white-space:nowrap; }
.nav-link {
  position:relative;
  display:inline-flex;
  align-items:center;
  height:clamp(32px, 2.35vw, 47px);
  font-size:clamp(11px, .7vw, 14px);
  letter-spacing:.015em;
  transition:color .25s ease;
}
.nav-link::after {
  content:"";
  position:absolute;
  left:0; right:0; bottom:2px;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s var(--motion);
}
.nav-link:hover, .nav-link.is-active { color:#111; }
.nav-link:hover::after, .nav-link.is-active::after { transform:scaleX(1); }
.header-tools { display:flex; align-items:center; gap:clamp(10px, 1vw, 20px); margin-left:auto; white-space:nowrap; }
.header-tool, .icon-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0; border:0; background:transparent; cursor:pointer; color:#3a3a3a; font-size:clamp(10px,.68vw,14px); transition:color .2s ease, transform .2s ease; }
.header-tool:hover, .icon-button:hover { color:var(--gold-deep); }
.header-tool svg, .icon-button svg { width:clamp(13px,.9vw,18px); height:clamp(13px,.9vw,18px); fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.language-tool { border:0; background:none; cursor:pointer; padding:5px 0; }
.menu-toggle { width:20px; height:24px; flex-direction:column; justify-content:center; gap:4px; }
.menu-toggle span { width:16px; height:1px; background:currentColor; display:block; transition:transform .25s ease, width .25s ease; }
.menu-toggle:hover span:nth-child(2) { width:11px; }
.search-panel {
  display:none;
  position:absolute;
  top:calc(100% + 18px);
  right:0;
  width:min(470px, 72vw);
  padding:16px;
  background:rgba(255,255,255,.98);
  box-shadow:0 14px 40px rgba(0,0,0,.12);
  border:1px solid rgba(0,0,0,.05);
  grid-template-columns:1fr auto auto;
  gap:8px;
}
.search-panel.is-open { display:grid; }
.search-panel input { min-width:0; border:0; border-bottom:1px solid #ddd; padding:10px 4px; background:transparent; outline:none; }
.search-panel input:focus { border-color:var(--gold); }
.search-panel button { border:0; background:var(--gold); padding:8px 14px; cursor:pointer; }
.search-panel .search-close { background:#f0f0f0; padding:4px 10px; font-size:20px; line-height:1; }
.search-feedback { grid-column:1/-1; margin:0; color:#777; font-size:12px; }
.menu-toggle { display:none; }

.page-shell { width:100%; max-width:2000px; margin:0 auto; overflow:hidden; background:#fff; }
.stage { position:relative; width:100%; margin:0 auto; overflow:hidden; isolation:isolate; background:#fff; }
.profile-stage { aspect-ratio:2000 / 1124; }
.culture-stage { aspect-ratio:2000 / 1131; }
.milestones-stage { aspect-ratio:2000 / 1126; }
.honors-stage { aspect-ratio:2000 / 1125; }
.news-stage { aspect-ratio:2000 / 2206; }
.stage-layer { position:absolute; display:block; height:auto; max-width:none; pointer-events:none; user-select:none; }
.profile-pattern { left:0; top:0; width:100%; height:77.7%; object-fit:cover; z-index:-2; }
.profile-decoration { left:0; top:0; width:39.15%; height:63.17%; object-fit:fill; z-index:-1; }
.section-title-cn, .section-title-en { position:absolute; left:4.9%; z-index:3; margin:0; color:#090909; }
.section-title-cn { font-size:clamp(30px,3.2vw,64px); font-weight:700; letter-spacing:-.055em; line-height:1.15; }
.section-title-en { font-family:"Helvetica Neue", Arial, sans-serif; font-size:clamp(27px,2.9vw,58px); font-weight:300; letter-spacing:-.055em; line-height:1.12; transform:scaleX(1.22); transform-origin:left top; }
.profile-title-cn { top:19.85%; }
.profile-title-en { top:27.8%; }
.profile-building { position:absolute; z-index:2; left:11.2%; top:25.98%; width:34.7%; height:63.35%; object-fit:cover; object-position:center; transition:transform .65s var(--motion), filter .5s ease; }
.profile-building:hover { transform:translateY(-5px) scale(1.008); filter:saturate(1.04); }
.profile-stats { position:absolute; z-index:3; left:49.6%; top:28.0%; width:41%; display:grid; grid-template-columns:1fr 1.12fr 1.12fr 1.4fr; column-gap:1.05%; }
.stat-item { display:flex; flex-direction:column; min-width:0; color:var(--gold); }
.stat-item strong { font-size:clamp(22px,2.1vw,42px); line-height:1.08; font-weight:700; white-space:nowrap; letter-spacing:-.04em; }
.stat-item strong span { font-size:.62em; letter-spacing:0; }
.stat-item small { margin-top:.35em; font-size:clamp(10px,.95vw,19px); line-height:1.4; color:#e0b24b; white-space:nowrap; }
.stock-code { position:absolute; z-index:3; left:49.8%; top:40.45%; margin:0; font-size:clamp(16px,1.55vw,31px); color:#929292; font-weight:600; letter-spacing:.02em; }
.profile-copy { position:absolute; z-index:3; left:49.85%; top:48.65%; width:39.2%; color:#9b9b9b; font-size:clamp(12px,1.02vw,20.5px); line-height:1.9; letter-spacing:.005em; }
.profile-copy p { margin:0 0 1.35em; }

.culture-title-cn { top:16.4%; }
.culture-title-en { top:24.25%; }
.culture-grid { position:absolute; left:4.8%; top:34.75%; width:90.4%; height:56.85%; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.45%; }
.culture-card { position:relative; overflow:hidden; min-width:0; color:#fff; background:#d9d9d9; isolation:isolate; transform:translateZ(0); }
.culture-card > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .75s var(--motion), filter .6s ease; }
.culture-card .culture-shade { position:absolute; inset:0; z-index:1; pointer-events:none; transition:opacity .45s ease; }
.culture-card::after {
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(145deg,rgba(255,174,0,.78),rgba(255,173,0,.9));
  content:"";
  opacity:0;
  pointer-events:none;
  transition:opacity .4s ease;
}
.vision-card .culture-shade { background:linear-gradient(180deg,rgba(13,32,48,.10) 0%,rgba(0,0,0,.02) 45%,rgba(0,0,0,.72) 100%); }
.mission-card .culture-shade { background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.08) 55%,rgba(0,0,0,.63) 100%); }
.philosophy-card .culture-shade { background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.08) 55%,rgba(0,0,0,.63) 100%); }
.values-card .culture-shade { background:linear-gradient(180deg,rgba(5,24,44,.45),rgba(0,0,0,.65)); }
.culture-card:hover > img { transform:scale(1.055); filter:saturate(1.08); }
.culture-card:hover .culture-shade { opacity:.9; }
.culture-card:hover::after { opacity:1; }
.culture-card-heading { position:absolute; z-index:2; left:5%; top:4.2%; }
.culture-card-heading h3 { margin:0 0 2px; font-size:clamp(19px,1.65vw,33px); line-height:1.25; font-weight:700; }
.culture-card-heading p { margin:0; font-family:"Helvetica Neue",Arial,sans-serif; font-weight:300; font-size:clamp(18px,1.5vw,30px); line-height:1.05; letter-spacing:-.04em; }
.culture-card-copy { position:absolute; z-index:2; left:5%; right:5%; bottom:4.2%; margin:0; font-size:clamp(11px,.95vw,19px); line-height:1.65; font-weight:400; }
.mission-card .culture-card-heading { top:4.2%; }
.mission-card .culture-card-copy { top:auto; bottom:4.2%; }
.philosophy-card .culture-card-copy { bottom:4.2%; }
.values-card .culture-card-copy { bottom:8%; left:9%; line-height:1.55; }

.milestones-background { left:0; top:-48.1%; width:100%; height:auto; opacity:1; z-index:0; }
.milestones-title-cn { top:16.5%; }
.milestones-title-en { top:24.25%; }
.milestones-intro { position:absolute; z-index:2; left:5.15%; top:35.3%; width:38%; margin:0; color:#8d8d8d; font-size:clamp(16px,1.3vw,26px); font-weight:600; line-height:1.65; }
.milestone-arrow { position:absolute; z-index:1; left:4.4%; top:17.6%; width:88%; height:77%; max-width:none; object-fit:fill; opacity:1; pointer-events:none; }
.timeline { position:absolute; z-index:2; inset:0; }
.timeline-founded { position:absolute; left:5%; top:54.4%; width:18.9%; min-height:6.2%; padding:.65% 1.2% .55% 1.7%; background:linear-gradient(90deg,rgba(255,194,52,.55),rgba(255,222,143,.20) 74%,rgba(255,255,255,0)); border-left:4px solid var(--gold); color:#171717; }
.timeline-founded h3 { margin:0 0 .15em; font-size:clamp(16px,1.05vw,21px); line-height:1.25; font-weight:700; }
.timeline-founded strong { display:block; font-size:clamp(15px,.95vw,19px); line-height:1.35; font-weight:700; }
.timeline-detail { position:absolute; left:5%; top:62.8%; width:18.9%; min-height:14.6%; padding:1.05% 1.2% 1% 1.7%; background:linear-gradient(90deg,rgba(255,194,52,.55),rgba(255,222,143,.20) 74%,rgba(255,255,255,0)); border-left:4px solid var(--gold); color:#171717; }
.timeline-dot { position:absolute; width:12px; height:12px; border-radius:50%; background:var(--gold); left:-8px; top:-6px; }
.timeline-detail h3 { margin:0 0 .25em; font-size:clamp(16px,1.05vw,21px); line-height:1.3; font-weight:700; }
.timeline-detail strong { display:block; font-size:clamp(15px,.95vw,19px); line-height:1.45; font-weight:700; }
.timeline-detail p { margin:.75em 0 0; font-size:clamp(13px,.8vw,16px); line-height:1.55; font-weight:500; }
.timeline-step { position:absolute; min-width:8.2%; color:#111; }
.timeline-step .year-strip { display:block; width:100%; padding:.06em .18em .1em; background:linear-gradient(90deg,rgba(174,174,174,.92),rgba(204,204,204,.58) 68%,rgba(255,255,255,0)); font-size:clamp(18px,1.35vw,27px); font-weight:700; line-height:1.22; }
.timeline-step h3 { margin:.12em 0 0; font-size:clamp(18px,1.25vw,25px); font-weight:800; line-height:1.28; white-space:nowrap; }
.step-2006 { left:20.4%; top:72.1%; width:8.2%; }
.step-2007 { left:23.5%; top:63%; width:10.6%; }
.step-2010 { left:33.35%; top:54%; width:11.9%; }
.step-2014 { left:46.05%; top:45%; width:12.2%; }
.step-2018 { left:59%; top:35.6%; width:16.5%; }
.step-2023 { left:75.15%; top:26%; width:12.7%; }
.step-2025 { left:81.65%; top:19.4%; width:11.5%; }
.timeline-origin { position:absolute; left:5%; top:79%; width:17.75%; height:12.8%; color:#fff; }
.timeline-origin img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.timeline-origin strong { position:absolute; left:3%; top:31%; font-size:clamp(25px,2.4vw,48px); line-height:1; font-weight:600; letter-spacing:-.05em; }
.timeline-origin span { position:absolute; left:2%; top:104%; color:var(--gold-deep); font-size:clamp(16px,1.15vw,23px); font-weight:700; white-space:nowrap; }

.honors-background { left:5.25%; top:.3%; width:94.55%; height:99.7%; object-fit:cover; z-index:-1; }
.honors-title-cn { top:16.8%; }
.honors-title-en { top:24.6%; }
.honor-carousel { position:absolute; left:0; right:0; top:34.3%; height:48.8%; overflow:hidden; cursor:grab; touch-action:pan-y; user-select:none; }
.honor-carousel.is-dragging { cursor:grabbing; }
.honor-carousel.is-dragging .honor-track { transition:none; }
.honor-track { position:absolute; left:-18.35%; top:0; height:100%; display:flex; align-items:center; gap:2.7%; transition:left .65s var(--motion), transform .65s var(--motion); will-change:left,transform; }
.honor-card { position:relative; flex:0 0 24.6%; height:89.3%; background:rgba(241,242,245,.84); padding:2.4% 1.55% 1.5%; display:flex; flex-direction:column; justify-content:flex-start; transition:transform .55s var(--motion), background .35s ease, box-shadow .35s ease; transform-origin:center center; }
.honor-card img { width:100%; height:72%; object-fit:contain; flex:0 0 auto; pointer-events:none; }
.honor-card-rule { width:100%; height:2px; background:#efbd34; margin:4.4% 0 3.5%; }
.honor-card h3 { margin:0; font-size:clamp(22px,1.3vw,26px); line-height:1.4; font-weight:600; color:#111; }
.honor-card.is-active { transform:scale(1.12); z-index:2; background:rgba(238,239,242,.92); box-shadow:0 14px 32px rgba(0,0,0,.04); }
.honor-card:not(.is-active):hover { transform:scale(1.035); z-index:3; }
.honor-controls { position:absolute; left:35.8%; top:90.3%; width:28.4%; display:flex; align-items:center; justify-content:center; gap:clamp(14px,1.1vw,22px); }
.honor-tabs { display:flex; align-items:center; justify-content:center; gap:clamp(16px,1.3vw,26px); white-space:nowrap; }
.honor-tabs button { padding:4px 0; border:0; background:transparent; color:#8f8f8f; font-size:clamp(18px,1.2vw,24px); font-weight:500; cursor:pointer; transition:color .2s ease; }
.honor-tabs button:hover, .honor-tabs button.is-active { color:#222; font-weight:700; }
.carousel-arrow { width:clamp(22px,1.6vw,32px); height:clamp(28px,1.9vw,38px); border:0; padding:0; background:transparent; color:var(--gold); cursor:pointer; display:grid; place-items:center; }
.arrow-left, .arrow-right, .arrow-up { width:11px; height:11px; display:block; border-top:2px solid currentColor; border-right:2px solid currentColor; transition:transform .2s ease; }
.arrow-left { transform:rotate(-135deg); }
.arrow-right { transform:rotate(45deg); }
.arrow-up { transform:rotate(-45deg); }
.carousel-arrow:hover .arrow-left { transform:translateX(-3px) rotate(-135deg); }
.carousel-arrow:hover .arrow-right { transform:translateX(3px) rotate(45deg); }

.news-background { left:36.35%; top:0; width:63.45%; height:51.05%; object-fit:cover; z-index:-1; }
.news-title-cn { top:7.55%; }
.news-title-en { top:11.55%; }
.news-category-tools { position:absolute; left:52%; right:3.8%; top:11.3%; display:flex; align-items:center; justify-content:flex-end; gap:2.1%; }
.news-category-tabs { display:flex; align-items:center; gap:clamp(18px,1.15vw,23px); white-space:nowrap; }
.news-category-tabs button { border:0; background:transparent; padding:7px 0; color:#b9b9b9; font-size:clamp(13px,.9vw,18px); cursor:pointer; transition:color .2s ease; }
.news-category-tabs button:hover, .news-category-tabs button.is-active { color:#444; font-weight:600; }
.news-arrows { display:flex; align-items:center; gap:clamp(8px,.5vw,10px); }
.news-arrows button { width:clamp(32px,2.8vw,56px); height:clamp(32px,2.8vw,56px); border:2px solid #e9b72e; border-radius:50%; display:grid; place-items:center; color:#e8b52b; background:rgba(255,255,255,.12); cursor:pointer; transition:background .25s ease, color .25s ease, transform .25s ease; }
.news-arrows button:hover { background:var(--gold); color:white; transform:scale(1.04); }
.news-year-tabs { position:absolute; left:6.95%; top:25.25%; display:flex; align-items:center; gap:clamp(20px,1.45vw,29px); }
.news-year-tabs button { border:0; background:transparent; color:#b4b4b4; padding:5px 0; font-size:clamp(13px,.9vw,18px); cursor:pointer; transition:color .2s ease; }
.news-year-tabs button:hover, .news-year-tabs button.is-active { color:var(--gold-deep); }
.news-list { position:absolute; left:6.6%; top:29.46%; width:90.1%; height:61.2%; display:grid; grid-template-rows:repeat(3,minmax(0,1fr)); row-gap:7.2%; }
.news-list.is-switching { animation:news-content-switch .38s var(--motion); }
@keyframes news-content-switch {
  from { opacity:.25; transform:translateY(12px); }
  to { opacity:1; transform:translateY(0); }
}
.news-card { position:relative; display:grid; grid-template-columns:1fr 1fr; min-width:0; min-height:0; overflow:hidden; background:#e5e5e5; transition:transform .4s var(--motion), box-shadow .4s ease; }
.news-card:hover { z-index:2; transform:translateY(-4px); box-shadow:0 15px 36px rgba(0,0,0,.10); }
.news-card-photo { width:100%; height:100%; min-height:0; object-fit:cover; transition:transform .75s var(--motion), filter .45s ease; }
.news-card:hover .news-card-photo { transform:scale(1.035); filter:saturate(1.06); }
.news-card-copy { position:relative; min-width:0; padding:4.4% 3.2% 3%; background:#e4e4e4; color:#484848; display:flex; flex-direction:column; align-items:flex-start; transition:background .35s ease,color .35s ease; }
.news-card:hover .news-card-copy,
.news-card.is-expanded .news-card-copy { background:#f8b416 url("../assets/corporate-culture/news-orange-panel.png") center/cover no-repeat; color:#76571b; }
.news-card-copy h3 { margin:0; font-size:clamp(19px,1.3vw,26px); line-height:1.55; font-weight:700; }
.news-card:hover .news-card-copy h3,
.news-card.is-expanded .news-card-copy h3 { display:none; }
.news-summary { margin:0; max-width:94%; font-size:clamp(14px,.9vw,18px); line-height:1.75; color:inherit; }
.news-card-copy time { position:absolute; left:3.2%; bottom:7.5%; font-family:"Helvetica Neue",Arial,sans-serif; font-size:clamp(16px,1vw,20px); color:inherit; }
.news-expand { position:absolute; right:4.2%; top:37%; width:clamp(24px,2.2vw,44px); height:clamp(24px,2.2vw,44px); border:0; background:transparent; padding:0; cursor:pointer; color:#252525; transition:transform .25s ease, color .25s ease; }
.news-expand span { position:absolute; left:50%; top:50%; width:100%; height:1.5px; background:currentColor; transform:translate(-50%,-50%); }
.news-expand span:nth-child(2) { transform:translate(-50%,-50%) rotate(90deg); }
.news-expand:hover { transform:rotate(90deg); color:#fff; }
.news-expand[aria-expanded="true"] { transform:rotate(45deg); }
.news-extra { display:none; margin:0; padding-right:16%; font-size:clamp(13px,.82vw,16px); line-height:1.75; }
.news-card:hover .news-extra, .news-card.is-expanded .news-extra { display:block; }
.news-card.is-expanded .news-card-copy time { bottom:5%; }
.news-empty { position:absolute; left:6.6%; right:6.6%; top:31%; padding:50px 20px; text-align:center; color:#999; background:#f7f7f7; }
.pagination { position:absolute; left:0; right:0; top:95.8%; display:flex; justify-content:center; align-items:center; gap:clamp(18px,1.35vw,27px); color:#aaa; }
.pagination button { border:0; background:transparent; color:inherit; padding:5px 0; cursor:pointer; font-size:clamp(13px,.9vw,18px); transition:color .2s ease, transform .2s ease; }
.pagination button:hover { color:var(--gold); transform:translateY(-2px); }
.pagination button.is-active { color:var(--gold-deep); }
.pagination span { font-size:clamp(13px,.9vw,18px); }

.back-to-top { position:fixed; right:28px; bottom:28px; z-index:80; width:44px; height:44px; border:1px solid rgba(241,174,20,.7); border-radius:50%; display:grid; place-items:center; color:var(--gold-deep); background:rgba(255,255,255,.9); box-shadow:0 5px 20px rgba(0,0,0,.08); opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .25s ease, visibility .25s ease, transform .25s ease, background .25s ease; cursor:pointer; }
.back-to-top.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover { color:#fff; background:var(--gold); }
.toast { position:fixed; z-index:150; left:50%; bottom:32px; transform:translate(-50%,14px); padding:12px 20px; color:#fff; background:rgba(30,30,30,.88); font-size:14px; border-radius:2px; opacity:0; visibility:hidden; transition:opacity .25s ease,transform .25s ease,visibility .25s ease; pointer-events:none; }
.toast.is-visible { opacity:1; visibility:visible; transform:translate(-50%,0); }

.js-ready [data-reveal] { opacity:0; transform:translateY(38px); transition:opacity .8s var(--motion), transform .9s var(--motion); will-change:opacity,transform; }
.js-ready [data-reveal].is-visible { opacity:1; transform:translateY(0); }
.js-ready .culture-card:nth-child(2) { transition-delay:.06s; }
.js-ready .culture-card:nth-child(3) { transition-delay:.12s; }
.js-ready .culture-card:nth-child(4) { transition-delay:.18s; }
.js-ready .timeline-step:nth-of-type(3) { transition-delay:.04s; }
.js-ready .timeline-step:nth-of-type(4) { transition-delay:.08s; }
.js-ready .timeline-step:nth-of-type(5) { transition-delay:.12s; }
.js-ready .timeline-step:nth-of-type(6) { transition-delay:.16s; }
.js-ready .timeline-step:nth-of-type(7) { transition-delay:.20s; }
.js-ready .timeline-step:nth-of-type(8) { transition-delay:.24s; }

@media (max-width: 1200px) and (min-width: 901px) {
  .primary-nav { margin-left:4.2vw; gap:1vw; }
  .header-tools { gap:.65vw; }
  .phone-tool span { letter-spacing:-.02em; }
  .member-tool span { display:none; }
  .profile-copy { line-height:1.7; }
  .culture-card-copy { line-height:1.45; }
}

@media (max-width: 900px) {
  html { scroll-padding-top:82px; }
  .culture-original-header, .culture-original-header.is-scrolled { top:0; width:100%; min-height:68px; padding:10px 5vw; background:rgba(255,255,255,.94); box-shadow:0 4px 20px rgba(0,0,0,.06); backdrop-filter:blur(14px); }
  .brand { width:104px; }
  .primary-nav { display:none; position:absolute; top:calc(100% + 8px); left:5vw; right:5vw; margin:0; padding:12px 18px; flex-direction:column; align-items:stretch; gap:0; background:#fff; box-shadow:0 15px 38px rgba(0,0,0,.12); }
  .primary-nav.is-open { display:flex; }
  .nav-link { height:auto; padding:13px 0; font-size:14px; border-bottom:1px solid #f1f1f1; }
  .nav-link::after { bottom:0; right:auto; width:42px; }
  .header-tools { gap:15px; }
  .phone-tool, .member-tool { display:none; }
  .language-tool { font-size:12px; }
  .menu-toggle { display:flex; }
  .search-panel { top:calc(100% + 8px); right:5vw; width:90vw; }
  .page-shell { overflow:hidden; }
  .stage { aspect-ratio:auto; height:auto; padding:112px 6vw 64px; overflow:hidden; }
  .section-title-cn, .section-title-en { position:relative; left:auto; top:auto; }
  .section-title-cn { font-size:clamp(30px,6vw,48px); letter-spacing:-.04em; }
  .section-title-en { margin-top:2px; font-size:clamp(26px,5.2vw,42px); letter-spacing:-.045em; transform:none; }
  .profile-stage { display:flex; flex-direction:column; align-items:stretch; gap:16px; padding-top:125px; }
  .profile-pattern { top:0; left:0; width:100%; height:360px; object-fit:cover; }
  .profile-decoration { width:50%; height:290px; object-fit:cover; }
  .profile-title-cn { margin-top:4px; }
  .profile-title-en { margin-bottom:4px; }
  .profile-building { position:relative; left:auto; top:auto; width:min(100%,520px); height:auto; aspect-ratio:694/712; align-self:center; object-fit:cover; }
  .profile-stats { position:relative; left:auto; top:auto; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; margin:8px 0; }
  .stat-item strong { font-size:clamp(25px,6vw,36px); }
  .stat-item small { font-size:12px; }
  .stock-code { position:relative; left:auto; top:auto; font-size:18px; margin-top:4px; }
  .profile-copy { position:relative; left:auto; top:auto; width:100%; font-size:14px; line-height:1.9; }
  .profile-copy p { margin-bottom:1em; }
  .culture-stage { padding-top:90px; }
  .culture-grid { position:relative; left:auto; top:auto; width:100%; height:auto; margin-top:28px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .culture-card { aspect-ratio:2/3; min-height:260px; }
  .culture-card-heading h3 { font-size:clamp(18px,3.5vw,24px); }
  .culture-card-heading p { font-size:clamp(17px,3.2vw,22px); }
  .culture-card-copy { font-size:clamp(11px,2.3vw,14px); line-height:1.6; }
  .mission-card .culture-card-heading { top:4.2%; }
  .mission-card .culture-card-copy { top:auto; bottom:4.2%; }
  .milestones-stage { padding-top:90px; }
  .milestones-background { top:0; width:140%; left:-20%; height:100%; object-fit:cover; opacity:.9; }
  .milestone-arrow { display:none; }
  .milestones-intro { position:relative; left:auto; top:auto; width:100%; margin-top:20px; font-size:14px; line-height:1.8; }
  .desktop-break { display:none; }
  .timeline { position:relative; inset:auto; display:flex; flex-direction:column; gap:14px; margin-top:30px; padding-left:18px; border-left:2px solid rgba(246,181,29,.65); }
  .timeline-founded, .timeline-detail, .timeline-step, .timeline-origin { position:relative; left:auto; top:auto; width:100%; min-height:0; height:auto; padding:12px 14px; background:rgba(255,255,255,.74); border-left:0; }
  .timeline-founded, .timeline-detail { background:linear-gradient(90deg,rgba(255,194,52,.3),rgba(255,255,255,.72)); }
  .timeline-dot { left:-25px; top:17px; width:12px; height:12px; }
  .timeline-founded h3 { font-size:16px; }
  .timeline-founded strong { font-size:15px; }
  .timeline-detail h3 { font-size:16px; }
  .timeline-detail strong { font-size:15px; }
  .timeline-detail p { font-size:13px; }
  .timeline-step .year-strip { font-size:19px; font-weight:700; background:linear-gradient(90deg,rgba(218,218,218,.8),transparent); }
  .timeline-step h3 { font-size:18px; font-weight:800; white-space:normal; }
  .timeline-origin { min-height:130px; padding:0; color:#fff; }
  .timeline-origin img { object-fit:cover; }
  .timeline-origin strong { left:14px; top:35%; font-size:38px; }
  .timeline-origin span { left:0; top:calc(100% + 8px); color:var(--gold-deep); font-size:18px; font-weight:700; }
  .honors-stage { padding-top:90px; }
  .honors-background { left:0; top:0; width:100%; height:100%; object-fit:cover; }
  .honor-carousel { position:relative; left:auto; right:auto; top:auto; width:100%; height:420px; margin-top:28px; overflow:hidden; }
  .honor-track { position:relative; left:0; top:0; height:100%; width:max-content; align-items:center; gap:16px; padding:10px 0; }
  .honor-card, .honor-card.is-active { flex:0 0 min(80vw,400px); width:min(80vw,400px); height:360px; padding:18px; transform:none; box-shadow:none; }
  .honor-card.is-active { box-shadow:0 12px 32px rgba(0,0,0,.08); }
  .honor-card img { width:100%; height:250px; object-fit:contain; }
  .honor-card-rule { margin:14px 0 10px; }
  .honor-card h3 { font-size:15px; }
  .honor-controls { position:relative; left:auto; top:auto; width:100%; margin:18px auto 0; gap:14px; }
  .honor-tabs { gap:18px; }
  .honor-tabs button { font-size:13px; }
  .news-stage { padding-top:90px; padding-bottom:60px; }
  .news-background { left:0; top:0; width:100%; height:420px; object-fit:cover; }
  .news-category-tools { position:relative; left:auto; right:auto; top:auto; justify-content:space-between; gap:10px; margin-top:24px; }
  .news-category-tabs { gap:clamp(12px,3vw,22px); }
  .news-category-tabs button { font-size:13px; }
  .news-arrows { gap:6px; }
  .news-arrows button { width:34px; height:34px; }
  .news-year-tabs { position:relative; left:auto; top:auto; flex-wrap:wrap; gap:20px; margin-top:24px; }
  .news-year-tabs button { font-size:14px; }
  .news-list { position:relative; left:auto; top:auto; width:100%; height:auto; display:flex; flex-direction:column; gap:18px; margin-top:18px; }
  .news-card { display:flex; flex-direction:column; height:auto; min-height:0; }
  .news-card-photo { width:100%; height:auto; aspect-ratio:902/385; object-fit:cover; }
  .news-card-copy { min-height:190px; padding:18px 18px 52px; }
  .news-card-copy h3 { font-size:17px; }
  .news-summary { font-size:12px; line-height:1.8; }
  .news-card-copy time { left:18px; bottom:16px; font-size:14px; }
  .news-expand { right:16px; top:auto; bottom:13px; width:28px; height:28px; }
  .news-extra { font-size:12px; padding-right:0; }
  .news-empty { position:relative; left:auto; right:auto; top:auto; margin-top:18px; padding:35px 20px; }
  .pagination { position:relative; left:auto; right:auto; top:auto; margin-top:28px; gap:22px; }
  .pagination button, .pagination span { font-size:14px; }
  .back-to-top { right:16px; bottom:16px; width:40px; height:40px; }
}

@media (max-width: 520px) {
  .stage { padding-left:5vw; padding-right:5vw; }
  .culture-grid { grid-template-columns:1fr; gap:14px; }
  .culture-card { aspect-ratio:4/5; min-height:0; }
  .culture-card-heading h3 { font-size:22px; }
  .culture-card-heading p { font-size:21px; }
  .culture-card-copy { font-size:14px; }
  .mission-card .culture-card-heading { top:4.2%; }
  .mission-card .culture-card-copy { top:auto; bottom:4.2%; }
  .honor-carousel { height:380px; }
  .honor-card, .honor-card.is-active { height:330px; }
  .honor-card img { height:225px; }
  .honor-controls { gap:8px; }
  .honor-tabs { gap:12px; }
  .honor-tabs button { font-size:12px; }
  .news-category-tabs { gap:10px; }
  .news-category-tabs button { font-size:12px; }
  .news-arrows button { width:30px; height:30px; }
  .pagination { gap:18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .js-ready [data-reveal] { opacity:1; transform:none; }
}

/* Percent-based card sizes are expressed in viewport units so the carousel scales with the PSD canvas. */
@media (min-width: 901px) {
  .honor-track { gap:min(2.7vw,54px); }
  .honor-card { flex-basis:min(24.6vw,492px); }
  .honor-card.is-active { flex-basis:min(27.6vw,552px); }
  .news-card[hidden], #news-list[hidden], .news-empty[hidden] { display:none !important; }
}
@media (max-width: 900px) {
  .news-card[hidden], #news-list[hidden], .news-empty[hidden] { display:none !important; }
}

/* Keep the navigation dimensions aligned with the reference header while scrolling. */
.scroll-progress { display:none; }
.culture-original-header.is-scrolled {
  top:clamp(18px, 2.25vw, 45px);
  width:min(90%, 1800px);
  min-height:clamp(32px, 2.35vw, 47px);
  padding:0;
  background:rgba(255,255,255,.2);
  box-shadow:none;
  backdrop-filter:blur(5px);
}
.menu-toggle { display:flex; }
.news-summary { font-size:clamp(14px,.9vw,18px); }
.back-to-top { display:none !important; }
@media (max-width: 900px) {
  .culture-original-header.is-scrolled { top:0; width:100%; min-height:68px; padding:10px 5vw; background:rgba(255,255,255,.94); box-shadow:0 4px 20px rgba(0,0,0,.06); }
  .menu-toggle { display:flex; }
  .news-summary { font-size:12px; }
}

/* Fine alignment of the news controls to the original 2000 px canvas. */
.news-title-cn, .news-title-en { left:6.9%; }
.news-category-tabs { gap:clamp(18px, 1.65vw, 33px); }
.news-category-tabs button { font-size:clamp(15px, 1.5vw, 30px); }
.news-arrows button { width:min(3.95vw, 79px); height:min(3.95vw, 79px); }
.news-year-tabs { gap:clamp(20px, 2.8vw, 56px); }
.news-year-tabs button { font-size:clamp(13px, 1.2vw, 24px); }
.news-card-copy { padding-left:5.4%; }
.news-card:not(.is-featured) .news-card-copy { padding-top:6.5%; }
.news-card-copy time { left:5%; bottom:13%; }
.news-expand { width:min(3.45vw,69px); height:min(3.3vw,66px); right:5.9%; }
.news-expand span { width:60%; }
@media (max-width: 900px) {
  .news-title-cn, .news-title-en { left:auto; }
  .news-category-tabs { gap:clamp(10px,3vw,22px); }
  .news-category-tabs button { font-size:13px; }
  .news-arrows button { width:34px; height:34px; }
  .news-year-tabs { gap:20px; }
  .news-year-tabs button { font-size:14px; }
  .news-card-copy { padding-left:18px; }
  .news-card:not(.is-featured) .news-card-copy { padding-top:18px; }
  .news-card-copy time { left:18px; bottom:16px; }
  .news-expand { width:28px; height:28px; right:16px; }
  .news-expand span { width:100%; }
}


/* Integration shell: shared site chrome is kept separate from the uploaded page. */
.corporate-culture-page { width: 100%; overflow: hidden; background: #fff; }
.culture-hero-frame,
.culture-footer-frame { position: relative; width: 100%; overflow: hidden; background: #fff; }
.culture-hero-frame { height: 667px; }
.culture-hero-frame .honours-hero {
  top: 0;
  left: 50%;
  width: 1920px;
  height: 667px;
  transform: translateX(-50%);
  transform-origin: top center;
}
.culture-hero-frame .honours-hero-image { width: 1920px; height: 667px; object-fit: cover; }
.culture-hero-frame .about-dropdown { height: 420px; }
.culture-import { width: 100%; background: #fff; }
.culture-import .page-shell { max-width: 2000px; }
.culture-footer-frame { height: 669px; }
.culture-footer-frame .honours-footer {
  top: 0;
  left: 50%;
  width: 1920px;
  height: 669px;
  transform: translateX(-50%);
  transform-origin: top center;
}
.culture-footer-frame .honours-footer .footer-html { height: 669px; }
@media (max-width: 900px) {
  .culture-import .profile-stage { padding-top: 90px; }
}

/* Mobile layout: keep the hero and footer in normal flow without canvas scaling. */
@media (max-width: 789px) {
  .corporate-culture-page {
    overflow: visible;
  }

  .culture-hero-frame {
    height: auto !important;
    overflow: visible;
  }

  .culture-hero-frame .honours-hero {
    position: relative !important;
    top: auto;
    left: auto !important;
    display: flex;
    width: 100% !important;
    height: auto !important;
    min-height: 520px;
    flex-direction: column;
    justify-content: flex-end;
    padding: 112px 20px 28px;
    overflow: hidden;
    transform: none !important;
    transform-origin: top left;
  }

  .culture-hero-frame .honours-hero-image {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    min-height: 520px;
    max-width: none;
    object-fit: cover;
    object-position: center;
  }

  .culture-hero-frame .about-dropdown {
    height: auto !important;
  }

  .culture-import .page-shell {
    width: 100%;
    max-width: none;
    overflow: hidden;
  }

  .culture-import .stage {
    padding: 64px 5vw 48px;
  }

  .culture-import .profile-stage {
    padding-top: 64px;
  }

  .culture-import .culture-stage,
  .culture-import .milestones-stage,
  .culture-import .honors-stage,
  .culture-import .news-stage {
    padding-top: 64px;
  }

  .culture-footer-frame {
    height: auto !important;
    overflow: visible;
  }

  .culture-footer-frame .honours-footer {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    transform: none !important;
  }

  .culture-footer-frame .honours-footer .footer-html {
    position: relative;
    display: flex;
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    padding: 46px 20px 34px;
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
  }

  .culture-footer-frame .footer-background {
    z-index: 0;
  }

  .culture-footer-frame .footer-brand-strip {
    position: relative;
    z-index: 1;
    top: auto;
    left: auto;
    width: 260px !important;
    height: 67px !important;
    max-width: none;
    margin-bottom: 30px;
    object-fit: none;
    object-position: left center;
  }

  .culture-footer-frame .footer-contact {
    position: relative;
    z-index: 1;
    top: auto;
    left: auto;
    width: 100%;
    font-size: 15px;
    line-height: 1.9;
    white-space: normal;
  }

  .culture-footer-frame .footer-contact p {
    margin: 0 0 8px;
  }

  .culture-footer-frame .footer-links {
    position: relative;
    z-index: 1;
    top: auto;
    left: auto;
    display: flex;
    width: 100%;
    height: auto;
    margin: 24px 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    font-size: 14px;
    line-height: 1.6;
    white-space: normal;
  }

  .culture-footer-frame .footer-links a {
    position: static;
    top: auto;
    left: auto;
    transform: none;
  }

  .culture-footer-frame .footer-links span {
    display: none;
  }

  .culture-footer-frame .footer-copyright {
    position: relative;
    z-index: 1;
    top: auto;
    left: auto;
    width: 100%;
    font-size: 13px;
    line-height: 1.8;
    white-space: normal;
  }

  .culture-footer-frame .footer-social {
    position: relative;
    z-index: 1;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    margin-top: 24px;
    justify-content: flex-start;
    gap: 18px;
  }
}
