/* The approved About page keeps the same navy shell and calm cyan accents. */
.about-page { --about-line:#315563; --about-muted:#9ebdcc; background:radial-gradient(ellipse at 94% 35%,#0d3543 0,transparent 57%),linear-gradient(120deg,#03121c,#061c29 62%,#082431); color:#eaf2f3; min-height:100svh; }
.about-page .site-header { height:108px; max-width:1760px; margin:auto; padding:22px 4%; border-bottom:1px solid #29445180; }
.about-page .brand { gap:14px; }
.about-page .brand-mark { width:62px; height:54px; }
.about-page .brand-copy { font-size:clamp(16px,1.5vw,24px); line-height:1.4; }
.about-brand-name { display:block; }
.about-page .brand-copy small { display:none; font-size:12px; font-weight:400; letter-spacing:.1em; }
html[lang=en] .about-page .brand-copy { font-size:clamp(15px,1.5vw,23px); letter-spacing:0; }
html[lang=en] .about-page .brand-copy small { display:block; margin-top:2px; }
.about-page .desktop-nav { gap:clamp(30px,4.9vw,78px); font-size:16px; margin-left:auto; }
.about-page .language { margin-left:clamp(18px,3.2vw,52px); }
.about-page .language a { padding-inline:18px; }
.about-page .language a.active { background:#087f8d; }
.about-main { width:min(100%,1760px); margin:auto; padding:32px max(5%,env(safe-area-inset-right,0px)) max(30px,env(safe-area-inset-bottom,0px)) max(5%,env(safe-area-inset-left,0px)); }
.about-chapters { margin:0 -1% 44px; }
.about-tabs { display:flex; align-items:center; gap:20px; max-width:880px; }
.about-tabs button { display:flex; align-items:center; justify-content:flex-start; gap:18px; flex:1 1 0; min-width:0; min-height:52px; padding:12px 15px; border:1px solid transparent; border-radius:11px; color:#9ebdca; font-size:17px; text-align:left; transition:color 200ms,background-color 200ms,border-color 200ms; }
.about-tabs button[aria-selected=true] { color:#efffff; border-color:#5bcbcf; background:linear-gradient(130deg,#21455166,#05243555); }
.about-tabs button:hover { color:#efffff; background:#1f485733; }
.chapter-number { color:#669eaf; font-size:12px; letter-spacing:.055em; flex:none; }
[aria-selected=true] .chapter-number { color:#54e4e7; }
.chapter-short { display:none; }
.about-panel { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-rows:max-content max-content max-content max-content 1fr; column-gap:clamp(38px,5vw,80px); min-width:0; outline:none; }
.about-panel>* { min-width:0; }
.about-heading { grid-column:1; grid-row:1; padding-top:9px; }
.about-heading .eyebrow { color:#52e1e7; font-size:14px; letter-spacing:.2em; margin-bottom:22px; }
.about-heading h1 { font-family:"Noto Serif SC","Songti SC",SimSun,serif; font-size:clamp(44px,4.2vw,68px); font-weight:400; line-height:1.24; letter-spacing:.015em; overflow-wrap:anywhere; }
html[lang=en] .about-heading h1 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(40px,3.55vw,57px); line-height:1.4; letter-spacing:.015em; }
.about-heading .tiny-rule { width:42px; height:3px; margin:24px 0 0; background:#59d7d7; }
.about-media { grid-column:2; grid-row:1 / 6; }
.about-photo { margin:0; width:100%; aspect-ratio:4/3; position:relative; border:1px solid #426473; border-radius:24px; background:#081d28; }
.about-photo::before,.about-photo::after { content:''; position:absolute; width:20px; height:20px; pointer-events:none; border-color:#57c9c6; border-style:solid; z-index:2; }
.about-photo::before { top:-3px; left:-3px; border-width:2px 0 0 2px; border-top-left-radius:2px; }
.about-photo::after { right:-3px; bottom:-3px; border-width:0 2px 2px 0; border-bottom-right-radius:2px; }
.about-photo>img { display:block; width:100%; height:100%; aspect-ratio:4/3; object-fit:contain; border-radius:23px; transition:opacity 200ms; }
.photo-tag { position:absolute; top:22px; left:22px; padding:9px 16px; border-radius:99px; background:#03202ef2; color:#edfaff; font-size:12px; line-height:1.25; }
.photo-caption { color:#81a4b3; font-size:12px; line-height:1.6; margin:15px 2px 0; }
.about-previews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:24px; }
.about-preview { min-width:0; padding:0; border:1px solid #315362; border-radius:13px 13px 0 0; text-align:left; background:#0c2b3960; color:#b8d3df; overflow:hidden; transition:border-color 200ms,background-color 200ms; }
.about-preview img { display:block; width:100%; aspect-ratio:2/1; height:auto; object-fit:contain; background:#0c202c; }
.about-preview span { display:block; padding:10px 14px; font-size:13px; line-height:1.4; }
.about-preview:hover { border-color:#59d3d4; background:#123849; }
.about-summary { grid-column:1; grid-row:2; margin-top:24px; color:#b7d0df; font-size:17px; line-height:1.9; max-width:590px; }
.about-detail { grid-column:1; grid-row:3; margin-top:64px; }
.about-stats { display:grid; grid-template-columns:.9fr 1.1fr 1.1fr; margin:0; }
.about-stats>div { display:flex; flex-direction:column-reverse; gap:12px; min-width:0; border-left:1px solid #365261; padding:0 22px; }
.about-stats>div:first-child { padding-left:0; border:0; }
.about-stats>div:last-child { padding-right:0; }
.about-stats dt { color:#91b7c9; font-size:13px; line-height:1.4; }
.about-stats dd { margin:0; font-size:clamp(29px,2.65vw,43px); font-weight:300; line-height:1.15; white-space:nowrap; letter-spacing:-.035em; }
.stat-short { display:none; }
.about-actions { grid-column:1; grid-row:4; display:flex; flex-wrap:wrap; gap:14px; margin-top:56px; }
.about-actions a { min-height:56px; font-size:15px; padding:13px 21px; letter-spacing:0; transition:background-color 200ms,border-color 200ms; }
.about-actions .primary { gap:35px; background:#087e8c; border:1px solid #64d7d8; box-shadow:none; }
.about-actions .primary span { font-size:22px; line-height:1; }
.about-actions .primary:hover { background:#11929e; }
.about-actions .outline { background:#07202b55; border-color:#6b8e9d; }
.about-actions .outline:hover { border-color:#5ad7d8; }
.about-note { grid-column:1; grid-row:5; align-self:end; margin-top:84px; padding:18px 0 10px; }
.about-note>span { font-size:12px; letter-spacing:.14em; color:#6994a7; }
.about-note p { font-size:13px; color:#8cb0c2; line-height:1.6; margin-top:10px; }
.about-selector { display:flex; flex-wrap:wrap; gap:8px; }
.about-selector button { min-height:46px; min-width:58px; border:1px solid #355967; border-radius:9px; padding:9px 12px; color:#9fbdcb; font-size:14px; transition:background-color 200ms,border-color 200ms,color 200ms; }
.about-selector button[aria-pressed=true] { background:#103d4a; border-color:#60d8d8; color:#f0ffff; }
.about-selector button:hover { border-color:#61b6c2; color:#efffff; }
.about-selection-copy { margin-top:26px; min-height:115px; }
.about-selection-copy h2 { font-weight:400; font-size:25px; color:#e1f0f4; line-height:1.45; }
.about-selection-copy p { margin-top:10px; color:#a8c5d5; font-size:16px; line-height:1.85; }
.milestone-year { display:block; color:#54d6dc; font-family:Georgia,serif; font-size:36px; line-height:1.1; margin-bottom:14px; }
.about-history .about-detail,.about-principles .about-detail,.about-facilities .about-detail { margin-top:35px; }
.about-history .about-actions,.about-principles .about-actions,.about-facilities .about-actions { margin-top:35px; }
.about-history .about-note,.about-principles .about-note,.about-facilities .about-note { margin-top:44px; }
.about-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:22px 0 0; border-top:1px solid #2a4d5a; }
.about-values li { padding:17px 5px 0; color:#74b5c4; font-size:14px; line-height:1.6; }
.about-values li:first-child { padding-left:0; }
.about-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:24px; }
.about-gallery button { padding:0; min-width:0; color:#91b3c3; text-align:left; overflow:hidden; border:1px solid #345564; border-radius:11px; transition:background-color 200ms,border-color 200ms,color 200ms; background:#0b2632; }
.about-gallery img { display:block; width:100%; aspect-ratio:4/3; height:auto; object-fit:contain; }
.about-gallery button span { display:block; font-size:12px; line-height:1.4; padding:11px 9px; }
.about-gallery button[aria-pressed=true] { border-color:#62d9d8; color:#efffff; background:#124351; }
.about-gallery button:hover { border-color:#63bdc7; }
.facility-copy { margin-top:0; min-height:100px; }
.about-core-process { border-top:1px solid #2a4d5a; padding-top:20px; margin-top:22px; }
.about-core-process p { font-size:14px; line-height:1.8; color:#94b4c4; }
.about-core-process ol { list-style:none; display:flex; flex-wrap:wrap; gap:12px; padding:0; margin:20px 0 0; font-size:14px; color:#78c9d3; }
.about-core-process li { display:flex; align-items:center; gap:12px; }
.about-core-process li+li::before { content:'→'; color:#4a8495; }
.about-mobile-footer { display:none; }

@media (min-width:1181px) and (max-width:1350px) {
  .about-page .desktop-nav { gap:30px; font-size:14px; }
  .about-page .language { margin-left:14px; }
  .about-page .brand-copy { font-size:18px; }
  .about-stats>div { padding-inline:16px; }
}
@media (max-width:1180px) {
  .about-page .site-header { height:calc(82px + env(safe-area-inset-top,0px)); padding-top:calc(12px + env(safe-area-inset-top,0px)); padding-bottom:12px; padding-left:max(clamp(16px,4vw,32px),env(safe-area-inset-left,0px)); padding-right:max(clamp(16px,4vw,32px),env(safe-area-inset-right,0px)); }
  .about-page .brand-mark { width:42px; height:42px; }
  .about-page .brand-copy { font-size:clamp(13px,1.7vw,18px); }
  html[lang=en] .about-page .brand-copy { font-size:clamp(12px,1.7vw,17px); }
  .about-page .brand-copy small { display:block; font-size:clamp(8px,1vw,10px); letter-spacing:.1em; }
  .about-page .language { margin-left:0; }
  .about-page .language a { padding-inline:11px; }
  .about-page .desktop-nav { margin-left:0; }
  .about-main { padding-top:24px; }
  .about-tabs { gap:10px; }
  .about-tabs button { font-size:15px; gap:12px; }
  .about-panel { column-gap:35px; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); }
  .about-heading h1 { font-size:clamp(38px,4.2vw,48px); }
  html[lang=en] .about-heading h1 { font-size:clamp(34px,3.5vw,42px); line-height:1.3; }
  .about-summary { font-size:15px; }
  .about-detail { margin-top:36px; }
  .about-stats>div { padding-inline:14px; }
  .about-stats dd { font-size:29px; }
  .about-stats dt { font-size:11px; }
  .about-actions { margin-top:32px; gap:10px; }
  .about-actions a { padding-inline:17px; min-height:48px; font-size:13px; }
  .about-actions .primary { gap:18px; }
  .about-note { margin-top:40px; }
  .about-previews { gap:10px; }
  .about-preview span { padding:9px 10px; font-size:12px; }
}
@media (max-width:900px) {
  .about-main { padding-left:max(5.5%,env(safe-area-inset-left,0px)); padding-right:max(5.5%,env(safe-area-inset-right,0px)); }
  .about-chapters { margin:0 0 30px; }
  .about-tabs { gap:8px; max-width:none; }
  .about-tabs button { justify-content:center; padding-inline:8px; gap:10px; min-height:48px; font-size:14px; }
  .about-panel { display:flex; flex-direction:column; }
  .about-panel>* { width:100%; }
  .about-heading { padding-top:0; }
  .about-heading .eyebrow { font-size:12px; margin-bottom:14px; }
  .about-heading h1 { font-size:clamp(38px,5.4vw,50px); line-height:1.3; }
  html[lang=en] .about-heading h1 { font-size:clamp(34px,4.7vw,44px); line-height:1.25; }
  .about-heading .tiny-rule { display:none; }
  .about-media { margin-top:24px; }
  .about-photo { border-radius:17px; }
  .about-photo>img { border-radius:16px; }
  .about-photo::before,.about-photo::after { display:none; }
  .photo-tag { top:14px; left:14px; font-size:11px; padding:8px 13px; }
  .about-summary { margin-top:20px; font-size:16px; line-height:1.8; max-width:100%; }
  .about-detail { margin-top:34px; }
  .about-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .about-stats>div { gap:10px; padding-inline:20px; }
  .about-stats dd { font-size:clamp(30px,4.4vw,38px); }
  .about-stats dt { font-size:12px; }
  .about-actions { margin-top:34px; flex-wrap:nowrap; }
  .about-actions a { min-height:48px; font-size:14px; }
  .about-note { display:none; }
  .about-previews { display:none; }
  .about-mobile-footer { display:block; border-top:1px solid #2f4f5d; margin-top:36px; padding-top:12px; color:#81aabd; font-size:12px; }
  .about-footer-top,.about-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; }
  .about-footer-top p { font-size:12px; line-height:1.65; }
  .about-footer-top>div { display:flex; align-items:center; flex:none; }
  .about-footer-top a { display:inline-flex; align-items:center; min-height:44px; padding:0 5px; }
  .about-footer-top a.active { color:#51d9e1; }
  .about-footer-bottom { padding-top:14px; color:#5e93a8; font-size:11px; letter-spacing:.06em; }
  .about-history .about-detail,.about-principles .about-detail,.about-facilities .about-detail { margin-top:26px; }
  .about-selection-copy { min-height:0; }
  .about-selection-copy h2 { font-size:24px; }
  .about-gallery { margin-top:16px; gap:10px; }
  .about-gallery button span { font-size:12px; }
  .about-core-process { margin-top:24px; }
  .about-values li { padding-top:15px; }
}
@media (max-width:540px) {
  .about-page .site-header { height:calc(76px + env(safe-area-inset-top,0px)); grid-template-columns:minmax(0,1fr) 44px; column-gap:8px; }
  .about-page .site-header>.language { display:none; }
  .about-page .brand { gap:8px; }
  .about-page .brand-mark { width:34px; height:34px; }
  .about-page .brand-copy { font-size:clamp(11px,3.1vw,13px); line-height:1.35; }
  .about-page .brand-copy small { font-size:8px; margin-top:3px; letter-spacing:.085em; }
  html[lang=en] .about-page .brand-copy { font-size:12px; line-height:1.3; }
  html[lang=en] .about-page .brand-copy small { font-size:8px; letter-spacing:.075em; }
  .about-page .menu-toggle { border-color:transparent; background:none; border-radius:5px; }
  .about-page .menu-toggle svg { width:25px; height:25px; }
  .about-main { padding-top:16px; padding-bottom:max(26px,env(safe-area-inset-bottom,0px)); }
  .about-chapters { margin-bottom:28px; }
  .about-tabs { gap:7px; }
  .about-tabs button { min-height:44px; padding:7px 5px; font-size:13px; gap:8px; border-radius:9px; }
  .chapter-number { font-size:10px; }
  .chapter-full { display:none; }
  .chapter-short { display:inline; }
  html[lang=en] .about-tabs button { font-size:11px; gap:5px; }
  .about-heading .eyebrow { font-size:10px; letter-spacing:.2em; margin-bottom:12px; }
  .about-heading h1 { font-size:clamp(33px,9.3vw,43px); line-height:1.3; letter-spacing:0; }
  html[lang=en] .about-heading h1 { font-size:clamp(28px,7.7vw,36px); line-height:1.22; letter-spacing:0; }
  .about-media { margin-top:20px; }
  .about-summary { margin-top:19px; font-size:14px; line-height:1.85; }
  .about-stats>div { padding-inline:14px; gap:9px; }
  .about-stats dd { font-size:clamp(24px,7.5vw,31px); letter-spacing:-.03em; }
  .about-stats dt { font-size:11px; }
  .stat-full { display:none; }
  .stat-short { display:inline; }
  .stat-short small { font-size:.76em; letter-spacing:-.02em; }
  html[lang=en] .stat-full { display:inline; }
  html[lang=en] .stat-short { display:none; }
  html[lang=en] .about-stats dd { font-size:clamp(20px,5.9vw,25px); }
  html[lang=en] .about-stats>div { padding-inline:11px; }
  html[lang=en] .about-stats dt { font-size:10px; }
  .about-actions { gap:11px; }
  .about-actions a { flex:1 1 0; padding-inline:10px; font-size:13px; }
  .about-actions .primary { gap:9px; }
  .about-actions .primary span { font-size:17px; }
  html[lang=en] .about-actions a { font-size:11px; }
  .about-footer-top p { font-size:11px; }
  html[lang=en] .about-footer-top { gap:9px; }
  html[lang=en] .about-footer-top p { font-size:10px; }
  .about-selector { gap:6px; }
  .about-selector button { padding:8px 10px; font-size:12px; min-width:51px; min-height:44px; }
  .history-selector button[data-year="2005-2019"] { padding-inline:8px; }
  .milestone-year { font-size:32px; }
  .about-selection-copy h2 { font-size:22px; }
  .about-selection-copy p { font-size:14px; }
  .about-gallery { gap:7px; }
  .about-gallery button span { padding:9px 5px; font-size:10px; }
  html[lang=en] .about-gallery button span { font-size:9px; overflow-wrap:anywhere; }
  .about-values { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-values li { font-size:13px; padding-top:11px; }
  .about-core-process p { font-size:13px; }
}
/* Narrow outer fold screens retain four chapters without sideways scrolling. */
@media (max-width:360px) {
  .about-tabs { gap:3px; }
  .about-tabs button { gap:5px; padding-inline:3px; }
  html[lang=en] .about-tabs button { gap:3px; font-size:10px; }
  html[lang=en] .chapter-number { font-size:9px; }
  .about-heading h1 { font-size:32px; }
  .about-stats>div { padding-inline:10px; }
}
/* Short landscape screens use a compact two-column flow and remain scrollable. */
@media (min-width:601px) and (max-width:1100px) and (max-height:540px) {
  .about-page .site-header { height:calc(64px + env(safe-area-inset-top,0px)); padding-top:calc(6px + env(safe-area-inset-top,0px)); padding-bottom:6px; }
  .about-main { padding-top:14px; }
  .about-chapters { margin-bottom:22px; }
  .about-panel { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-rows:max-content max-content max-content max-content 1fr; column-gap:28px; }
  .about-heading h1 { font-size:32px; }
  html[lang=en] .about-heading h1 { font-size:29px; }
  .about-heading .eyebrow { font-size:10px; }
  .about-media { margin-top:0; }
  .about-summary { font-size:13px; margin-top:16px; }
  .about-detail { margin-top:24px; }
  .about-stats>div { padding-inline:10px; }
  .about-stats dd { font-size:25px; }
  .about-stats dt { font-size:10px; }
  .about-actions { margin-top:24px; flex-wrap:wrap; }
  .about-actions a { font-size:12px; padding-inline:13px; }
  .about-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-gallery img { aspect-ratio:2/1; }
  .about-gallery button span { padding-block:8px; }
  .about-selection-copy h2 { font-size:21px; }
  .about-selection-copy p { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .about-page *, .about-page *::before, .about-page *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}

/* Full original copy, complete timeline, and photograph browser. */
.about-paragraphs p + p { margin-top:15px; }
.about-overview .about-detail { margin-top:34px; }
.about-overview .about-actions { margin-top:34px; }
.about-overview .about-note { margin-top:40px; }
.about-history .about-media { grid-row:1 / 3; }
.about-history .about-detail { grid-column:1 / -1; grid-row:3; margin-top:36px; }
.about-history .about-actions { grid-row:4; }
.about-history .about-note { grid-row:5; }
.history-selector { margin-bottom:36px; }
.history-timeline { list-style:none; padding:0 0 0 30px; margin:0; border-left:1px solid #315968; }
.history-milestone { position:relative; display:grid; grid-template-columns:160px minmax(0,1fr); gap:30px; padding:28px 20px 32px 0; border-bottom:1px solid #294b58; scroll-margin-top:24px; }
.history-milestone::before { content:''; position:absolute; left:-35px; top:39px; width:9px; height:9px; border:1px solid #66aabb; border-radius:50%; background:#09202d; }
.history-milestone:first-child { padding-top:6px; }
.history-milestone:first-child::before { top:17px; }
.history-milestone:last-child { border-bottom:0; padding-bottom:6px; }
.history-milestone .milestone-year { color:#80b5c5; font-size:34px; margin:0; line-height:1.4; }
.history-milestone h2 { color:#e4f1f4; font-size:25px; font-weight:400; line-height:1.5; }
.history-milestone p { color:#aac8d5; font-size:17px; line-height:1.9; margin-top:10px; max-width:1100px; }
.history-milestone.is-selected .milestone-year { color:#60e1e4; }
.history-milestone.is-selected::before { background:#58dadc; border-color:#78e8e8; box-shadow:0 0 0 5px #44cedb15; }
.about-principles, .about-facilities { display:block; }
.about-principles .about-summary, .about-facilities .about-summary { max-width:920px; }
.about-principles .about-detail { margin-top:36px; }
.principle-rows { border-top:1px solid #3e6572; }
.principle-row { display:grid; grid-template-columns:140px minmax(0,1fr); gap:24px; width:100%; padding:35px 0; border-bottom:1px solid #315361; border-radius:0; text-align:left; }
.principle-label { display:flex; align-items:center; gap:15px; color:#96b5c3; font-size:16px; line-height:1.7; }
.principle-number { color:#598999; font-size:12px; }
.principle-statement { display:block; font-family:"Noto Serif SC","Songti SC",SimSun,serif; font-size:clamp(29px,2.6vw,43px); font-weight:400; line-height:1.6; letter-spacing:.005em; color:#dceff2; }
.principle-row[aria-pressed=true] { border-bottom-color:#5bd8da; }
.principle-row[aria-pressed=true] .principle-label { color:#63e0e1; }
.principle-row:hover .principle-statement { color:#f1ffff; }
html[lang=en] .principle-statement { font-family:Georgia,"Times New Roman",serif; font-size:clamp(27px,2.15vw,36px); line-height:1.55; }
.about-facilities .about-detail { margin-top:30px; }
.gallery-stage { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:28px; align-items:start; }
.gallery-viewer, .gallery-browser { min-width:0; }
.gallery-figure { margin:0; }
.gallery-photo-button { display:block; position:relative; width:100%; height:min(64svh,720px); min-height:280px; padding:0; background:#051722; border:1px solid #436676; border-radius:20px; overflow:hidden; touch-action:pan-y pinch-zoom; }
.gallery-photo-button img { display:block; width:100%; height:100%; object-fit:contain; user-select:none; }
.gallery-image-hint { position:absolute; bottom:16px; right:16px; padding:9px 14px; border-radius:99px; background:#042231eb; color:#d6f9fa; font-size:12px; pointer-events:none; }
.gallery-figure figcaption { padding:20px 2px 0; }
.gallery-figure h2 { color:#e5f5f7; font-size:24px; line-height:1.5; font-weight:400; }
#facilityPhotoCaption { color:#76a5b8; font-size:12px; line-height:1.6; margin-top:7px; }
#facilityBody { color:#9bbecd; font-size:14px; line-height:1.8; margin-top:10px; }
.gallery-controls { display:flex; align-items:center; gap:12px; margin-top:20px; }
.gallery-arrow, .gallery-close { display:inline-flex; flex:none; align-items:center; justify-content:center; min-width:48px; width:48px; min-height:48px; height:48px; border:1px solid #547987; border-radius:50%; background:#0b2c3980; color:#dbf5f6; font-size:22px; }
.gallery-arrow:hover, .gallery-close:hover { border-color:#64d9dc; background:#134555; }
.gallery-count { min-width:74px; text-align:center; color:#7eb6c6; font-size:15px; font-variant-numeric:tabular-nums; letter-spacing:.08em; }
.gallery-expand { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:48px; margin-left:auto; padding:10px 22px; border:1px solid #567b89; border-radius:99px; color:#d4eff2; font-size:14px; }
.gallery-expand:hover { border-color:#64d9dc; background:#103947; }
.gallery-browser-title { color:#8db5c6; font-size:13px; line-height:1.7; margin-bottom:15px; }
.about-facilities .about-gallery { position:relative; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; max-height:min(76svh,850px); overflow:auto; overscroll-behavior:contain; padding:3px 9px 3px 3px; scrollbar-width:thin; scrollbar-color:#315e70 #071c28; }
.about-facilities .about-gallery button { scroll-snap-align:center; border-radius:9px; }
.about-facilities .about-gallery img { aspect-ratio:4/3; object-fit:contain; background:#071b27; }
.about-facilities .about-gallery button span { display:flex; align-items:baseline; gap:6px; padding:9px 7px; font-size:11px; line-height:1.5; }
.about-facilities .about-gallery button b { flex:none; color:#628e9f; font-size:10px; font-weight:400; }
.about-facilities .about-gallery button[aria-pressed=true] b { color:#63e0e1; }
.gallery-modal-open { overflow:hidden; }
.about-page .gallery-dialog { width:min(1640px,calc(100vw - 48px)); max-width:none; max-height:calc(100svh - 48px); padding:24px; border:1px solid #547784; border-radius:18px; background:#061b28; color:#eaf5f7; box-shadow:0 25px 90px #0009; }
.about-page .gallery-dialog[open] { display:flex; flex-direction:column; gap:16px; }
.about-page .gallery-dialog::backdrop { background:#020c14eb; backdrop-filter:blur(5px); }
.gallery-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex:none; }
.gallery-dialog-header h2 { font-size:21px; line-height:1.5; font-weight:400; }
.gallery-dialog-header p { color:#78aaba; margin-top:5px; font-size:12px; letter-spacing:.08em; }
.gallery-close { width:44px; height:44px; min-width:44px; min-height:44px; font-size:30px; }
.gallery-dialog-image { display:grid; place-items:center; min-height:0; height:min(70svh,850px); background:#04131e; touch-action:pan-y pinch-zoom; }
.gallery-dialog-image img { display:block; width:100%; height:100%; min-height:0; max-height:100%; object-fit:contain; user-select:none; }
.gallery-dialog-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; flex:none; }
.gallery-dialog-controls p { text-align:center; color:#82b0bf; font-size:13px; line-height:1.5; }
@media (min-width:1181px) {
  html[lang=zh-CN] .principle-statement { white-space:nowrap; }
}
@media (max-width:1180px) {
  .gallery-stage { grid-template-columns:minmax(0,1fr) 240px; gap:22px; }
  .principle-row { grid-template-columns:112px minmax(0,1fr); gap:18px; }
  .principle-statement { font-size:clamp(27px,2.7vw,35px); }
  .history-milestone { grid-template-columns:140px minmax(0,1fr); gap:24px; }
}
@media (max-width:900px) {
  .about-overview .about-detail { margin-top:28px; }
  .about-history .about-media { max-width:620px; }
  .history-selector { margin-bottom:26px; }
  .history-timeline { padding-left:22px; }
  .history-milestone { grid-template-columns:120px minmax(0,1fr); gap:20px; padding-right:0; }
  .history-milestone::before { left:-27px; }
  .history-milestone .milestone-year { font-size:30px; }
  .history-milestone h2 { font-size:23px; }
  .history-milestone p { font-size:16px; }
  .principle-row { display:block; padding:26px 0 30px; }
  .principle-label { margin-bottom:13px; font-size:15px; }
  .principle-statement { font-size:clamp(27px,3.7vw,34px); }
  html[lang=en] .principle-statement { font-size:clamp(25px,3.4vw,31px); }
  .gallery-stage { display:flex; flex-direction:column; gap:28px; }
  .gallery-viewer, .gallery-browser { width:100%; }
  .gallery-photo-button { height:auto; min-height:0; aspect-ratio:4/3; max-height:70svh; }
  .about-facilities .about-gallery { display:grid; grid-template-rows:1fr; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:145px; gap:10px; max-height:none; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; padding:3px 3px 10px; }
  .about-facilities .about-gallery button span { font-size:12px; padding:10px 8px; }
  .gallery-browser-title { margin-bottom:10px; }
  .gallery-figure figcaption { padding-top:17px; }
  .gallery-figure h2 { font-size:22px; }
}
@media (max-width:540px) {
  .about-paragraphs p + p { margin-top:13px; }
  .about-history .about-detail { margin-top:26px; }
  .history-timeline { padding-left:20px; }
  .history-milestone { display:block; padding-top:27px; padding-bottom:27px; }
  .history-milestone::before { left:-25px; top:38px; }
  .history-milestone .milestone-year { margin-bottom:10px; font-size:29px; }
  .history-milestone h2 { font-size:21px; }
  .history-milestone p { font-size:14px; line-height:1.9; margin-top:9px; }
  .about-principles .about-detail { margin-top:26px; }
  .principle-row { padding:23px 0 26px; }
  .principle-label { margin-bottom:11px; font-size:14px; }
  .principle-statement { font-size:clamp(25px,6.7vw,31px); line-height:1.7; letter-spacing:0; }
  html[lang=en] .principle-statement { font-size:clamp(24px,6.4vw,29px); line-height:1.5; }
  .about-facilities .about-detail { margin-top:23px; }
  .gallery-photo-button { border-radius:15px; }
  .gallery-image-hint { bottom:10px; right:10px; padding:7px 11px; font-size:10px; }
  .gallery-figure h2 { font-size:21px; }
  #facilityBody { font-size:13px; }
  .gallery-controls { gap:9px; margin-top:18px; }
  .gallery-arrow { min-width:44px; width:44px; min-height:44px; height:44px; font-size:20px; }
  .gallery-count { min-width:54px; font-size:12px; }
  .gallery-expand { min-height:44px; gap:8px; padding:9px 13px; font-size:12px; }
  html[lang=en] .gallery-expand { font-size:11px; padding-inline:10px; gap:6px; }
  .about-facilities .about-gallery { grid-auto-columns:118px; gap:9px; }
  .about-facilities .about-gallery button span { padding:9px 7px; font-size:11px; }
  .gallery-browser-title { font-size:12px; }
  .about-page .gallery-dialog { width:calc(100vw - 20px); max-height:calc(100svh - 20px); padding:12px; border-radius:13px; }
  .about-page .gallery-dialog[open] { gap:12px; }
  .gallery-dialog-header { gap:12px; }
  .gallery-dialog-header h2 { font-size:17px; }
  .gallery-dialog-image { height:68svh; }
  .gallery-dialog-controls { gap:8px; }
  .gallery-dialog-controls p { font-size:11px; }
}
@media (min-width:601px) and (max-width:1100px) and (max-height:540px) {
  .about-history .about-media { margin-top:0; }
  .about-history .about-detail { grid-column:1 / -1; grid-row:3; }
  .about-principles, .about-facilities { display:block; }
  .principle-row { display:grid; padding-block:22px; }
  .principle-statement { font-size:27px; }
  .gallery-stage { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:20px; }
  .gallery-photo-button { height:60svh; min-height:200px; aspect-ratio:auto; }
  .about-facilities .about-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; grid-auto-flow:row; grid-auto-columns:auto; max-height:84svh; overflow:auto; gap:8px; }
  .about-facilities .about-gallery img { aspect-ratio:4/3; }
  .about-facilities .about-gallery button span { font-size:10px; padding:7px 5px; }
  .gallery-figure h2 { font-size:21px; }
  .about-page .gallery-dialog { max-height:calc(100svh - 20px); padding:12px 16px; }
  .about-page .gallery-dialog[open] { gap:9px; }
  .gallery-dialog-header h2 { font-size:17px; }
  .gallery-dialog-image { height:62svh; }
}
@media (min-width:601px) and (max-width:740px) and (max-height:540px) {
  .gallery-controls { display:grid; grid-template-columns:48px minmax(0,1fr) 48px; gap:10px; }
  .gallery-expand { grid-column:1 / -1; margin-left:0; }
}

/* Architectural line illustrations share the timeline's cyan glass palette. */
.chapter-icon { display:inline-flex; flex:none; width:20px; height:24px; align-items:center; justify-content:center; color:#8db5c2; }
.chapter-icon svg { width:20px; height:22px; }
.about-tabs button[aria-selected=true] .chapter-icon { color:#78eeeb; }
.milestone-card { position:relative; overflow:hidden; background:linear-gradient(140deg,#15364485,#071c2990); }
.milestone-art { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:20px; }
.milestone-icon { display:block; flex:none; width:78px; height:78px; padding:6px; color:#81cbd4; border:1px solid #50808c55; border-radius:14px; background:radial-gradient(ellipse at 28% 10%,#5bdae519,transparent 75%),linear-gradient(140deg,#1a435a65,#081d2d50); box-shadow:inset 0 1px 0 #d4ffff12,0 7px 16px #010e141b; transition:color .25s,transform .25s,border-color .25s; }
.milestone-icon svg { display:block; width:100%; height:100%; }
.milestone-trace { display:flex; flex:1; justify-content:flex-end; gap:5px; padding-left:16px; }
.milestone-trace i { display:block; width:5px; height:5px; border:1px solid #48717b; transform:rotate(45deg); }
.milestone-trace::before { content:''; flex:1; max-width:62px; height:1px; align-self:center; margin-right:7px; background:linear-gradient(90deg,transparent,#456d79); }
.history-milestone.is-selected .milestone-icon { color:#a0fff2; border-color:#68d6d66e; background:radial-gradient(ellipse at 28% 10%,#78efe728,transparent 75%),linear-gradient(140deg,#1e536270,#092b3b90); }
.history-milestone.is-selected .milestone-trace i:first-child { background:#8bf5e7; border-color:#8bf5e7; }
.history-reveal .milestone-icon { animation:history-icon-reveal 340ms ease-out backwards; animation-delay:calc(var(--milestone-order) * 140ms + 80ms); }
@keyframes history-icon-reveal { from { opacity:0; transform:translateY(6px) scale(.92); } to { opacity:1; transform:translateY(0) scale(1); } }
@media (hover:hover) {
 .history-milestone:hover .milestone-icon { color:#a9f2ed; border-color:#74d9d580; transform:translateY(-2px); }
}
@media (max-width:900px) {
 .about-tabs .chapter-number { display:none; }
 .about-tabs button { gap:8px; }
 .milestone-icon { width:60px; height:60px; border-radius:12px; padding:5px; }
 .milestone-art { margin-bottom:16px; }
}
@media (max-width:540px) {
 .about-tabs button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:64px; padding:8px 3px; }
 .chapter-icon { width:21px; height:23px; }
 .chapter-icon svg { width:21px; height:23px; }
 .milestone-icon { width:55px; height:55px; }
 .milestone-art { margin-bottom:14px; }
}
@media (min-width:601px) and (orientation:landscape) and (max-height:540px) {
 .milestone-icon { width:48px; height:48px; padding:3px; border-radius:9px; }
 .milestone-art { margin-bottom:12px; }
}
@media (prefers-reduced-motion:reduce) {
 .history-reveal .milestone-icon { animation:none!important; opacity:1!important; transform:none!important; }
 .milestone-icon { transition:none; }
}
