/* Coordinates and typography use the same 1920 × 1080 design space. */
.about[hidden] { display: none; }
.about-snow { position: relative; display: grid; place-items: center; width: 100%; min-height: 100svh; background: #325b8f; color: #f5f8ff; }
.snow-stage { position: relative; isolation: isolate; width: min(100vw, 177.777778svh); aspect-ratio: 16 / 9; overflow: hidden; container-type: inline-size; font-family: Arial, "Microsoft YaHei", sans-serif; }
.snow-stage h2, .snow-stage h3, .snow-stage ul { margin: 0; }
.snow-layer { position: absolute; pointer-events: none; transform-origin: 50% 50%; }
.snow-layer img { display: block; width: 100%; height: auto; }
.snow-background { inset: 0; z-index: -5; }
.snow-background img { height: 100%; object-fit: cover; }
.snow-shading { position: absolute; inset: 0; z-index: -4; pointer-events: none; background: linear-gradient(180deg, #183e7847, transparent 30%, transparent 50%, #294d7d24 65%, #1c3566b8 100%), linear-gradient(90deg,#18366435,transparent 34%,transparent 72%,#18366428); }
.snow-lettering { z-index: -3; left: 26.25%; top: 26.25%; width: 47.8%; opacity: .93; }
.snow-lettering img { position: relative; }
.snow-lettering-fill, .snow-lettering-fill i { position: absolute; inset: 0; }
.snow-lettering-fill i { background: #fff; clip-path: polygon(3% 5%,17.2% 5%,17.2% 13.6%,3% 13.6%); }
.snow-lettering-fill i:nth-child(2) { clip-path: polygon(77.65% 15.3%,81.08% 15.3%,82.4% 23.7%,77.65% 23.7%); }
.snow-lettering-fill i:nth-child(3) { clip-path: polygon(87.85% 15.3%,91.7% 15.3%,91.7% 23.7%,86.25% 23.7%); }
.snow-character { z-index: -2; left: 20.6%; top: 37.8%; width: 50.8%; height: 62.2%; }
.snow-character img { height: 100%; }
.snow-header { position: absolute; top: 3.75%; left: 3.9%; right: 3.9%; display: flex; align-items: center; justify-content: space-between; }
.snow-header a { color: inherit; text-decoration: none; }
.snow-brand { display: flex; align-items: center; gap: 1.72cqw; font-size: 1.35cqw; font-weight: 700; line-height: 1; }
.snow-brand span { width: 5.35cqw; height: 1px; background: linear-gradient(90deg,#dceaffaf,transparent); }
.snow-nav { display: flex; gap: 3.3cqw; align-items: center; font-size: .76cqw; letter-spacing: .15em; color: #d3dff0; }
.snow-nav > * { position: relative; font-weight: 400; }
.snow-nav .is-current { color: white; }
.snow-nav .is-current::after { content: ""; position: absolute; top: 1.15cqw; left: 50%; width: .33cqw; height: .33cqw; border-radius: 50%; background: #7fe6ff; }
.snow-bio { position: absolute; left: 5.25%; top: 19.75%; width: 23%; }
.snow-kicker { font-size: .79cqw; line-height: 1.3; letter-spacing: .19em; color: #9ce7ff; white-space: nowrap; }
.snow-kicker strong { font-weight: 700; color: #d2f5ff; }
.snow-bio h2 { margin: 1.05cqw 0 .35cqw; font-size: 4.15cqw; line-height: 1.1; font-weight: 700; letter-spacing: 0; }
.snow-roman-name { font-size: .86cqw; line-height: 1.5; letter-spacing: .37em; }
.snow-bio-divider { width: 12cqw; height: 1px; margin-top: .75cqw; background: linear-gradient(90deg,#c6e7ff44,transparent); }
.snow-bio-divider::before { content: ""; display: block; width: 2.65cqw; height: .13cqw; background: #83e8ff; }
.snow-bio h3 { margin-top: 1.06cqw; font-size: 1.64cqw; line-height: 1.3; font-weight: 700; }
.snow-role-en { margin-top: .33cqw; font-size: .69cqw; letter-spacing: .14em; color: #d9eaff; }
.snow-specialties { margin-top: .95cqw; font-size: .81cqw; letter-spacing: .06em; white-space: nowrap; }
.snow-bio-rail { position: absolute; top: .32cqw; left: -2.35cqw; width: 1px; height: 16.5cqw; background: linear-gradient(#a7dfff80,#a7dfff05); }
.snow-bio-rail::before { content: ""; position: absolute; left: -.16cqw; top: -.28cqw; width: .34cqw; height: .5cqw; border: 1px solid #7ee5ff; border-radius: 50%; }
.snow-bio-rail::after { content: ""; position: absolute; left: -.07cqw; top: .35cqw; width: .2cqw; height: 1.15cqw; background: #8fe9ff; }
.snow-experience { position: absolute; top: 21.55%; left: 85.9%; width: 11.2%; }
.snow-experience-rail { position: absolute; left: -2.2cqw; top: 0; height: 12.2cqw; width: 1px; background: #b8e3ff80; }
.snow-experience-rail::before { content: ""; position: absolute; top: 5cqw; height: 3.8cqw; width: .12cqw; background: #7de8ff; }
.snow-experience-rail::after { content: ""; position: absolute; top: 6.5cqw; left: -.21cqw; width: .48cqw; height: .48cqw; border-radius: 50%; background: #eefbff; box-shadow: 0 0 .4cqw #7de8ff; }
.snow-years { display: flex; align-items: baseline; gap: .56cqw; margin-top: .15cqw; height: 8.2cqw; }
.snow-years strong { font-size: 9.3cqw; line-height: 1; font-weight: 700; color: #8be2fb; }
.snow-years span { font-size: 1.65cqw; font-weight: 700; }
.snow-experience h3 { margin-top: .15cqw; font-size: 1.17cqw; line-height: 1.4; }
.snow-experience-en { margin-top: .4cqw; font-size: .68cqw; letter-spacing: .12em; white-space: nowrap; }
.snow-philosophy { position: absolute; left: 4.6%; top: 71.15%; width: 26%; }
.snow-accent { width: 2.9cqw; height: .15cqw; margin-bottom: .8cqw; background: #7ceaff; box-shadow: 0 0 .5cqw #7ceaff55; }
.snow-label { font-size: .72cqw; line-height: 1.4; font-weight: 400; letter-spacing: .15em; color: #d1e1f5; }
.snow-statement { margin-top: .4cqw; font-size: 1.31cqw; line-height: 1.5; font-weight: 700; }
.snow-tags { display: flex; gap: 1.15cqw; padding: 0; list-style: none; margin-top: 1.35cqw !important; }
.snow-tags li { display: grid; place-items: center; height: 2.25cqw; min-width: 5.4cqw; padding: 0 1cqw; border: 1px solid #dcecff90; border-radius: 2cqw; font-size: .72cqw; letter-spacing: .04em; background: #a4d0ff09; box-shadow: inset 0 0 0 .2cqw #b4d5ff0a; }
.snow-tags li:last-child { min-width: 3.2cqw; }
.snow-toolkit { position: absolute; top: 72.9%; left: 70.45%; width: 25.55%; }
.snow-tools-heading { display: flex; align-items: center; justify-content: space-between; }
.snow-tools { display: flex; justify-content: space-between; gap: 1cqw; padding: 0; margin-top: 1.22cqw !important; list-style: none; }
.snow-tool { width: 3.85cqw; text-align: center; }
.snow-tool > div { width: 3.85cqw; height: 3.85cqw; padding: .28cqw; border: 1px solid #cae7ff45; border-radius: 24%; background: #c1e0ff29; box-shadow: 0 0 0 .12cqw #d6eeff12,0 0 .55cqw #a5dfff22; }
.snow-tool img { display: block; width: 100%; height: 100%; object-fit: contain; }
.snow-tool > span { display: block; margin-top: .68cqw; font-size: .73cqw; color: #e0e8f7; white-space: nowrap; position: relative; left: 50%; transform: translateX(-50%); width: max-content; }
.snow-footer { position: absolute; bottom: 2.9%; left: 3.35%; right: 3.35%; border-top: 1px solid #d0e4ff4d; padding-top: .95cqw; display: flex; justify-content: space-between; font-size: .58cqw; letter-spacing: .1em; color: #c7d6ed; }
.snow-orbits { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.snow-orbits::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 60%,#0a5aff20 100%); }
.snow-orbits i { position: absolute; width: 43cqw; height: 43cqw; left: 75%; top: 11.5%; border: 1px solid #d8efff24; border-radius: 50%; }
.snow-orbits i:nth-child(2) { width: 49cqw; height: 49cqw; left: 63%; top: 46.5%; }
.snow-orbits b { position: absolute; left: 74%; top: 53.8%; width: .48cqw; height: .48cqw; border-radius: 50%; background: #f1fcff; }
.snow-orbits b:last-child { left: 68.2%; top: 74.5%; width: .22cqw; height: .55cqw; background: transparent; border: 1px solid #91e8ff88; }
@media (max-width: 700px) {
  .about-snow { min-height: 0; }
  .snow-stage { width: 100vw; }
}
