
@font-face { font-family: "UM Display"; src: url("../fonts/title.woff2?v=4611df7d") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
:root {
  --paper: #FBF8F2; --paper-2: #F6F1E9; --paper-3: #EFE6D8; --sand-2: #E7DCCB; --sand-3: #DDD0BD;
  --graphite: #2A2623; --graphite-2: #3E3833; --graphite-3: #5A524C; --body: #4A443E; --muted: #6E655E; --quiet: #9A918A;
  --line: #A2968A; --hair: rgba(42, 38, 35, .12);
  --orange: #CD5A2C; --orange-ink: #A8461D; --orange-btn: #C2522A; --orange-hi: #E4733F; --orange-lit: #F0A27E; --orange-wash: rgba(205, 90, 44, .09);
  --navy: #163264;
  --dusk-0: #1A1715; --dusk-1: #1F1B19; --on-dusk: #F4EEE5; --on-dusk-2: #C9BFB2; --on-dusk-3: #A89E93;
  --sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "Helvetica Neue", Arial, sans-serif;
  --display: "UM Display", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", "DejaVu Sans Mono", monospace;
  --m-micro: 200ms; --m-state: 520ms;
  --ease-state: cubic-bezier(.22, .61, .36, 1);
  --gut: clamp(20px, 5vw, 48px);
  --hd-h: 64px;
  --measure: 720px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--body); font-family: var(--sans); font-size: 16px; line-height: 1.85; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
@supports (overflow: clip) { body { overflow-x: clip; } }
h1, h2, h3, p, ol, ul, dl, dd, figure { margin: 0; padding: 0; }
ol, ul { list-style: none; }
img, svg, picture { display: block; max-width: none; }
a { color: inherit; }
button { font: inherit; color: inherit; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.share-thumb { display: none; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--graphite); color: var(--paper); padding: 8px 14px; border-radius: 3px; text-decoration: none; font-size: 14px; }
.skip:focus { top: 12px; }
:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
[hidden] { display: none !important; }
.no-js .js-only { display: none !important; }
.js .no-js-only { display: none !important; }
.wrap { width: 100%; max-width: calc(1248px + 2 * var(--gut)); margin: 0 auto; padding: 0 var(--gut); }
section[id], .ds, .hp, .fig, [id$="-h"] { scroll-margin-top: calc(var(--hd-h) + 16px); }
.eyebrow { font-family: var(--sans); font-size: 13px; line-height: 1.5; letter-spacing: .2em; color: var(--orange-ink); font-weight: 700; }
.k { font-family: var(--sans); font-size: 12.5px; letter-spacing: .08em; font-weight: 700; color: var(--muted); }
p, dd, li { text-wrap: pretty; }
h1, h2 { text-wrap: balance; font-family: var(--display); font-weight: 700; color: var(--graphite); letter-spacing: .01em; }
h3 { font-weight: 700; color: var(--graphite); text-wrap: balance; }
.link { color: var(--graphite); text-decoration: none; border-bottom: 1.6px solid var(--orange); padding: 10px 0 3px; font-weight: 600; white-space: nowrap; display: inline-block; }
.link:hover { color: var(--orange-ink); }
a.link::after, .more::after { content: " →"; color: var(--orange-ink); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 10px 20px; border-radius: 5px; border: 1px solid var(--graphite); background: var(--graphite); color: var(--paper); font-size: 15px; font-weight: 600; cursor: pointer; text-decoration: none; transition: opacity var(--m-micro), background-color var(--m-micro), color var(--m-micro); }
.btn-primary { background: var(--orange-btn); border-color: var(--orange-btn); color: #fff; }
.btn-primary:hover { background: var(--orange-ink); border-color: var(--orange-ink); }
.btn-line { background: rgba(251, 248, 242, .92); color: var(--graphite); }
.btn-line:hover { background: var(--graphite); color: var(--paper); }
.btn[disabled] { opacity: .38; cursor: default; }
.btn[disabled]:hover { background: rgba(251, 248, 242, .92); color: var(--graphite); }
.hd { position: absolute; top: 0; left: 0; right: 0; z-index: 50; height: var(--hd-h); display: flex; align-items: center; padding: 0 var(--gut); background: transparent; transition: transform 360ms var(--ease-state), background-color 360ms var(--ease-state), box-shadow 360ms var(--ease-state); }
.js .hd { position: fixed; }
.hd.is-solid { background: #FBF8F2; box-shadow: 0 1px 0 rgba(42, 38, 35, .08); }
.hd.is-hidden { transform: translateY(-101%); }
.hd-logo { display: block; flex: none; }
.hd-logo img { height: 34px; width: auto; }
.hd-nav { display: none; }
.hd-m { margin-left: auto; }
.hd-m summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 2px 0 12px; font-size: 14px; color: var(--graphite); }
.hd-m summary::-webkit-details-marker { display: none; }
.hd-m summary i { position: relative; width: 20px; height: 10px; border-top: 1.6px solid var(--graphite); border-bottom: 1.6px solid var(--graphite); transition: transform var(--m-micro); }
.hd-m[open] summary i { border-bottom-color: transparent; transform: translateY(4px); }
.hd-sheet { position: fixed; left: 0; right: 0; top: var(--hd-h); bottom: 0; background: var(--paper); padding: 12px var(--gut) 40px; overflow-y: auto; border-top: 1px solid var(--hair); }
.hd-sheet > ol { border-top: 1px solid var(--hair); }
.hd-sheet li.g { border-bottom: 1px solid var(--hair); }
.hd-sheet li a { display: flex; flex-direction: column; justify-content: center; min-height: 56px; padding: 10px 0; text-decoration: none; color: var(--graphite); }
.hd-sheet li a b { font-size: 19px; font-weight: 700; line-height: 1.4; }
.hd-sheet li a span { margin-top: 2px; font-size: 14px; line-height: 1.5; color: var(--muted); }
.hd-sheet a.cur b, .hd-sheet a[aria-current="page"] b { color: var(--orange-ink); }
.hd-sheet a[aria-current="page"] b::after { content: " · 当前页"; font-size: 13px; font-weight: 600; color: var(--muted); }
.hd-sheet-ft { margin-top: 20px; font-size: 12.5px; color: var(--muted); }
body.menu-open { overflow: hidden; }
.ft { background: var(--paper-2); border-top: 1px solid var(--hair); padding: 44px 0 30px; font-size: 13px; line-height: 1.75; color: #6F665F; }
.ft-a { display: grid; gap: 28px; }
.ft-id img { height: 34px; width: auto; }
.ft-id p { margin-top: 12px; font-size: 14px; line-height: 1.7; color: var(--body); }
.ft-mail a { display: inline-block; padding: 10px 0 2px; font: 600 15px/1.5 var(--sans); letter-spacing: .01em; color: var(--graphite); text-decoration: none; border-bottom: 1px solid var(--line); }
.ft-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.ft-nav > div:last-child { grid-column: 1 / -1; }
.ft-nav .k { margin-bottom: 2px; }
.ft-nav a { display: block; padding: 8px 0; font-size: 14px; line-height: 1.55; color: var(--body); text-decoration: none; }
.ft-nav a:hover { color: var(--orange-ink); }
.ft-note { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--hair); }
.ft .ver { margin-top: 4px; }
.sec { position: relative; }
.stage { position: relative; padding: 0 var(--gut); max-width: calc(880px + 2 * var(--gut)); margin: 0 auto; }
.crop { position: relative; overflow: hidden; aspect-ratio: var(--cw) / var(--ch); }
.crop > svg, .crop > img, .crop > picture { position: absolute; width: calc(1440 / var(--cw) * 100%); height: auto; aspect-ratio: 1440 / 900; left: calc(var(--cx) / var(--cw) * -100%); top: calc(var(--cy) / var(--ch) * -100%); }
@supports not (aspect-ratio: 1 / 1) {
  .crop::before { content: ""; display: block; padding-top: calc(var(--ch) / var(--cw) * 100%); }
  .ct-art::before { content: ""; display: block; padding-top: 22.92%; }
}
.hero { padding-top: calc(var(--hd-h) + 26px); overflow: hidden; }
.hero .stage .art { position: absolute; left: 0; right: 0; top: 0; height: min(330px, 78vw); pointer-events: none; }
.hero .stage .art .world { position: absolute; left: 0; width: 100%; top: calc(var(--my0, 76) / 300 * 100%); height: calc((var(--my1, 278.67) - var(--my0, 76)) / 300 * 100%); mix-blend-mode: multiply; object-fit: fill; }
.hero .stage .art .atmo { display: none; }
.hero-t { position: relative; }
.hero-h { margin-top: 12px; font-size: clamp(30px, 9vw, 56px); line-height: 1.16; letter-spacing: .005em; }
.hero-h span { display: block; white-space: nowrap; }
.hero-h .l2 { padding-left: .5em; }
.hero-sub { margin-top: 14px; font-size: 17px; font-weight: 600; color: var(--graphite); }
.hero-pos { margin-top: 8px; font-size: 15.5px; line-height: 1.8; color: var(--body); }
.hero-fig { margin: 14px calc(-1 * var(--gut)) 0; }
.hero-fig img { width: 100%; height: auto; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 22%); mask-image: linear-gradient(to bottom, transparent 0, #000 22%); }
.hero-cta { margin-top: 14px; display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
.hero-cta .btn { min-height: 50px; font-size: 15.5px; }
.hero-cta .link { align-self: center; }
.status { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; padding-bottom: 28px; font-size: 13.5px; color: var(--body); line-height: 1.5; }
.status::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 3px rgba(205, 90, 44, .14); }
.vi { padding: 8px 0 40px; background: linear-gradient(to bottom, var(--paper-2) 0, var(--paper) 30%, #EDE3D3 100%); }
.vi .stage { display: flex; flex-direction: column; }
.vi-art { order: 1; position: relative; margin: 0 calc(-1 * var(--gut)); }
.vi-art .world { width: 100%; height: auto; }
.vi-art .vov, .vi-art .atmo { display: none; }
.vi-dir { order: 2; margin-top: 10px; }
.vi-dir .k span { font-weight: 500; }
.vi-dir ul { margin-top: 8px; border-top: 1.5px solid var(--graphite); }
.vi-dir li { display: grid; grid-template-columns: 76px 1fr; column-gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--hair); align-items: baseline; }
.vi-dir li b { font-size: 16.5px; color: var(--graphite); }
.vi-dir li span { font-size: 15px; line-height: 1.75; color: var(--body); }
.vi-show { display: none; }
.vi-nt { margin-top: 10px; font-size: 13px; line-height: 1.7; color: #6F665F; }
.d-only { display: none; }
.ld-msg { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: var(--orange-ink); }
.hp { margin-top: 40px; padding-top: 22px; border-top: 1.5px solid var(--graphite); }
.hp-hd h3 { margin-top: 8px; font-size: 21px; line-height: 1.42; }
.hp-hd p:not(.eyebrow) { margin-top: 8px; font-size: 15.5px; line-height: 1.85; max-width: 46em; }
.hp-art { margin-top: 18px; border-radius: 10px; background: var(--paper); box-shadow: inset 0 0 0 1px var(--hair); }
.lg-svg text, .lg-svg .lg-t { display: none; }
.lg-svg .lg-r, .lg-svg .lg-u, .lg-svg .lg-o, .lg-svg .lg-ring { transition: none; }
.js .lg-svg .lg-ring { transition: opacity var(--m-state) var(--ease-state); }
.hp-side { margin-top: 4px; }
.lg-steps { display: grid; grid-template-columns: repeat(6, 1fr); position: relative; }
.lg-steps::before { content: ""; position: absolute; left: 8.3%; right: 8.3%; top: 21px; height: 1px; background: rgba(42, 38, 35, .2); }
.lg-steps button { position: relative; width: 100%; min-height: 44px; padding: 15px 0 4px; border: 0; background: none; cursor: pointer; color: var(--muted); }
.lg-steps button[disabled] { cursor: default; }
.lg-steps button i { display: block; width: 12px; height: 12px; margin: 0 auto; border-radius: 50%; background: var(--paper); border: 1.3px solid var(--line); position: relative; transition: background-color var(--m-state), border-color var(--m-state), box-shadow var(--m-state); }
.lg-steps button b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lg-steps button.done i { background: var(--graphite); border-color: var(--graphite); }
.lg-steps button.on i { background: var(--orange); border-color: var(--orange); box-shadow: 0 0 0 4px rgba(205, 90, 44, .16); }
.hp-row { display: grid; gap: 12px; margin-top: 4px; }
.lg-cap { padding: 10px 0 0; border-top: 1px solid var(--hair); }
.lg-n { font: 700 12px var(--mono); letter-spacing: .08em; color: var(--muted); }
.lg-n span { color: var(--orange-ink); }
.lg-ct { margin-top: 2px; font-size: 20px; font-weight: 700; color: var(--graphite); line-height: 1.35; }
.lg-cp { margin-top: 4px; font-size: 15px; line-height: 1.75; color: var(--body); min-height: 3.5em; }
.lg-ctl { display: flex; gap: 8px; }
.lg-ctl .btn { flex: 1; min-height: 46px; padding: 8px 10px; font-size: 14.5px; white-space: nowrap; }
.lg-ctl #lg-play { flex: 1.6; }
.hp-ft { margin-top: 14px; font-size: 14px; line-height: 1.75; color: var(--muted); }
.hp .lg-svg text[font-size="12"], .hp .lg-svg text[font-size="12.5"] { font-size: 15px; }
.hp-art { container-type: inline-size; }
@container (max-width: 559px) { .lg-svg text, .lg-svg .lg-t { display: none; } }
@media (min-width: 760px) {
  :root { --hd-h: 72px; }
  body { font-size: 16.5px; }
  .hd-logo img { height: 40px; }
  .hero-h { font-size: clamp(50px, 6.8vw, 68px); }
  .hero-cta { flex-direction: row; align-items: center; gap: 24px; }
  .hero-cta .btn { padding: 10px 26px; }
  .hero-fig { margin: 18px 0 0; max-width: 560px; }
  .vi-art { margin: 0; }
  .lg-svg text, .lg-svg .lg-t { display: inline; }
  .lg-steps button b { position: static; width: auto; height: auto; overflow: visible; clip: auto; display: block; margin-top: 8px; padding: 0 4px; font-size: 13.5px; line-height: 1.35; font-weight: 600; color: var(--muted); white-space: normal; }
  .lg-steps button.on b { color: var(--graphite); font-weight: 700; }
  .lg-steps button:not([disabled]):hover b { color: var(--graphite); }
  .hp-row { grid-template-columns: minmax(0, 1fr) auto; column-gap: 28px; align-items: end; }
  .lg-ctl .btn { flex: none; padding: 0 16px; }
  .ft-nav { grid-template-columns: repeat(3, 1fr); }
  .ft-nav > div:last-child { grid-column: auto; }
}
@media (min-width: 1180px) {
  :root { --hd-h: 76px; --gut: clamp(40px, 6.67vw, 96px); }
  body { font-size: 17px; }
  .hd { padding: 0 clamp(40px, 4.4vw, 64px) 0 clamp(32px, 3.6vw, 52px); }
  .hd-logo img { height: 52px; }
  .hd-m { display: none; }
  .hd-nav { display: flex; align-items: center; gap: clamp(22px, 2.4vw, 36px); margin-left: auto; font-size: 15px; }
  .hd-nav a { color: var(--graphite); opacity: .82; text-decoration: none; padding: 8px 0; border-bottom: 1.5px solid transparent; transition: opacity var(--m-micro), border-color var(--m-micro); }
  .hd-nav a:hover { opacity: 1; }
  .hd-nav a.cur { opacity: 1; color: var(--orange-ink); border-bottom-color: rgba(205, 90, 44, .55); }
  .hd-nav a.cta { opacity: 1; color: var(--orange-ink); background: transparent; border-radius: 999px; padding: 7px 18px; font-weight: 700; border: 1.4px solid rgba(194, 82, 42, .55); transition: background-color var(--m-micro), color var(--m-micro), border-color var(--m-micro); }
  .hd-nav a.cta:hover { background: var(--orange-btn); border-color: var(--orange-btn); color: #fff; }
  .hd-nav a.cta.cur { background: var(--orange-wash); border-color: var(--orange-btn); color: var(--orange-ink); }
  .stage { --k: calc(min(100vw, 2560px) / 1440); position: relative; width: 100%; max-width: 2560px; aspect-ratio: 1440 / 900; margin: 0 auto; padding: 0; container-type: inline-size; display: block !important; }
  @supports not (aspect-ratio: 1 / 1) { .stage::before { content: ""; display: block; padding-top: 62.5%; } .stage .art { height: 100%; } }
  @supports (width: 1cqw) { .stage { --k: calc(100cqw / 1440); } }
  .stage .at { position: absolute; z-index: 2; left: calc(var(--x) * 100% / 1440); top: calc(var(--y) * 100% / 900); width: calc(var(--w) * 100% / 1440); margin: 0; }
  .stage .art { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 0; margin: 0; overflow: hidden; }
  .stage .art > img, .stage .art > picture, .stage .art .world { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
  .stage .art picture img { width: 100%; height: 100%; }
  .stage .art > picture.atmo, .stage .atmo { display: block; position: absolute; left: 0; width: 100%; top: calc(var(--y0) * 100% / 900); height: calc((var(--y1) - var(--y0)) * 100% / 900); mix-blend-mode: multiply; pointer-events: none; }
  .stage .atmo img { width: 100%; height: 100%; }
  .m-only { display: none !important; }
  .d-only { display: inline; }
  .hero { padding: 0; }
  .hero .stage .art { height: auto; }
  .hero .stage .art .world { top: 0; height: 100%; mix-blend-mode: normal; }
  .hero .stage .art .atmo { display: block; }
  .hero-t { position: absolute; }
  .hero-h { margin-top: calc(20 * var(--k)); font-size: calc(76 * var(--k)); line-height: 1.14; letter-spacing: .012em; }
  .hero-h .l2 { padding-left: 1.04em; }
  .hero-sub { margin-top: calc(24 * var(--k)); font-size: max(17px, calc(21 * var(--k))); }
  .hero-pos { margin-top: calc(10 * var(--k)); font-size: max(15.5px, calc(17 * var(--k))); max-width: calc(600 * var(--k)); }
  .hero-cta { margin-top: calc(30 * var(--k)); gap: calc(28 * var(--k)); }
  .hero-cta .btn { min-height: max(46px, calc(52 * var(--k))); padding: 0 calc(28 * var(--k)); font-size: max(15px, calc(16 * var(--k))); }
  .hero-cta .link { font-size: max(15px, calc(16 * var(--k))); }
  .status { margin-top: calc(24 * var(--k)); padding: 0; font-size: max(13px, calc(13.5 * var(--k))); }
  .vi { padding: 0; background: linear-gradient(to bottom, #FBF8F2 0, #FBF8F2 21%, #EFE6D8 29%, #E6DACA 53%, #DCCDB7 100%); border-top: 1px solid var(--hair); }
  .vi-art { margin: 0; }
  .vi-art .vov { display: block; opacity: 0; transition: opacity var(--m-state) var(--ease-state); pointer-events: none; }
  .vi-art .vov.on { opacity: 1; }
  .vi-art .atmo { display: block; }
  .vi-dir { margin: 0; }
  .vi-dir ul { border-top-width: 1px; }
  .vi-dir li { grid-template-columns: 84px 1fr auto; padding: 11px 0; background: rgba(251, 248, 242, .6); }
  .vi-dir li span { font-size: 15px; }
  .vi-show { display: inline-block; align-self: center; margin-left: 12px; border: 1px solid rgba(42, 38, 35, .24); background: rgba(251, 248, 242, .92); border-radius: 999px; padding: 4px 13px; min-height: 36px; font-size: 13px; color: var(--graphite); cursor: pointer; white-space: nowrap; }
  .vi-show[aria-pressed="true"] { border-color: var(--orange); color: var(--orange-ink); background: rgba(205, 90, 44, .08); }
  .vi-dir li.on b { color: var(--orange-ink); }
  .hp-hd h3 { font-size: 23px; }
  .lg-ct { font-size: 21px; }
  .hp { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(240px, 1fr); column-gap: 28px; align-items: center; }
  .hp-hd { grid-column: 1 / -1; }
  .hp-art { grid-column: 1; grid-row: 2; }
  .hp-side { grid-column: 2; grid-row: 2; margin: 18px 0 0; display: flex; flex-direction: column; }
  .hp-row { display: contents; }
  .lg-cap { order: 1; padding: 0 0 12px; border-top: 0; }
  .lg-cp { min-height: 0; }
  .lg-steps { order: 2; display: block; margin-left: 5px; border-left: 1px solid rgba(42, 38, 35, .18); }
  .lg-steps::before { display: none; }
  .lg-steps button { display: block; min-height: 0; padding: 6px 0 6px 18px; text-align: left; }
  .lg-steps button i { position: absolute; left: -6px; top: 14px; width: 11px; height: 11px; margin: 0; }
  .lg-steps button b { margin: 0; padding: 0; font-size: 15px; line-height: 1.45; }
  .lg-ctl { order: 3; margin-top: 16px; flex-wrap: wrap; }
  .hp-ft { grid-column: 1 / -1; }
  .ft { padding: 56px 0 32px; }
  .ft-a { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: 56px; }
}
@media (min-width: 1180px) and (max-width: 1339px) {
  .hd-nav { font-size: 14.5px; gap: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
@media print {
  .hd, .lg-ctl, .toc, .toc-m, .pg-end { display: none !important; }
}
.ph { display: inline-block; max-width: 100%; }
.hd-m:not([open]) summary .c, .hd-m[open] summary .o { display: none; }
@media (min-width: 640px) { .hd-sheet > ol, .hd-sheet-ft { max-width: 640px; } }
.doc-hero { padding: calc(var(--hd-h) + 14px) 0 36px; background: linear-gradient(to bottom, var(--paper) 0, var(--paper-2) 100%); border-bottom: 1px solid var(--hair); }
.crumb ol { display: flex; flex-wrap: wrap; align-items: center; font-size: 13.5px; color: var(--muted); }
.crumb li + li::before { content: "/"; margin: 0 10px; color: var(--quiet); }
.crumb a { display: inline-block; padding: 11px 0; color: var(--muted); text-decoration: none; }
.crumb a:hover { color: var(--orange-ink); }
.crumb [aria-current] { color: var(--graphite); font-weight: 600; }
.doc-hero .eyebrow { margin-top: 14px; }
.doc-hero h1 { margin-top: 10px; font-size: clamp(29px, 7.6vw, 54px); line-height: 1.26; max-width: 17em; }
.lead-2 { margin-top: 20px; display: grid; gap: 12px; max-width: var(--measure); }
.lead-2 p { font-size: 16.5px; line-height: 1.9; color: var(--graphite-2); }
.lead-2 p:first-child { color: var(--graphite); font-weight: 600; }
.doc-note { margin-top: 18px; max-width: var(--measure); padding-left: 14px; border-left: 2px solid var(--line); font-size: 14.5px; line-height: 1.8; color: var(--muted); }
.doc-go { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 10px 12px; }
.doc-go .btn { min-height: 46px; }
.doc { padding-bottom: 24px; }
.toc { display: none; }
.toc-m { margin-top: 20px; border: 1px solid rgba(42, 38, 35, .16); border-radius: 8px; background: var(--paper); }
.toc-m summary { list-style: none; cursor: pointer; display: flex; align-items: center; min-height: 50px; padding: 0 16px; font-size: 15px; font-weight: 700; color: var(--graphite); }
.toc-m summary::-webkit-details-marker { display: none; }
.toc-m summary span { margin-left: auto; margin-right: 14px; font-size: 13px; font-weight: 500; color: var(--muted); }
.toc-m summary::after { content: "+"; font: 400 21px/1 var(--mono); color: var(--orange-ink); }
.toc-m[open] summary::after { content: "−"; }
.toc-m ol { padding: 0 16px 6px; }
.toc-m li a { display: block; padding: 11px 0; border-top: 1px solid var(--hair); font-size: 15px; line-height: 1.5; color: var(--body); text-decoration: none; }
.toc-m li a:hover { color: var(--orange-ink); }
.doc-body { min-width: 0; }
.ds { padding-top: 44px; }
.ds + .ds { margin-top: 36px; border-top: 1px solid var(--hair); }
.ds-n { font: 700 13px var(--mono); letter-spacing: .08em; color: var(--orange-ink); }
.ds-n span { margin-left: 12px; font: 700 13.5px var(--sans); letter-spacing: .1em; color: var(--graphite-3); }
.ds-n .solo { margin-left: 0; }
.ds h2 { margin-top: 6px; font-size: clamp(24px, 6.2vw, 34px); line-height: 1.38; max-width: 19em; }
.ds .kick { margin-top: 10px; font-size: 18px; line-height: 1.65; font-weight: 700; color: var(--graphite-2); max-width: var(--measure); }
.ds > p:not([class]) { margin-top: 16px; line-height: 1.95; max-width: var(--measure); }
.ds h3 { font-size: 18.5px; line-height: 1.45; }
.note { margin-top: 14px; font-size: 14px; line-height: 1.8; color: var(--muted); max-width: var(--measure); }
.quote { margin-top: 28px; padding-top: 16px; border-top: 1.5px solid var(--graphite); font-size: 20px; line-height: 1.6; font-weight: 700; color: var(--graphite); max-width: var(--measure); }
.related { margin-top: 16px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 18px; font-size: 14.5px; color: var(--muted); }
.related a, .talk-l a { display: inline-block; padding: 10px 0 2px; color: var(--graphite); text-decoration: none; border-bottom: 1px solid var(--line); font-weight: 600; }
.related a:hover, .talk-l a:hover { color: var(--orange-ink); border-bottom-color: var(--orange); }
.fig { margin: 28px 0 6px; }
.fig-art { position: relative; border-radius: 10px; overflow: hidden; background: var(--paper-2); box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .06); }
.fig-art img { width: 100%; height: 100%; }
.pins { position: absolute; top: 0; right: 0; bottom: 0; left: 0; pointer-events: none; }
.pin { position: absolute; width: 0; height: 0; }
.pin i { position: absolute; left: -11px; top: -11px; width: 22px; height: 22px; border-radius: 50%; background: var(--graphite); color: var(--paper); font: 700 12px/22px var(--mono); text-align: center; font-style: normal; box-shadow: 0 0 0 2px rgba(251, 248, 242, .9); }
.pin span { display: none; }
.fig figcaption { margin-top: 12px; max-width: var(--measure); }
.cap { font-size: 14px; line-height: 1.75; color: var(--muted); }
.key { margin-top: 10px; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px 18px; font-size: 14.5px; line-height: 1.5; color: var(--graphite-2); }
.key li { display: flex; gap: 8px; align-items: baseline; }
.key i { flex: none; width: 21px; height: 21px; border-radius: 50%; background: var(--graphite); color: var(--paper); font: 700 12px/21px var(--mono); text-align: center; font-style: normal; transform: translateY(3px); }
.fig-hint { display: none; }
@media (max-width: 759px) {
  .fig-wide .fig-sc { overflow-x: auto; overscroll-behavior-x: contain; margin: 0 calc(-1 * var(--gut)); padding: 12px var(--gut) 6px; scrollbar-width: thin; }
  .fig-wide .fig-art { width: 660px; }
  .fig-wide .fig-hint { display: block; margin-top: 4px; font-size: 12.5px; color: var(--muted); }
  .fig-wide .fig-hint::before { content: "← "; } .fig-wide .fig-hint::after { content: " →"; }
}
.fig-img { margin: 28px 0 6px; max-width: 820px; }
.fig-img img { width: 100%; height: auto; border-radius: 10px; background: var(--paper-2); }
.fig-img figcaption { margin-top: 10px; font-size: 14px; line-height: 1.75; color: var(--muted); }
.talk { margin-top: 32px; padding: 20px 20px 18px; border-radius: 10px; background: var(--paper-2); box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .07); max-width: 820px; }
.talk-k { font-size: 13px; font-weight: 700; letter-spacing: .14em; color: var(--orange-ink); }
.talk > p:not([class]) { margin-top: 6px; font-size: 16px; line-height: 1.85; color: var(--graphite-2); }
.talk-l { margin-top: 10px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 18px; font-size: 14px; color: var(--muted); }
.talk-a { margin-top: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
.flow4 { margin-top: 28px; counter-reset: f; border-top: 1.5px solid var(--graphite); max-width: 820px; }
.flow4 li { counter-increment: f; display: grid; grid-template-columns: 40px 1fr; padding: 13px 0; border-bottom: 1px solid var(--hair); }
.flow4 li::before { content: counter(f, decimal-leading-zero); grid-row: span 2; font: 700 13px var(--mono); color: var(--orange-ink); padding-top: 4px; }
.flow4 b { font-size: 17px; color: var(--graphite); }
.flow4 span { font-size: 15px; line-height: 1.7; color: var(--body); }
.chain { margin-top: 28px; counter-reset: c; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; max-width: 820px; }
.chain li { counter-increment: c; position: relative; padding: 12px 14px 14px; border-radius: 8px; background: var(--paper-2); }
.chain li::before { content: counter(c, decimal-leading-zero); display: block; font: 700 12px var(--mono); color: var(--orange-ink); }
.chain b { display: block; margin-top: 2px; font-size: 16.5px; color: var(--graphite); }
.chain span { display: block; margin-top: 2px; font-size: 14px; line-height: 1.6; color: var(--muted); }
.chain li:last-child { background: transparent; box-shadow: inset 0 0 0 1.4px rgba(205, 90, 44, .45); }
.stage3 { margin-top: 28px; display: grid; gap: 12px; }
.stage3 li { padding: 20px; border-radius: 10px; border: 1px solid var(--hair); background: var(--paper); }
.stage3 li:first-child { border: 1.5px solid var(--graphite); }
.stage3 li:last-child { border-style: dashed; border-color: rgba(42, 38, 35, .3); background: transparent; }
.st-k { font-size: 13px; font-weight: 700; letter-spacing: .12em; color: var(--muted); }
.stage3 li:first-child .st-k { color: var(--orange-ink); }
.stage3 h3 { margin-top: 6px; }
.stage3 p:not(.st-k) { margin-top: 8px; font-size: 15.5px; line-height: 1.8; }
.faq { margin-top: 20px; border-top: 1.5px solid var(--graphite); max-width: 820px; }
.faq dt { display: flex; gap: 12px; padding-top: 18px; font-size: 17px; line-height: 1.55; font-weight: 700; color: var(--graphite); }
.faq dt::before { content: "问"; flex: none; font-size: 13px; line-height: 2; color: var(--orange-ink); }
.faq dd { padding: 6px 0 18px 25px; font-size: 16px; line-height: 1.9; border-bottom: 1px solid var(--hair); }
.faq dd a { display: inline-block; margin-left: 6px; padding: 6px 0 1px; color: var(--graphite); font-weight: 600; text-decoration: none; border-bottom: 1.5px solid var(--orange); }
.faq dd a::after { content: " →"; color: var(--orange-ink); }
.task { margin-top: 28px; padding: 18px 20px 8px; border-radius: 10px; background: #FFFDF9; box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .12); max-width: 820px; }
.task-k { font-size: 13px; font-weight: 700; letter-spacing: .12em; color: var(--muted); }
.task ol { margin-top: 8px; counter-reset: s; }
.task li { counter-increment: s; position: relative; padding: 11px 0 11px 40px; border-top: 1px solid var(--hair); font-size: 16px; line-height: 1.8; color: var(--graphite-2); }
.task li::before { content: counter(s); position: absolute; left: 0; top: 13px; width: 24px; height: 24px; border-radius: 50%; border: 1.4px solid var(--graphite); font: 700 12px/21px var(--mono); text-align: center; color: var(--graphite); }
.task li:last-child::before { background: var(--graphite); color: var(--paper); }
.rhythm { margin-top: 28px; padding: 18px; border-radius: 10px; box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .12); max-width: 820px; }
.rh-row + .rh-row { margin-top: 14px; }
.rh-k { font-size: 13px; font-weight: 700; letter-spacing: .08em; color: var(--muted); }
.rh-row ol { margin-top: 6px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.rh-row li { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 8px; border-radius: 6px; background: var(--paper-2); font-size: 14px; line-height: 1.45; color: var(--graphite-2); text-align: center; }
.rh-row li.hot { background: var(--orange-wash); color: var(--orange-ink); font-weight: 700; box-shadow: inset 0 0 0 1.4px rgba(205, 90, 44, .5); }
.rh-n { margin-top: 14px; font-size: 14.5px; line-height: 1.75; color: var(--graphite-2); }
.ex { margin-top: 30px; padding-top: 18px; border-top: 1.5px solid var(--graphite); max-width: 820px; }
.ex-k { font-size: 13px; font-weight: 700; letter-spacing: .14em; color: var(--orange-ink); }
.ex h3 { margin-top: 6px; }
.ex > p:not([class]) { margin-top: 10px; font-size: 16px; line-height: 1.9; max-width: var(--measure); }
.ex .task { margin-top: 18px; }
.factors { margin-top: 24px; display: grid; gap: 10px; max-width: 820px; }
.factors li { padding: 18px 20px; border-radius: 10px; background: var(--paper-2); }
.factors b { display: block; font-size: 17px; color: var(--graphite); }
.factors span { display: block; margin-top: 6px; font-size: 15.5px; line-height: 1.8; color: var(--body); }
.views { margin-top: 24px; counter-reset: v; border-top: 1.5px solid var(--graphite); }
.views article { counter-increment: v; padding: 20px 0; border-bottom: 1px solid var(--hair); }
.views article::before { content: counter(v, decimal-leading-zero); font: 700 13px var(--mono); color: var(--orange-ink); }
.views h3 { margin-top: 4px; }
.views p { margin-top: 8px; font-size: 16px; line-height: 1.9; }
.facts { margin-top: 28px; display: grid; gap: 28px; }
.facts dl { border-top: 1.5px solid var(--graphite); }
.facts dl > div { display: grid; grid-template-columns: minmax(80px, 100px) minmax(0, 1fr); column-gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--hair); }
.facts dt { font-size: 14px; font-weight: 700; color: var(--muted); padding-top: 1px; }
.facts dd { min-width: 0; font-size: 15.5px; line-height: 1.75; color: var(--graphite); overflow-wrap: anywhere; }
.facts dd a { word-break: break-all; font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--line); display: inline-block; padding: 8px 0 1px; margin-top: -8px; }
.give { margin-top: 22px; display: grid; gap: 10px; max-width: 820px; }
.give > div { padding: 16px 18px; border-radius: 10px; box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .12); }
.give > div:first-child { background: var(--paper-2); box-shadow: none; }
.gk { font-size: 13px; font-weight: 700; letter-spacing: .12em; color: var(--orange-ink); }
.give > div + div .gk { color: var(--graphite-3); }
.give p:not(.gk) { margin-top: 6px; font-size: 16px; line-height: 1.85; color: var(--graphite-2); }
.ds > .talk-a { margin-top: 22px; }
.steps3 { margin-top: 22px; counter-reset: s; border-top: 1.5px solid var(--graphite); max-width: 820px; }
.steps3 li { counter-increment: s; display: grid; grid-template-columns: 40px 1fr; padding: 15px 0; border-bottom: 1px solid var(--hair); }
.steps3 li::before { content: counter(s, decimal-leading-zero); grid-row: span 2; font: 700 13px var(--mono); color: var(--orange-ink); padding-top: 4px; }
.steps3 b { font-size: 17px; color: var(--graphite); }
.steps3 span { margin-top: 2px; font-size: 15.5px; line-height: 1.8; }
.contact-box { margin-top: 22px; padding: 22px 20px; border-radius: 12px; background: var(--dusk-1); color: var(--on-dusk); max-width: 820px; }
.ct-ml { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; }
.ct-l { flex-basis: 100%; font-size: 13px; letter-spacing: .12em; font-weight: 700; color: var(--on-dusk-3); }
.ct-ml .mail { display: inline-block; padding: 8px 0 6px; font: 600 clamp(17px, 4.8vw, 23px)/1.5 var(--sans); letter-spacing: .01em; color: var(--on-dusk); text-decoration: none; border-bottom: 1px solid rgba(244, 238, 229, .4); word-break: break-all; }
.ct-ml .mail:hover { border-bottom-color: var(--orange-lit); }
.ct-ml button { font-size: 13.5px; min-height: 40px; border: 1px solid rgba(244, 238, 229, .35); background: transparent; border-radius: 999px; padding: 6px 15px; color: var(--on-dusk); cursor: pointer; }
.ct-ml button:hover { border-color: var(--orange-lit); }
.ct-ml .ok { font-size: 13px; color: var(--orange-lit); min-width: 3em; }
.ct-who { margin-top: 12px; font-size: 15px; color: var(--on-dusk-2); }
.ct-topics { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.ct-topics a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 1px solid rgba(244, 238, 229, .3); color: var(--on-dusk); text-decoration: none; font-size: 14.5px; }
.ct-topics a::after { content: "→"; margin-left: 8px; color: var(--orange-lit); }
.ct-topics a:hover { background: rgba(244, 238, 229, .07); }
.ct-art { position: relative; margin-top: 8px; aspect-ratio: 1440 / 330; overflow: hidden; }
.ct-art .world { position: absolute; left: 0; width: 100%; height: auto; top: calc(-560 / 330 * 100%); aspect-ratio: 1440 / 900; }
.ct-art picture img { width: 100%; height: auto; }
.ct-art .atmo { display: block; position: absolute; left: 0; width: 100%; top: calc((var(--y0) - 560) / 330 * 100%); height: calc((var(--y1) - var(--y0)) / 330 * 100%); mix-blend-mode: multiply; pointer-events: none; }
.ct-art .atmo img { width: 100%; height: 100%; }
.next-card { margin-top: 28px; display: grid; gap: 4px; padding: 20px 22px; border-radius: 10px; background: var(--paper-2); text-decoration: none; max-width: 820px; transition: background-color var(--m-micro); }
.next-card b { font-size: 20px; color: var(--graphite); }
.next-card b::after { content: " →"; color: var(--orange-ink); }
.next-card span:last-child { font-size: 15.5px; line-height: 1.75; color: var(--body); }
.next-card:hover { background: var(--paper-3); }
.pg-end { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding-top: 44px; padding-bottom: 56px; }
.pe { display: block; padding: 14px 16px; border-radius: 10px; box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .14); text-decoration: none; }
.pe .k { display: block; }
.pe b { display: block; margin-top: 2px; font-size: 16.5px; color: var(--graphite); }
.pe:hover b { color: var(--orange-ink); }
.pe.prev { order: 1; } .pe.next { order: 2; text-align: right; } .pe.top { order: 3; grid-column: 1 / -1; text-align: center; box-shadow: none; padding: 8px; }
.pe.top .k { display: none; }
.pe.top b { font-size: 14.5px; font-weight: 600; color: var(--muted); }
.pe.prev b::before { content: "← "; color: var(--orange-ink); }
.pe.next b::after { content: " →"; color: var(--orange-ink); }
.cta-band { background: var(--dusk-1); color: var(--on-dusk); padding: 64px 0 68px; }
.cta-band .eyebrow { color: var(--orange-lit); }
.cta-band h2 { margin-top: 10px; color: var(--on-dusk); font-size: clamp(25px, 6.2vw, 38px); line-height: 1.36; max-width: 18em; }
.cta-band .lead { margin-top: 14px; font-size: 16.5px; line-height: 1.9; color: var(--on-dusk-2); max-width: 40em; }
.cta-band .actions { margin-top: 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; }
.cta-mail { display: inline-block; padding: 10px 0 4px; font: 600 16px/1.5 var(--sans); letter-spacing: .01em; color: var(--on-dusk); text-decoration: none; border-bottom: 1px solid rgba(244, 238, 229, .4); }
.cta-mail:hover { border-bottom-color: var(--orange-lit); }
.who3 { margin-top: 28px; display: grid; gap: 10px; }
.who3 a { display: block; padding: 18px 20px; border-radius: 10px; box-shadow: inset 0 0 0 1px rgba(244, 238, 229, .2); text-decoration: none; color: var(--on-dusk); transition: background-color var(--m-micro); }
.who3 a:hover { background: rgba(244, 238, 229, .06); }
.who3 b { display: block; font-size: 17px; }
.who3 b::after { content: " →"; color: var(--orange-lit); }
.who3 span { display: block; margin-top: 4px; font-size: 14.5px; line-height: 1.6; color: var(--on-dusk-3); }
.band { padding: 60px 0; border-top: 1px solid var(--hair); }
.band-2 { background: var(--paper-2); }
.split { display: grid; gap: 14px; }
.split h2 { margin-top: 10px; font-size: clamp(25px, 6.4vw, 38px); line-height: 1.36; }
.prose p { font-size: 16px; line-height: 1.95; color: var(--body); }
.prose p + p { margin-top: 12px; }
.cards3 { margin-top: 32px; display: grid; gap: 34px; }
.card-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 10px; background: var(--paper-2); }
.band-2 .card-img { background: var(--paper); }
.card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--ease-state); }
.card:hover .card-img img { transform: scale(1.025); }
.card .num { margin-top: 16px; font: 700 13px var(--mono); letter-spacing: .08em; color: var(--orange-ink); }
.card h3 { margin-top: 14px; font-size: 20px; line-height: 1.4; }
.card .num + h3 { margin-top: 2px; }
.card h3 a { color: inherit; text-decoration: none; }
.card h3 a:hover { color: var(--orange-ink); }
.card > p:not(.num) { margin-top: 8px; font-size: 15.5px; line-height: 1.85; }
.more { display: inline-block; margin-top: 10px; padding: 8px 0 2px; font-size: 15px; font-weight: 600; color: var(--graphite); text-decoration: none; border-bottom: 1.5px solid var(--orange); }
.more:hover { color: var(--orange-ink); }
.cards-sc .card-img { aspect-ratio: 2 / 1; }
.row-link { margin-top: 26px; }
.preview { display: grid; gap: 22px; }
.preview-img { display: block; border-radius: 10px; overflow: hidden; background: var(--paper); box-shadow: inset 0 0 0 1px var(--hair); aspect-ratio: 760 / 460; }
.preview-img img { width: 100%; height: 100%; }
.preview-t h2 { margin-top: 10px; font-size: clamp(25px, 6.4vw, 36px); line-height: 1.36; }
.preview-t p:not(.eyebrow):not(.actions) { margin-top: 12px; font-size: 16px; line-height: 1.9; }
.actions { margin-top: 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.two { display: grid; gap: 30px; }
.two-a h2 { margin-top: 10px; font-size: clamp(25px, 6.4vw, 38px); line-height: 1.36; }
.two-a > p:not(.eyebrow):not(.actions) { margin-top: 14px; font-size: 16px; line-height: 1.95; }
.vision-card { display: block; border-radius: 12px; overflow: hidden; text-decoration: none; background: #E6DACA; }
.vc-img { display: block; aspect-ratio: 960 / 560; }
.vc-img img { width: 100%; height: 100%; }
.vc-t { display: block; padding: 16px 20px 20px; }
.vc-t b { display: block; margin-top: 6px; font-size: 19px; line-height: 1.5; color: var(--graphite); }
.vc-t .more { margin-top: 8px; }
.vision-card:hover .vc-t b { color: var(--orange-ink); }
.doc-hero-404 { padding-bottom: 72px; }
.nf-links { margin-top: 28px; display: grid; gap: 8px; max-width: 820px; }
.nf-links a { display: block; padding: 14px 18px; border-radius: 10px; background: var(--paper); box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .12); text-decoration: none; }
.nf-links b { display: block; font-size: 17px; color: var(--graphite); }
.nf-links span { display: block; font-size: 14px; color: var(--muted); }
@media (min-width: 760px) {
  .doc-hero { padding-bottom: 48px; }
  .lead-2 p { font-size: 17px; }
  .pin i { left: -6px; top: -6px; width: 12px; height: 12px; font-size: 12px; color: transparent; overflow: hidden; background: var(--orange); box-shadow: 0 0 0 3px rgba(251, 248, 242, .9); }
  .pin span { display: block; position: absolute; left: 13px; top: 0; transform: translateY(-50%); white-space: nowrap; background: rgba(251, 248, 242, .95); box-shadow: 0 0 0 1px rgba(42, 38, 35, .16), 0 2px 8px rgba(42, 38, 35, .08); border-radius: 4px; padding: 3px 9px; font-size: 13px; line-height: 1.45; font-weight: 700; color: var(--graphite); }
  .pin.l span { left: auto; right: 13px; }
  .key { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .flow4 { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 20px; border-top: 0; }
  .flow4 li { display: block; padding: 16px 0 0; border-bottom: 0; border-top: 1.5px solid var(--graphite); }
  .flow4 li::before { display: block; padding: 0 0 4px; }
  .flow4 b, .flow4 span { display: block; }
  .flow4 span { margin-top: 4px; font-size: 14.5px; }
  .chain { grid-template-columns: repeat(3, 1fr); }
  .stage3 { grid-template-columns: repeat(3, 1fr); }
  .rhythm { display: grid; grid-template-columns: 92px repeat(5, minmax(0, 1fr)); column-gap: 8px; row-gap: 12px; padding: 20px; }
  .rh-row { display: contents; }
  .rh-row + .rh-row { margin: 0; }
  .rh-row:first-child > * { grid-row: 1; }
  .rh-row:nth-child(2) > * { grid-row: 2; }
  .rh-k { grid-column: 1; align-self: center; }
  .rh-row ol { margin: 0; grid-column: 2 / span 3; gap: 8px; }
  .rh-row:nth-child(2) ol { grid-column: 4 / span 3; }
  .rh-row:nth-child(2) li.hot { position: relative; }
  .rh-row:nth-child(2) li.hot::before { content: ""; position: absolute; left: 50%; top: -13px; height: 12px; border-left: 1.5px dashed var(--orange); }
  .rh-n { grid-row: 3; grid-column: 1 / -1; margin-top: 4px; }
  .factors { grid-template-columns: repeat(3, 1fr); }
  .give { grid-template-columns: 1fr 1fr; }
  .steps3 { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 24px; border-top: 0; }
  .steps3 li { display: block; padding: 16px 0 0; border-bottom: 0; border-top: 1.5px solid var(--graphite); }
  .steps3 li::before { display: block; padding: 0 0 4px; }
  .steps3 b, .steps3 span { display: block; }
  .contact-box { padding: 28px 30px; }
  .ct-l { flex-basis: auto; }
  .pg-end { grid-template-columns: 1fr auto 1fr; align-items: center; }
  .pe.prev, .pe.next, .pe.top { order: 0; }
  .pe.top { grid-column: auto; padding: 12px 18px; }
  .nf-links { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
  .cards3 { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 28px; }
  .who3 { grid-template-columns: repeat(3, 1fr); }
  .views { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; border-top: 0; }
  .views article { border-top: 1px solid var(--hair); border-bottom: 0; }
  .views article:nth-child(-n+2) { border-top: 1.5px solid var(--graphite); }
  .chain { grid-template-columns: repeat(6, 1fr); gap: 6px; }
  .chain li:not(:last-child)::after { content: ""; position: absolute; right: -6px; top: 50%; width: 6px; height: 1.5px; background: var(--line); }
}
@media (min-width: 1180px) {
  .doc-hero { padding: calc(var(--hd-h) + 32px) 0 64px; }
  .doc-hero h1 { margin-top: 14px; font-size: 52px; line-height: 1.24; }
  .lead-2 { margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--hair); max-width: none; grid-template-columns: 1fr 1fr; column-gap: 56px; }
  .lead-2 p { font-size: 17.5px; }
  .doc { display: grid; grid-template-columns: 200px minmax(0, 1fr); column-gap: clamp(48px, 5.5vw, 88px); padding-bottom: 32px; }
  .toc { display: block; position: sticky; top: calc(var(--hd-h) + 28px); align-self: start; padding-top: 72px; max-height: calc(100vh - var(--hd-h) - 28px); overflow: auto; }
  .toc-m { display: none; }
  .toc-k { font-size: 12.5px; font-weight: 700; letter-spacing: .1em; color: var(--muted); }
  .toc ol { margin-top: 12px; border-left: 1px solid rgba(42, 38, 35, .16); }
  .toc li a { display: block; margin-left: -1px; padding: 7px 0 7px 16px; border-left: 2px solid transparent; font-size: 14.5px; line-height: 1.5; color: var(--muted); text-decoration: none; transition: color var(--m-micro), border-color var(--m-micro); }
  .toc li a:hover { color: var(--graphite); }
  .toc li a.cur { color: var(--graphite); font-weight: 700; border-left-color: var(--orange); }
  .toc-top { margin-top: 16px; }
  .toc-top a { display: inline-block; padding: 6px 0; font-size: 13.5px; color: var(--muted); text-decoration: none; }
  .toc-top a::before { content: "↑ "; }
  .toc-top a:hover { color: var(--orange-ink); }
  .ds { padding-top: 76px; }
  .ds + .ds { margin-top: 60px; }
  .ds h2 { font-size: 34px; }
  .ds .kick { font-size: 20px; }
  .ds h3 { font-size: 19.5px; }
  .fig { margin: 36px 0 8px; }
  .talk { padding: 24px 28px 22px; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 32px; align-items: end; }
  .talk > * { grid-column: 1; }
  .talk > .talk-a { grid-column: 2; grid-row: 1 / span 3; margin: 0; }
  .facts { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); column-gap: 48px; align-items: start; }
  .cta-band h2 { font-size: 40px; }
  .cta-band .lead { font-size: 17.5px; }
  .band { padding: 112px 0; }
  .split { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: 88px; align-items: end; }
  .split h2, .two-a h2 { font-size: 38px; }
  .prose p, .two-a > p:not(.eyebrow):not(.actions) { font-size: 17px; }
  .cards3 { margin-top: 56px; column-gap: 40px; }
  .card h3 { font-size: 21px; }
  .card > p:not(.num) { font-size: 16px; }
  .preview { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 72px; align-items: center; }
  .preview-t h2 { font-size: 36px; }
  .preview-t p:not(.eyebrow):not(.actions) { font-size: 17px; }
  .two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 80px; align-items: center; }
}
@media (min-width: 1180px) and (max-width: 1339px) {
  .doc { grid-template-columns: 180px minmax(0, 1fr); }
  .toc li a { font-size: 14px; }
}
.today { margin-top: 18px; padding: 14px 18px; border-radius: 10px; background: var(--paper-2); font-size: 15.5px; line-height: 1.8; color: var(--graphite-2); max-width: var(--measure); }
.today span { display: block; font-size: 13px; font-weight: 700; letter-spacing: .12em; color: var(--orange-ink); }
.today a { display: table; margin-top: 2px; padding: 6px 0 1px; font-weight: 600; color: var(--graphite); text-decoration: none; border-bottom: 1.5px solid var(--orange); white-space: nowrap; }
.today a::after { content: " →"; color: var(--orange-ink); }
@media (min-width: 1180px) {
  .pg-vision .ds { padding-top: 60px; }
  .pg-vision .ds + .ds { margin-top: 48px; }
}
@media (min-width: 760px) and (max-width: 1179px) {
  .vi-art { max-width: 600px; }
}
.ds .kick span { display: block; margin-bottom: 2px; font-size: 13px; font-weight: 700; letter-spacing: .14em; color: var(--orange-ink); }
.loop { margin-top: 24px; padding: 18px 20px; border-radius: 10px; box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .12); max-width: 820px; }
.loop ol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 0; }
.loop li { display: inline-flex; align-items: center; font-size: 15px; font-weight: 600; color: var(--graphite); }
.loop li + li::before { content: "⇄"; margin: 0 12px; font-weight: 400; color: var(--orange-ink); }
.loop p { margin-top: 10px; font-size: 14px; line-height: 1.75; color: var(--muted); }
.stg2 { padding: 18px 0 0; }
.stg2 > .k { display: flex; justify-content: space-between; gap: 12px; }
.stg2 > .k span { font-weight: 500; letter-spacing: .02em; }
.stg2-g { margin-top: 12px; display: grid; gap: 12px; }
.stg2-g > div { padding: 14px 16px; border-radius: 8px; box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .14); }
.stg2-g > div.on { box-shadow: inset 0 0 0 1.4px rgba(205, 90, 44, .5); background: var(--orange-wash); }
.stg2-k { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--graphite); }
.stg2-k i { width: 9px; height: 9px; border-radius: 50%; background: var(--paper); border: 1.4px solid var(--line); }
.stg2-g .on .stg2-k { color: var(--orange-ink); }
.stg2-g .on .stg2-k i { background: var(--orange); border-color: var(--orange); box-shadow: 0 0 0 3px rgba(205, 90, 44, .15); }
.stg2-g ul { margin-top: 6px; }
.stg2-g li { font-size: 15px; line-height: 1.7; color: var(--graphite-2); }
.stg2-g li + li { margin-top: 2px; }
.now3 { margin-top: 18px; border-top: 1.5px solid var(--graphite); }
.now3 li { display: grid; grid-template-columns: 64px 1fr; column-gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--hair); }
.now3 b { font-size: 14px; color: var(--orange-ink); }
.now3 li + li b { color: var(--graphite-3); }
.now3 span { font-size: 15px; line-height: 1.7; color: var(--graphite-2); }
.two-a .now3 + .actions { margin-top: 18px; }
@media (min-width: 1180px) {
  .facts .stg2 { padding: 20px 22px; border-radius: 10px; background: var(--paper-2); }
}
.lead-2.lead-1 { grid-template-columns: minmax(0, 1fr); max-width: 860px; }
.ds-go { margin-top: 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.go-row { margin-top: 26px; padding-top: 16px; border-top: 1px solid var(--hair); max-width: 820px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.go-row .related { margin-top: 0; }
.facts.one { grid-template-columns: minmax(0, 720px); }
.two-a > p.stage-line:not(.eyebrow):not(.actions) { margin-top: 16px; padding-left: 14px; border-left: 2px solid var(--orange); font-size: 14.5px; line-height: 1.8; color: var(--muted); }
.ct-ml .ct-send { display: inline-flex; align-items: center; min-height: 40px; padding: 6px 15px; border: 1px solid rgba(244, 238, 229, .35); border-radius: 999px; font-size: 13.5px; color: var(--on-dusk); text-decoration: none; }
.ct-ml .ct-send:hover { border-color: var(--orange-lit); }
.fig-img.fig-plain { max-width: none; }
.fx-index { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 6px 10px; }
.fx-index a { display: inline-flex; align-items: center; min-height: 36px; padding: 4px 14px; border-radius: 999px; border: 1px solid var(--line); color: var(--graphite); text-decoration: none; font-size: 14.5px; font-weight: 600; }
.fx-index a:hover { border-color: var(--orange); color: var(--orange-ink); }
.fx { margin-top: 26px; border-top: 1.5px solid var(--graphite); container-type: inline-size; }
.fx-u { padding: 24px 0 28px; border-bottom: 1px solid var(--hair); display: grid; grid-template-columns: minmax(0, 1fr); scroll-margin-top: calc(var(--hd-h) + 16px); }
.fx-k { font-size: 14px; font-weight: 700; letter-spacing: .06em; color: var(--orange-ink); }
.ds .fx-u h3 { margin-top: 6px; font-size: 20px; line-height: 1.45; color: var(--graphite); max-width: var(--measure); }
.fx-p { margin-top: 14px; font-size: 16px; line-height: 1.9; max-width: var(--measure); }
.fx-u .related { margin-top: 8px; }
.ds .fx + .doc-note { margin-top: 18px; }
.fx-close { margin-top: 16px; max-width: var(--measure); font-size: 16.5px; line-height: 1.85; font-weight: 600; color: var(--graphite); }
.fx-close a { display: inline-block; color: var(--graphite); text-decoration: none; border-bottom: 1.5px solid var(--orange); }
.fx-close a:hover { color: var(--orange-ink); }
.fx-fig { margin-top: 16px; max-width: 720px; min-width: 0; }
.fx-art { position: relative; border-radius: 10px; overflow: hidden; background: var(--paper-2); box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .06); }
.fx-art img { width: 100%; height: 100%; }
.fx-ov { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; }
.fx-ov path { fill: none; vector-effect: non-scaling-stroke; }
.fx-wd { position: absolute; top: 0; right: 0; bottom: 0; left: 0; pointer-events: none; }
.fx-w { position: absolute; transform: translate(-50%, -50%); white-space: nowrap; font-size: 13px; line-height: 1.5; font-weight: 700; letter-spacing: .02em; color: var(--graphite); }
.fx-w.up { transform: translate(-50%, -100%); }
.fx-w.dn { transform: translate(-50%, 0); }
.fx-w.al { transform: translate(0, -50%); }
.fx-w.ar { transform: translate(-100%, -50%); }
.fx-w, .fx-ov path { transition: opacity var(--m-micro), stroke-opacity var(--m-micro), stroke-width var(--m-micro), background-color var(--m-micro), color var(--m-micro), box-shadow var(--m-micro); }
.k-tag { padding: 2px 9px; border-radius: 4px; background: rgba(251, 248, 242, .96); box-shadow: 0 0 0 1px rgba(42, 38, 35, .18), 0 2px 8px rgba(42, 38, 35, .06); }
.k-mute { padding: 1px 8px; border-radius: 4px; background: rgba(251, 248, 242, .85); color: var(--muted); font-weight: 600; box-shadow: 0 0 0 1px rgba(42, 38, 35, .12); }
.fx-ov .fx-orb { stroke: var(--graphite); stroke-opacity: .32; stroke-width: 1.2px; stroke-dasharray: 2 5; }
.fx-ov .fx-zone { fill: rgba(205, 90, 44, .05); stroke: var(--orange); stroke-opacity: .55; stroke-width: 1.3px; stroke-dasharray: 5 4; }
.fx-ov .fx-arw, .fx-ov .fx-ahd { stroke: var(--orange-ink); stroke-opacity: .9; stroke-width: 2.4px; stroke-linecap: round; stroke-linejoin: round; }
.fx-ov .fx-arw2, .fx-ov .fx-ahd2 { stroke: var(--graphite); stroke-opacity: .38; stroke-width: 1.2px; stroke-dasharray: 3 4; stroke-linecap: round; stroke-linejoin: round; }
.fx-ov .fx-ahd2 { stroke-dasharray: none; }
.k-panel { padding: 9px 18px; border-radius: 8px; background: rgba(250, 236, 226, .96); box-shadow: inset 0 0 0 1.5px rgba(205, 90, 44, .55), 0 3px 10px rgba(42, 38, 35, .06); color: var(--orange-ink); font-size: 14px; letter-spacing: .06em; }
.k-tag.l-energy { color: var(--orange-ink); box-shadow: 0 0 0 1px rgba(205, 90, 44, .45), 0 2px 8px rgba(42, 38, 35, .06); }
.fx-ov .fx-rg { stroke: var(--graphite); stroke-opacity: .5; stroke-width: 1.2px; stroke-dasharray: 4 4; }
.fx-ov .fx-tie { stroke: var(--graphite); stroke-opacity: .45; stroke-width: 1.1px; stroke-dasharray: 3 4; }
.fx-ov .fx-rise { stroke: var(--navy); stroke-opacity: .55; stroke-width: 1.1px; stroke-dasharray: 1 4; stroke-linecap: round; }
.fx-ov .fx-link { stroke: var(--navy); stroke-opacity: .55; stroke-width: 1.3px; stroke-linejoin: round; }
.fx-ov .fx-head { stroke: var(--navy); stroke-opacity: .7; stroke-width: 1.6px; stroke-linecap: round; stroke-linejoin: round; }
.k-band { height: 30px; display: flex; align-items: center; justify-content: center; border-radius: 6px; letter-spacing: .08em; }
.k-band.l-plan { background: rgba(251, 248, 242, .94); box-shadow: inset 0 0 0 1.5px rgba(42, 38, 35, .55); color: var(--graphite); }
.k-band.l-info { background: rgba(251, 248, 242, .92); box-shadow: inset 0 0 0 1.5px rgba(22, 50, 100, .42); color: var(--navy); }
.k-vert { padding: 8px 3px; writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; text-orientation: upright; letter-spacing: .18em; line-height: 1; border-radius: 4px; background: var(--paper); box-shadow: inset 0 0 0 1px rgba(22, 50, 100, .32); color: var(--navy); }
.fx-co[data-view="ops"] [data-k="task"] { opacity: .3; }
.fx-co[data-view="ops"] .fx-ov .fx-rise { stroke-opacity: .95; stroke-width: 1.8px; stroke-dasharray: 2 4; }
.fx-co[data-view="ops"] .fx-ov .fx-link, .fx-co[data-view="ops"] .fx-ov .fx-head { stroke-opacity: 1; stroke-width: 2.2px; }
.fx-co[data-view="ops"] .fx-ov .fx-rg { stroke: var(--navy); stroke-opacity: .9; stroke-width: 1.8px; stroke-dasharray: none; }
.fx-co[data-view="ops"] .k-band.l-info, .fx-co[data-view="ops"] .k-vert { background: var(--navy); color: var(--paper); }
.fx-co[data-view="task"] [data-k="ops"] { opacity: .3; }
.fx-co[data-view="task"] .fx-ov .fx-tie { stroke-opacity: .95; stroke-width: 1.8px; stroke-dasharray: none; }
.fx-co[data-view="task"] .fx-ov .fx-rg { stroke-opacity: .9; stroke-width: 1.8px; stroke-dasharray: none; }
.fx-co[data-view="task"] .fx-ov .fx-link, .fx-co[data-view="task"] .fx-ov .fx-head { stroke-opacity: .9; stroke-width: 1.8px; }
.fx-co[data-view="task"] .k-band.l-plan { background: var(--graphite); color: var(--paper); box-shadow: none; }
.fx-fn { margin-top: 12px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.fx-fn li { min-width: 0; padding: 11px 14px 12px; border-radius: 8px; background: var(--paper); box-shadow: inset 0 0 0 1px var(--hair); }
.fx-fn b { display: block; font-size: 15.5px; line-height: 1.5; font-weight: 700; color: var(--graphite); }
.fx-fn span { display: block; margin-top: 3px; font-size: 14.5px; line-height: 1.7; color: var(--graphite-2); }
.fx-views li { padding: 0; background: none; box-shadow: none; }
.fx-view { display: block; width: 100%; height: 100%; margin: 0; padding: 11px 14px 12px; border: 0; border-radius: 8px; background: var(--paper); box-shadow: inset 0 0 0 1px var(--line); text-align: left; cursor: pointer; transition: background-color var(--m-micro), box-shadow var(--m-micro); }
.fx-view b { display: flex; align-items: center; gap: 8px; }
.fx-view b::before { content: ""; flex: none; width: 12px; height: 12px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px currentColor; }
.fx-view:not(:disabled):hover { box-shadow: inset 0 0 0 1.5px var(--graphite); }
.fx-view:not(:disabled)[aria-pressed="true"] { background: var(--graphite); box-shadow: none; }
.fx-view:not(:disabled)[aria-pressed="true"] b, .fx-view:not(:disabled)[aria-pressed="true"] span { color: var(--paper); }
.fx-view:not(:disabled)[aria-pressed="true"] b::before { background: radial-gradient(circle, currentColor 0 3px, transparent 3.5px); }
.fx-view:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.fx-view:disabled { cursor: default; box-shadow: inset 0 0 0 1px var(--hair); }
.fx-view:disabled b::before { display: none; }
.fx-fig .cap { margin-top: 10px; }
.fx-cc { display: inline-block; margin-right: 10px; padding: 0 7px; border: 1px solid rgba(42, 38, 35, .22); border-radius: 3px; font: 600 12px/1.5 var(--mono); letter-spacing: .1em; color: var(--muted); vertical-align: 1px; }
.fx-hero .fx-fig { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr); }
.fx-hero .fx-fn b { color: var(--navy); }
@media (max-width: 559px) {
  .fx-w { font-size: 12px; letter-spacing: 0; }
  .k-tag { padding: 1px 7px; }
  .k-band { height: 24px; }
  .k-vert { padding: 6px 2px; letter-spacing: .1em; }
  .k-panel { padding: 5px 10px; font-size: 12.5px; letter-spacing: .02em; }
  .k-mute.l-role { display: none; }
  .fx-fn:not(.fx-views) li, .fx-view { padding: 10px 12px 11px; }
}
@container (min-width: 520px) {
  .fx-fn.n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (min-width: 640px) {
  .fx-fn.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container (min-width: 880px) {
  .fx-u { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); grid-template-rows: repeat(5, auto) 1fr; column-gap: 36px; padding: 30px 0 34px; }
  .fx-u > .fx-k, .fx-u > h3, .fx-u > .fx-p, .fx-u > .related { grid-column: 1; }
  .fx-u > .fx-fig { grid-column: 2; grid-row: 1 / span 6; margin-top: 4px; max-width: none; }
  .fx-k { padding-top: 2px; }
  .fx-u.fx-hero { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .fx-u.fx-hero > * { grid-column: 1; }
  .fx-u.fx-hero > .fx-fig { grid-row: auto; margin-top: 18px; }
  .fx-hero .fx-fig > .fx-art { grid-row: 1; grid-column: 1; }
  .fx-hero .fx-fig > .fx-fn { grid-row: 1; grid-column: 1; align-self: stretch; z-index: 1; margin: 0; padding: 18px;
    grid-template-columns: repeat(2, minmax(0, 264px)); justify-content: space-between; align-content: space-between; pointer-events: none; }
  .fx-hero .fx-fn li { background: rgba(251, 248, 242, .93); box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .14), 0 4px 14px rgba(42, 38, 35, .06); }
  .fx-hero .fx-fig > .cap { grid-row: 2; }
}
.grp-k { margin-top: 36px; padding-top: 14px; border-top: 1.5px solid var(--graphite); font-size: 14px; font-weight: 700; letter-spacing: .08em; color: var(--graphite); }
.grp-k span, .tx-k span { display: inline-block; margin-left: 10px; padding: 0 8px; border-radius: 3px; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; line-height: 1.7; color: var(--orange-ink); box-shadow: inset 0 0 0 1px rgba(205, 90, 44, .42); vertical-align: 1px; }
.cards3.cards-grp { margin-top: 22px; }
.fx-entry { margin-top: 48px; padding-top: 26px; border-top: 1.5px solid var(--graphite); display: grid; gap: 20px; }
.fx-entry-img { order: 2; display: block; aspect-ratio: 700 / 437; overflow: hidden; border-radius: 10px; background: var(--paper); box-shadow: inset 0 0 0 1px var(--hair); }
.fx-entry-img img { width: 100%; height: 100%; transition: transform 700ms var(--ease-state); }
.fx-entry:hover .fx-entry-img img { transform: scale(1.025); }
.fx-entry .grp-k { margin-top: 0; padding-top: 0; border-top: 0; color: var(--orange-ink); }
.fx-entry-t h3 { margin-top: 8px; font-size: 21px; line-height: 1.45; }
.fx-entry-t h3 a { color: inherit; text-decoration: none; }
.fx-entry-t h3 a:hover { color: var(--orange-ink); }
.fx-entry-t > p:not(.grp-k) { margin-top: 10px; font-size: 15.5px; line-height: 1.85; max-width: 34em; }
.fx-entry-l { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.fx-entry-l a { display: inline-flex; align-items: center; min-height: 42px; padding: 6px 15px; border-radius: 999px; border: 1px solid var(--line); background: var(--paper); color: var(--graphite); text-decoration: none; font-size: 14.5px; font-weight: 600; }
.fx-entry-l a::after { content: "→"; margin-left: 8px; color: var(--orange-ink); }
.fx-entry-l a:hover { border-color: var(--orange); color: var(--orange-ink); }
.tx-map { margin-top: 24px; display: grid; gap: 10px; max-width: 1040px; }
.tx-g { padding: 12px 16px 14px; border-radius: 10px; background: var(--paper); box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .12); }
.tx-g.tx-f { background: rgba(205, 90, 44, .05); box-shadow: inset 0 0 0 1px rgba(205, 90, 44, .24); }
.tx-k { font-size: 13.5px; font-weight: 700; letter-spacing: .06em; color: var(--graphite-3); }
.tx-g ul { margin-top: 4px; display: flex; flex-wrap: wrap; gap: 0 20px; }
.tx-g a { display: inline-block; padding: 9px 0 2px; font-size: 15px; font-weight: 600; color: var(--graphite); text-decoration: none; border-bottom: 1px solid var(--line); }
.tx-g a:hover { color: var(--orange-ink); border-bottom-color: var(--orange); }
.pg-technology .toc-m { display: none; }
.fig-m, .fig-more { display: none; }
.ds-p > p { margin-top: 16px; line-height: 1.95; max-width: var(--measure); }
.ds-split > .ds-wide { margin-top: 28px; }
.co-card { margin-top: 10px; display: grid; gap: 22px; padding: 24px 22px; border-radius: 12px; background: var(--paper-2); box-shadow: inset 0 0 0 1px var(--hair); }
.co-card .grp-k { margin-top: 0; padding-top: 0; border-top: 0; color: var(--orange-ink); }
.co-card h2 { margin-top: 6px; }
.co-card-a > p:not(.grp-k) { margin-top: 12px; line-height: 1.9; max-width: 34em; }
.co-facts { border-top: 1.5px solid var(--graphite); }
.co-facts > div { display: grid; grid-template-columns: minmax(80px, 100px) minmax(0, 1fr); column-gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--hair); }
.co-facts dt { font-size: 14px; font-weight: 700; color: var(--muted); padding-top: 1px; }
.co-facts dd { min-width: 0; font-size: 15.5px; line-height: 1.75; color: var(--graphite); overflow-wrap: anywhere; }
.co-facts dd a { word-break: break-all; font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--line); display: inline-block; padding: 8px 0 1px; margin-top: -8px; }
.co-now .related { margin-top: 20px; }
.ct-quick { margin-top: 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; padding: 12px 18px; border-radius: 10px; background: var(--paper); box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .12); max-width: 900px; }
.ct-quick .ct-l { flex-basis: 100%; font-size: 13px; letter-spacing: .12em; font-weight: 700; color: var(--orange-ink); }
.ct-quick .mail { display: inline-block; padding: 8px 0 4px; font: 600 17px/1.5 var(--sans); color: var(--graphite); text-decoration: none; border-bottom: 1px solid var(--line); word-break: break-all; }
.ct-quick .mail:hover { border-bottom-color: var(--orange); }
.ct-quick button { min-height: 40px; padding: 6px 15px; border-radius: 999px; border: 1px solid var(--line); background: transparent; font-size: 13.5px; color: var(--graphite); cursor: pointer; }
.ct-quick button:hover { border-color: var(--orange); }
.ct-quick .ok { font-size: 13px; color: var(--orange-ink); min-width: 3em; }
.ct-jump { display: inline-block; padding: 8px 0 2px; font-size: 14.5px; font-weight: 600; color: var(--graphite); text-decoration: none; border-bottom: 1.5px solid var(--orange); }
.ct-jump::after { content: " ↓"; color: var(--orange-ink); }
.who-grid .who h2 { font-size: clamp(22px, 5.6vw, 26px); }
.who-grid + .ds { margin-top: 44px; border-top: 1px solid var(--hair); }
.pg-end { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 24px; margin-top: 36px; padding-top: 10px; padding-bottom: 32px; border-top: 1px solid var(--hair); }
.pe, .pe.top { padding: 10px 0; border-radius: 0; box-shadow: none; text-align: left; }
.pe.prev, .pe.next, .pe.top { order: 0; }
.pe .k { display: inline; margin-right: 8px; font-size: 13px; color: var(--muted); }
.pe b { display: inline; margin-top: 0; font-size: 15px; font-weight: 600; color: var(--graphite-2); }
.pe.top b { font-size: 14px; color: var(--muted); }
@media (max-width: 759px) {
  .fig-dual > .fig-d { display: none; }
  .fig-dual > .fig-m { display: block; }
  .fig-dual .fig-m .fig-art { width: auto; }
  .fig-more { display: block; margin-top: 6px; }
  .fig-more summary { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; list-style: none; font-size: 14.5px; font-weight: 600; color: var(--graphite-2); }
  .fig-more summary::-webkit-details-marker { display: none; }
  .fig-more summary::after { content: "+"; margin-left: 10px; font: 400 19px/1 var(--mono); color: var(--orange-ink); }
  .fig-more[open] summary::after { content: "−"; }
  .pe.prev { order: 1; } .pe.next { order: 2; margin-left: auto; } .pe.top { order: 3; flex-basis: 100%; padding-top: 0; }
}
@media (min-width: 760px) {
  .tx-map { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ct-quick .ct-l { flex-basis: auto; }
  .ct-jump { margin-left: auto; }
}
@media (min-width: 900px) {
  .fx-entry { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 48px; align-items: center; }
  .fx-entry-img { order: 0; }
  .cards3.cards-feat { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto 1fr; column-gap: 44px; row-gap: 30px; align-items: start; }
  .cards-feat > li:first-child { grid-row: 1 / span 2; }
  .cards-feat > li:first-child .card-img { aspect-ratio: 16 / 9; }
  .cards-feat > li:not(:first-child) { display: grid; grid-template-columns: minmax(0, 210px) minmax(0, 1fr); column-gap: 22px; align-items: start; }
  .cards-feat > li:not(:first-child) .card-img { grid-row: 1 / span 2; aspect-ratio: 16 / 10; }
  .cards-feat > li:not(:first-child) h3 { margin-top: 0; font-size: 19px; }
  .co-card { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: 48px; padding: 32px 36px; align-items: start; }
  .who-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; padding-top: 44px; }
  .who-grid .who { padding: 24px 22px 24px; border-radius: 12px; background: var(--paper); box-shadow: inset 0 0 0 1px rgba(42, 38, 35, .12); display: flex; flex-direction: column; }
  .who-grid .who + .who { margin-top: 0; border-top: 0; }
  .who-grid .who h2 { font-size: 22px; }
  .who-grid .who > p:not([class]) { font-size: 16px; line-height: 1.85; }
  .who-grid .who .ds-go { margin-top: auto; padding-top: 20px; flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media (min-width: 1180px) {
  .doc.doc-short { display: block; }
  .ds-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 88px; align-items: start; }
  .ds-split > h2 { grid-column: 1; }
  .ds-split > .ds-p { grid-column: 2; }
  .ds-split > .ds-p > p:first-child { margin-top: 8px; }
  .ds-split > .ds-wide { grid-column: 1 / -1; margin-top: 40px; }
  .doc-short > .ds:first-child { padding-top: 64px; }
  .who-grid { padding-top: 64px; }
  .who-grid + .ds { margin-top: 64px; }
}
