/* Zamp graphic framework (D-043, docs/project/GRAPHICS.md): seven archetypes, four fields, two scales, one motion
   vocabulary. Every size is in container units (cqw) so each graphic scales as one picture. Entrance plays once
   (.is-on, added when 35% visible); at most one quiet ambient loop; reduced motion shows the final frame. */

:root { --zg-out: cubic-bezier(.2, .7, .2, 1); --zg-io: cubic-bezier(.65, 0, .35, 1); --zg-green: #183e3d; --zg-mint: #afecdb; --zg-warm: #ede9e2; --zg-rule: #e6e1da; --zg-body: #323232; }
.zg, .zg * { box-sizing: border-box; }
.zg { position: relative; width: 100%; aspect-ratio: 3 / 2; overflow: hidden; container-type: inline-size; font-family: var(--z-font-body); color: #000; }
.zg--hero { aspect-ratio: 11 / 10; }
/* Fields */
.zg--warm { background: var(--zg-warm); }
.zg--paper { background: #fff; box-shadow: inset 0 0 0 1px var(--zg-rule); }
.zg--green { background: var(--zg-green) url('/migrated/a60a1871d4168ba74f983123d6f8d4d2a87f5d21a73421725e4cd298127d640a.svg') 0 0 / 22% auto no-repeat; color: #fff; }
.zg--green > * { z-index: 1; }
.zg--green::after { content: ""; position: absolute; z-index: 0; right: 0; bottom: 0; width: 15%; aspect-ratio: 282 / 325; background: url('/migrated/8b6ea4d6c59e8ac356e1049068cdfe7a3eb1b6702539167645ce405547f74948.svg') 100% 100% / contain no-repeat; pointer-events: none; }
.zg--photo { background: var(--zg-warm); }
/* Shared parts (same panel, chip and type everywhere) */
.zg-panel { background: #fff; color: #000; box-shadow: 0 .2cqw 0 var(--zg-rule), 0 4cqw 7cqw -4cqw rgba(12, 10, 8, .28); }
.zg-title { font: 400 3.2cqw/1.15 var(--z-font-heading); letter-spacing: -.01em; }
.zg-sub { font-size: 1.85cqw; color: #5b5b5b; }
.zg-chip { display: inline-flex; align-items: center; gap: .6cqw; padding: .6cqw 1.2cqw; background: var(--zg-mint); color: var(--zg-green); font: 500 1.75cqw/1.2 var(--z-font-body); white-space: nowrap; }
.zg-chip--wait { background: #f1eee9; color: var(--zg-body); }
.zg-chip--dark { background: var(--zg-green); color: #fff; }
.zg-label { font: 500 1.6cqw/1.3 var(--z-font-body); letter-spacing: .08em; text-transform: uppercase; color: #5b5b5b; }
.zg-num { font-variant-numeric: tabular-nums; }

/* ── A · LEDGER — a table at large scale, bleeding off the right and bottom edges. Motion: resolve sweep. ── */
.zg-ledger { position: absolute; left: 6%; top: 11%; width: 100%; }
/* Bleed: the panel runs off the right and bottom edges; its content stops short of the frame so every status stays visible. */
.zg-ledger th:last-child, .zg-ledger td:last-child { padding-right: 12cqw; text-align: right; }
.zg-ledger__head { padding-right: 12cqw; }
.zg-ledger__head { display: flex; align-items: center; gap: 1.6cqw; padding: 2.4cqw 2.8cqw; border-bottom: 1px solid var(--zg-rule); }
.zg-ledger__ico { width: 5cqw; height: 5cqw; display: grid; place-items: center; background: var(--zg-green); color: #fff; }
.zg-ledger__ico svg { width: 2.8cqw; height: 2.8cqw; }
.zg-ledger table { width: 100%; border-collapse: collapse; font-size: 2.3cqw; }
.zg-ledger th { padding: 1.6cqw 2.8cqw 1cqw; text-align: left; font: 500 1.55cqw/1.2 var(--z-font-body); letter-spacing: .08em; text-transform: uppercase; color: #5b5b5b; }
.zg-ledger td { padding: 2cqw 2.8cqw; border-top: 1px solid var(--zg-rule); }
.zg-ledger td:first-child { font-weight: 500; }
.zg-ledger__body { position: relative; }
.zg-sweep { position: absolute; left: 0; right: 0; top: 0; height: .35cqw; background: var(--zg-mint); box-shadow: 0 0 2cqw .4cqw rgba(175, 236, 219, .8); opacity: 0; }
.zg-res { display: inline-grid; } .zg-res > * { grid-area: 1 / 1; }
.zg-res__b { opacity: 1; } .zg-res__a { opacity: 0; }

/* ── B · FLOW — sources → Zamp → outcomes on drawn paths. Motion: draw, then travelling pulses. ── */
.zg-flow { position: absolute; inset: 6% 6%; display: grid; grid-template-columns: 26% 1fr 18% 1fr 30%; align-items: center; }
.zg-flow__col { position: relative; z-index: 1; height: 100%; display: grid; grid-template-rows: repeat(var(--n, 3), 1fr); align-items: center; }
.zg-src { display: flex; align-items: center; gap: 1.4cqw; padding: 1.6cqw 1.8cqw; font: 500 2.1cqw/1.2 var(--z-font-body); }
.zg-src img { width: 3.2cqw; height: 3.2cqw; object-fit: contain; }
.zg-hub { position: relative; z-index: 1; aspect-ratio: 1; display: grid; place-items: center; background: var(--zg-green); box-shadow: 0 4cqw 7cqw -3cqw rgba(12, 10, 8, .45); }
.zg-hub img { width: 64%; }
.zg-hub::before { content: ""; position: absolute; inset: -1.6cqw; border: 1px solid rgba(24, 62, 61, .25); }
.zg-out .zg-chip, .zg-src img, .zg-src__ico { flex: none; }
.zg-out { display: flex; align-items: center; justify-content: space-between; gap: 1cqw; padding: 1.6cqw 1.8cqw; font: 500 2.1cqw/1.2 var(--z-font-body); }
.zg-flow svg.zg-paths { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.zg-paths path { fill: none; stroke: var(--zg-green); stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.zg-paths .zg-pulse { fill: var(--zg-mint); stroke: var(--zg-green); stroke-width: 1; vector-effect: non-scaling-stroke; opacity: 0; }

/* ── C · MOMENT — one object at hero scale; it arrives, then one state change. ── */
.zg-moment { position: absolute; left: 50%; top: 50%; width: 64%; transform: translate(-50%, -50%); }
.zg-letter__head { display: grid; grid-template-columns: 6cqw 1fr auto; gap: 1.8cqw; align-items: center; padding: 2.6cqw 3cqw; border-bottom: 1px solid var(--zg-rule); }
.zg-letter__seal { width: 6cqw; height: 6cqw; display: grid; place-items: center; background: #f1eee9; }
.zg-letter__seal svg { width: 3.2cqw; height: 3.2cqw; color: #000; }
.zg-letter__body { padding: 2.4cqw 3cqw 1cqw; display: grid; gap: 1.4cqw; }
.zg-line { height: 1.2cqw; background: #f1eee9; } .zg-line--s { width: 62%; } .zg-line--m { width: 84%; }
.zg-reply { margin: 1.6cqw 3cqw 3cqw; padding: 2cqw 2.2cqw; background: var(--zg-green); color: #fff; display: grid; gap: 1cqw; }
.zg-reply b { font: 400 2.6cqw/1.2 var(--z-font-heading); }
.zg-reply small { font-size: 1.75cqw; color: rgba(255, 255, 255, .75); }
.zg-typed { display: block; justify-self: start; overflow: hidden; white-space: nowrap; text-overflow: clip; padding-right: .4cqw; border-right: .3cqw solid var(--zg-mint); font-size: 1.9cqw; color: #fff; max-width: 100%; }

/* ── D · MEASURE — the number is the graphic. Motion: count up, bar fills past the threshold. ── */
.zg-measure { position: absolute; inset: 12% 22% 12% 9%; display: flex; flex-direction: column; justify-content: center; }
.zg-measure .zg-label { color: rgba(255, 255, 255, .72); }
.zg-big { margin: 1.4cqw 0 6cqw; white-space: nowrap; font: 400 var(--zs, 17cqw)/.9 var(--z-font-heading); letter-spacing: -.04em; }
.zg-big small { font-size: max(.3em, 3.6cqw); white-space: nowrap; letter-spacing: -.01em; color: var(--zg-mint); margin-left: 1.2cqw; }
.zg-track { position: relative; height: 1.6cqw; margin-top: 0; background: rgba(255, 255, 255, .14); }
.zg-track i { position: absolute; inset: 0 auto 0 0; width: var(--v, 82%); background: var(--zg-mint); }
.zg-track b { position: absolute; top: -2.2cqw; bottom: -2.2cqw; left: var(--m, 80%); width: 2px; background: #fff; }
.zg-track__k { display: flex; justify-content: space-between; margin-top: 1.8cqw; font-size: 1.85cqw; color: rgba(255, 255, 255, .78); }
.zg-flag { position: absolute; left: var(--m, 80%); bottom: calc(100% + 2.8cqw); transform: translateX(-50%); }

/* ── E · MAP — U.S. + Canada as square tiles. Motion: tiles light in sequence. ── */
.zg-map { position: absolute; inset: 9% 7% 9%; display: grid; grid-template-columns: repeat(11, 1fr); grid-auto-rows: 1fr; gap: .8cqw; }
.zg-map span { display: grid; place-items: center; background: #fff; color: #5b5b5b; font: 500 1.45cqw/1 var(--z-font-body); box-shadow: inset 0 0 0 1px var(--zg-rule); }
.zg-map span.is-reg { background: var(--zg-green); color: #fff; box-shadow: none; }
.zg-map span.is-near { background: var(--zg-mint); color: var(--zg-green); box-shadow: none; }
.zg-map span.is-ca { box-shadow: inset 0 0 0 1px #c8bfb1; }
.zg-map__key { position: absolute; left: 7%; bottom: 3.4%; display: flex; gap: 2.4cqw; font-size: 1.6cqw; color: var(--zg-body); }
.zg-map__key i { display: inline-block; width: 1.4cqw; height: 1.4cqw; margin-right: .7cqw; vertical-align: -.2cqw; }

/* ── F · OBJECT — a tangible artefact. Motion: sheet slides in, square stamp lands. ── */
.zg-object { position: absolute; left: 25%; top: 7cqw; width: 50%; aspect-ratio: 8.5 / 9.6; }
.zg-sheet { position: absolute; inset: 0; background: #fff; color: #000; box-shadow: 0 .2cqw 0 var(--zg-rule), 0 4cqw 7cqw -4cqw rgba(12, 10, 8, .3); padding: 3.2cqw; display: grid; align-content: start; gap: 1.4cqw; }
.zg-sheet--back { transform: translate(3cqw, -2.4cqw) rotate(3deg); background: #f9f8f6; }
.zg-sheet__t { font: 400 2.7cqw/1.15 var(--z-font-heading); }
.zg-sheet__row { display: flex; justify-content: space-between; padding-top: 1.2cqw; border-top: 1px solid var(--zg-rule); font-size: 1.8cqw; }
.zg-stamp { position: absolute; right: -6%; bottom: 10%; display: grid; place-items: center; gap: .4cqw; width: 19cqw; aspect-ratio: 1; border: .5cqw solid var(--zg-green); color: var(--zg-green); background: rgba(175, 236, 219, .85); transform: rotate(-8deg); text-align: center; }
.zg-stamp b { font: 400 3.6cqw/1 var(--z-font-heading); letter-spacing: .02em; }
.zg-stamp small { font: 500 1.5cqw/1.2 var(--z-font-body); letter-spacing: .08em; text-transform: uppercase; }

/* ── G · PERSON — a photograph with one product card. Motion: the card rises. ── */
.zg-person img.zg-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.zg-person .zg-card { position: absolute; left: 6%; bottom: 7%; width: 54%; }
.zg-card__head { display: flex; align-items: center; justify-content: space-between; gap: 1.4cqw; padding: 2cqw 2.4cqw; border-bottom: 1px solid var(--zg-rule); }
.zg-card__row { display: flex; justify-content: space-between; padding: 1.5cqw 2.4cqw; font-size: 1.9cqw; border-top: 1px solid var(--zg-rule); }
.zg-card__row:first-of-type { border-top: 0; }

/* ── D-044 extensions: archetype variants and fields used by the site rollout ── */
.zg-ledger__head { position: relative; }
.zg-ledger__chip { margin-left: auto; }
.zg--green .zg-ledger, .zg--paper .zg-ledger { box-shadow: 0 4cqw 7cqw -4cqw rgba(0, 0, 0, .4); }
.zg-src > span:not(.zg-src__ico), .zg-out > span:first-child { display: grid; gap: .3cqw; min-width: 0; }
.zg-src small, .zg-out small { font: 400 1.55cqw/1.2 var(--z-font-body); color: #5b5b5b; }
.zg-src__ico { flex: none; display: grid; place-items: center; width: 3.6cqw; height: 3.6cqw; background: #f1eee9; color: var(--zg-green); }
.zg-src__ico svg { width: 2.2cqw; height: 2.2cqw; }
.zg-hub__t { font: 400 2.6cqw/1.1 var(--z-font-heading); color: #fff; text-align: center; padding: 0 1cqw; }
.zg--green .zg-hub { background: #fff; } .zg--green .zg-hub::before { border-color: rgba(255, 255, 255, .25); }
.zg--green .zg-hub img { filter: invert(1) brightness(.2) sepia(1) hue-rotate(120deg) saturate(3); }
.zg--green .zg-hub__t { color: var(--zg-green); }
.zg--green .zg-paths path { stroke: var(--zg-mint); }
.zg--green .zg-paths .zg-pulse { fill: #fff; stroke: var(--zg-mint); }
.zg-code { margin: 0 3cqw; padding: 2cqw 2.4cqw; background: #0c0a08; color: #e6e1da; font: 400 1.75cqw/1.7 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre; overflow: hidden; }
.zg-code span { display: block; } .zg-code em { font-style: normal; color: var(--zg-mint); } .zg-code u { text-decoration: none; color: #c8bfb1; }
.zg--paper .zg-moment, .zg--warm .zg-moment { box-shadow: 0 .2cqw 0 var(--zg-rule), 0 4cqw 7cqw -4cqw rgba(12, 10, 8, .3); }
/* Measure on light fields */
.zg--warm .zg-measure, .zg--paper .zg-measure { color: #000; }
.zg--warm .zg-measure .zg-label, .zg--paper .zg-measure .zg-label { color: #5b5b5b; }
.zg--warm .zg-big small, .zg--paper .zg-big small { color: var(--zg-green); }
.zg--warm .zg-track, .zg--paper .zg-track { background: rgba(24, 62, 61, .12); }
.zg--warm .zg-track i, .zg--paper .zg-track i { background: var(--zg-green); }
.zg--warm .zg-track b, .zg--paper .zg-track b { background: #000; }
.zg--warm .zg-track__k, .zg--paper .zg-track__k { color: var(--zg-body); }
.zg-figs { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 2.4cqw; margin: 0; padding-top: 2.6cqw; border-top: 1px solid rgba(255, 255, 255, .2); }
.zg--warm .zg-figs, .zg--paper .zg-figs { border-color: var(--zg-rule); }
.zg-figs dt { font-size: 1.7cqw; color: rgba(255, 255, 255, .72); }
.zg--warm .zg-figs dt, .zg--paper .zg-figs dt { color: #5b5b5b; }
.zg-figs dd { margin: .6cqw 0 0; font: 400 3.6cqw/1 var(--z-font-heading); }
/* Map key */
.zg-map__key i.k1 { background: var(--zg-green); } .zg-map__key i.k2 { background: var(--zg-mint); } .zg-map__key i.k3 { background: #fff; box-shadow: inset 0 0 0 1px #c8bfb1; }
/* Object on paper/green */
.zg--paper .zg-sheet { box-shadow: 0 0 0 1px var(--zg-rule), 0 4cqw 7cqw -4cqw rgba(12, 10, 8, .3); }
.zg--green .zg-stamp { border-color: var(--zg-green); }
/* Hero frame (feature + integration heroes live inside the 11:10 split-hero media frame) */
.header_image-wrapper > .zg { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
.zg--hero .zg-person, .zg--hero.zg-person .zg-card { }
.zg--hero.zg-person .zg-card { left: -7%; bottom: -6%; width: 62%; }
.header_image-wrapper:has(> .zg--hero.zg-person) { overflow: visible !important; }
.zg--hero.zg-person { overflow: visible; } .zg--hero.zg-person .zg-photo { clip-path: inset(0); }
.zg--hero .zg-title { font-size: 3.4cqw; } .zg--hero .zg-card__row { font-size: 2.1cqw; } .zg--hero .zg-chip { font-size: 1.9cqw; }
@media (max-width: 991px) { .zg--hero.zg-person .zg-card { left: 4%; bottom: 4%; width: 66%; } }

/* ── Motion (entrance once; one ambient loop) ── */
@media (prefers-reduced-motion: no-preference) {
  .zg [data-in] { opacity: 0; transform: translateY(3cqw); }
  .zg.is-on [data-in] { opacity: 1; transform: none; transition: opacity .7s var(--zg-out), transform .9s var(--zg-out); transition-delay: calc(var(--d, 0) * 90ms); }
  /* A resolve */
  .zg-ledger .zg-res__a { opacity: 1; } .zg-ledger .zg-res__b { opacity: 0; }
  .zg-ledger.is-on .zg-res__a, .is-on .zg-ledger .zg-res__a { opacity: 0; transition: opacity .3s; transition-delay: calc(900ms + var(--r) * 420ms); }
  .zg-ledger.is-on .zg-res__b, .is-on .zg-ledger .zg-res__b { opacity: 1; transform: none; transition: opacity .3s, transform .45s var(--zg-out); transition-delay: calc(900ms + var(--r) * 420ms); }
  .zg-ledger .zg-res__b { transform: scale(.8); }
  .is-on .zg-sweep { animation: zg-sweep 2.2s var(--zg-io) .8s 1 both; }
  .is-on .zg-ledger tr:last-child td:last-child .zg-chip { animation: zg-breathe 3.2s ease-in-out 4s infinite; }
  /* B travel */
  .zg-paths path { opacity: 0; }
  .is-on .zg-paths path { opacity: 1; transition: opacity .8s var(--zg-io); transition-delay: calc(500ms + var(--d, 0) * 110ms); }
  .is-on .zg-paths .zg-pulse { animation: zg-pulse-op 3.6s linear 1.6s infinite; }
  /* C arrive + type */
  .zg-moment[data-in] { transform: translate(-50%, -44%); }
  .zg.is-on .zg-moment[data-in] { transform: translate(-50%, -50%); }
  .zg-reply { opacity: 0; transform: translateY(2cqw); }
  .is-on .zg-reply { opacity: 1; transform: none; transition: opacity .6s var(--zg-out) 1.2s, transform .8s var(--zg-out) 1.2s; }
  .zg-typed { clip-path: inset(0 100% 0 0); }
  .is-on .zg-typed { clip-path: inset(0 0 0 0); transition: clip-path 1.8s steps(28) 1.9s; animation: zg-caret 1s steps(1) 3.8s 4; }
  /* D draw */
  .zg-track i { width: 0; }
  .is-on .zg-track i { width: var(--v, 82%); transition: width 1.6s var(--zg-out) .5s; }
  .zg-flag { opacity: 0; transform: translate(-50%, 1cqw); }
  .is-on .zg-flag { opacity: 1; transform: translate(-50%, 0); transition: opacity .5s 1.9s, transform .6s var(--zg-out) 1.9s; }
  /* E sequence */
  .zg-map span.is-reg, .zg-map span.is-near { background: #fff; color: #5b5b5b; box-shadow: inset 0 0 0 1px var(--zg-rule); }
  .is-on .zg-map span.is-reg { background: var(--zg-green); color: #fff; box-shadow: none; transition: background .4s, color .4s; transition-delay: calc(500ms + var(--s) * 110ms); }
  .is-on .zg-map span.is-near { background: var(--zg-mint); color: var(--zg-green); box-shadow: none; transition: background .4s; transition-delay: calc(500ms + var(--s) * 110ms); animation: zg-breathe 2.8s ease-in-out 3.5s infinite; }
  /* F stamp */
  .zg-stamp { opacity: 0; transform: rotate(-8deg) scale(1.6); }
  .is-on .zg-stamp { opacity: 1; transform: rotate(-8deg) scale(1); transition: opacity .2s 1.3s, transform .45s cubic-bezier(.3, 1.5, .5, 1) 1.3s; }
  /* G rise */
  .zg-person .zg-card[data-in] { transform: translateY(5cqw); }
}
@keyframes zg-sweep { 0% { top: 0; opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { top: 100%; opacity: 0; } }
@keyframes zg-breathe { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
@keyframes zg-pulse-op { 0%, 100% { opacity: 0; } 8%, 70% { opacity: 1; } }
@keyframes zg-caret { 50% { border-color: transparent; } }

/* Specimen page */
.zg-page { max-width: 84rem; margin: 0 auto; padding: 64px clamp(20px, 4.2vw, 60px) 120px; font-family: var(--z-font-body); color: #000; }
.zg-page h1 { margin: 0; font: 400 clamp(2.5rem, 1.6rem + 3vw, 4rem)/1.08 var(--z-font-heading); letter-spacing: -.02em; }
.zg-page__lead { max-width: 40rem; margin: 20px 0 0; font-size: 18px; line-height: 1.6; color: var(--zg-body); }
.zg-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 56px 0 96px; padding: 0; list-style: none; }
.zg-rules li { padding: 24px; background: #f6f5f3; font-size: 15px; line-height: 1.55; color: var(--zg-body); }
.zg-rules b { display: block; margin-bottom: 8px; font: 400 20px/1.25 var(--z-font-heading); color: #000; }
.zg-spec { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: center; margin-top: 88px; }
.zg-spec__copy { grid-column: 1 / span 4; }
.zg-spec__art { grid-column: 6 / -1; }
.zg-spec__k { margin: 0 0 16px; font: 500 12px/1.3 var(--z-font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--zg-green); }
.zg-spec h2 { margin: 0; font: 400 32px/1.15 var(--z-font-heading); letter-spacing: -.01em; }
.zg-spec p { margin: 12px 0 0; font-size: 16px; line-height: 1.6; color: var(--zg-body); }
.zg-spec dl { margin: 20px 0 0; font-size: 14px; } .zg-spec dl div { display: flex; gap: 12px; padding: 8px 0; border-top: 1px solid var(--zg-rule); } .zg-spec dt { width: 6.5rem; flex: none; color: #5b5b5b; } .zg-spec dd { margin: 0; }
.zg-spec__replay { margin-top: 20px; padding: 0; border: 0; background: none; font: 500 14px var(--z-font-body); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
@media (max-width: 980px) { .zg-rules { grid-template-columns: 1fr; } .zg-spec__copy, .zg-spec__art { grid-column: 1 / -1; } }

/* Phones: the graphic still scales as one picture, but its text steps up so nothing reads below ~10px. */
@container (max-width: 480px) {
  .zg-title { font-size: 4.4cqw; } .zg-sub { font-size: 2.8cqw; } .zg-chip { font-size: 2.6cqw; padding: .8cqw 1.4cqw; }
  .zg-src, .zg-out { font-size: 3cqw; padding: 1.8cqw 2cqw; } .zg-out { padding: 1.4cqw 1.2cqw 1.4cqw 1.6cqw; gap: .6cqw; } .zg-out .zg-chip { font-size: 2.2cqw; padding: .6cqw .9cqw; } .zg-src small, .zg-out small { display: none; } .zg-src img { width: 4.2cqw; height: 4.2cqw; }
  .zg-ledger table { font-size: 3.1cqw; } .zg-ledger th { font-size: 2.3cqw; } .zg-ledger td { padding: 2.4cqw 2.8cqw; }
  .zg-ledger tr:nth-child(n+5) { display: none; }
  .zg-map span { font-size: 2.1cqw; } .zg-map__key { font-size: 2.4cqw; }
  .zg-card__row { font-size: 2.9cqw; } .zg-sheet__row { font-size: 2.7cqw; } .zg-sheet__t { font-size: 3.6cqw; }
  .zg-reply small { font-size: 2.5cqw; } .zg-typed { font-size: 2.8cqw; } .zg-reply b { font-size: 3.6cqw; } .zg-code { font-size: 2.4cqw; }
  .zg-figs dt { font-size: 2.5cqw; } .zg-track__k { font-size: 2.6cqw; } .zg-label { font-size: 2.4cqw; }
}
