/* Footer layouts (DESIGN-SYSTEM §9): one structure per design, phone and desktop separate, picked by the token ft-layout.
   GENERATED by ~/fleet/css-src/footer/gen.mjs from css-src/footer/layouts/*.css - edit those, never this file. */
@media (max-width: 47.9375em) {
  /* _base */
  .ft .ft-i-s { transform: rotate(-90deg); }
  .ft .ft-i-up { transform: rotate(180deg); }
  .ft .ft-i-s:dir(rtl) { transform: rotate(90deg); }
  body:has(.m-fab) { --ft-clear-m: calc(var(--tap) * 1.27 + var(--space)); }
  .ft { display: block; margin-block-end: var(--ft-clear-m, 0rem); color: var(--text); background: var(--bg); font-family: var(--font-body); overflow-wrap: anywhere; overflow-x: clip; }
  .ft :where(ul, ol, dl, dd):not(:where([class*="flx"] *)) { margin: 0; padding: 0; list-style: none; }
  .ft :where(h2, p):not(:where([class*="flx"] *)) { margin: 0; }
  .ft :where(a, button):not(:where([class*="flx"] *)) { color: inherit; font: inherit; text-decoration: none; }
  .ft :where(button):not(:where([class*="flx"] *)) { background: none; border: 0; padding: 0; cursor: pointer; text-align: inherit; }
  :where(.ft) :where(summary) { list-style: none; cursor: pointer; }
  :where(.ft) summary::-webkit-details-marker { display: none; }
  :where(.ft) [dir="ltr"] { unicode-bidi: isolate; }
  :where(.ft) :where(a[href^="tel:"] [dir="ltr"], [class$="-act-n"]) { white-space: nowrap; }
  .ft :where([class$="-name"]):not(:where([class*="-flx-"])) { display: block; min-block-size: var(--tap); }
  .ft :where([class$="-langs"] a, [class$="-soc"]) { min-inline-size: var(--tap); justify-content: center; }
  .ft :where([class$="-social"]) { --soc-cols: 1; }
  .ft :where([class$="-social"]:has(> li:nth-child(2))) { --soc-cols: 2; }
  .ft :where([class$="-social"]:has(> li:nth-child(3))) { --soc-cols: 3; }
  .ft :where([class$="-social"]:has(> li:nth-child(4))) { --soc-cols: 4; }
  .ft :where([class$="-social"]:has(> li:nth-child(5))) { --soc-cols: 5; }
  .ft :where([class$="-social"]:has(> li:nth-child(6))) { --soc-cols: 3; }
  .ft :where([class$="-social"]:has(> li:nth-child(7))) { --soc-cols: 4; }
  .ft :where([class$="-social"]:has(> li:nth-child(9))) { --soc-cols: 5; }
  .ft :where([class$="-social"]:has(> li:nth-child(11))) { --soc-cols: 6; }
  .ft :where([class$="-social"]:has(> li:nth-child(13))) { --soc-cols: 5; }
  .ft :where([class$="-social"]:has(> li:nth-child(16))) { --soc-cols: 6; }
  .ft :where([class$="-flx-arrow"], [class$="-flx-members"]) { color: var(--text); }
  .ft :where([class$="-icon-img"]) { display: block; inline-size: 100%; block-size: 100%; object-fit: contain; }
  .ft :where([class$="-reach"]) { display: grid; gap: var(--space-2xs); justify-items: start; }
  .ft :where([class$="-place"]) { display: grid; font-style: normal; }
  .ft :where([class$="-mail"], [class$="-place-line"], [class$="-place-hours"]) { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); }
  .ft :where([class$="-mail"], [class$="-place-line"], [class$="-place-hours"]) .icon { flex: none; inline-size: var(--icon); block-size: var(--icon); }
  .ft :where([class$="-company"]) { font-size: var(--step-caption); }
  .ft :where([class$="-legal-links"]) { display: flex; flex-wrap: wrap; column-gap: var(--space-s); }
  .ft :where([class$="-legal-links"] a) { display: inline-flex; align-items: center; min-block-size: var(--tap); text-decoration: underline; text-underline-offset: 0.2em; }
  .ft :where([class$="-top"]) { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); }
  /* band */
  .m-ft-band { display: grid; gap: var(--space-s); padding: var(--space-m) var(--space) var(--space); background: color-mix(in srgb, var(--text) 4%, var(--bg)); border-block-start: var(--line) solid var(--separator); }
  .m-fbd-id { display: grid; gap: var(--line); }
  .m-fbd-name { font: var(--w-600) var(--step-base)/calc(1.25 * var(--leading-scale, 1)) var(--font-display); }
  .m-fbd-tag { font-size: var(--step-caption); color: var(--text-2); }
  .m-fbd-lines { display: grid; border-block: var(--line) solid var(--separator); }
  .m-fbd-lines li { display: flex; align-items: center; justify-content: space-between; }
  .m-fbd-lines li + li { border-block-start: var(--line) solid var(--separator); }
  .m-fbd-tel { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); font-size: var(--step-small); }
  .m-fbd-tel span { display: grid; }
  .m-fbd-wa { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); color: var(--text-2); }
  .m-fbd-cta { display: flex; justify-content: space-between; align-items: center; min-block-size: var(--tap); padding-inline: var(--space-s); border-radius: var(--radius-s); background: var(--text); color: var(--bg); font-size: var(--step-small); font-weight: var(--w-600); }
  .m-fbd-dir { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s) var(--space); padding-block: var(--space-xs); }
  .m-fbd-col { display: grid; align-content: start; }
  .m-fbd-h { padding-block-end: var(--space-2xs); font: var(--w-600) var(--step-caption)/calc(1.2 * var(--leading-scale, 1)) var(--font-body); text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-2); }
  .m-fbd-link { display: flex; align-items: center; min-block-size: var(--tap); font-size: var(--step-small); line-height: calc(1.2 * var(--leading-scale, 1)); }
  .m-fbd-row { display: grid; gap: var(--space-xs); }
  .m-fbd-row .m-flx { background: transparent; border-block: var(--line) solid var(--separator); border-radius: 0; }
  .m-fbd-social { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .m-fbd-soc { display: grid; place-items: center; block-size: var(--tap); color: var(--text-2); }
  .m-fbd-legal { display: flex; flex-wrap: wrap; column-gap: var(--space-s); font-size: var(--step-caption); color: var(--text-2); }
  .m-fbd-priv, .m-fbd-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--text); }
  /* bento */
  .m-ft-bento { display: grid; gap: var(--space-s); padding: var(--space-xl) var(--space-s) var(--space-l); background: var(--bg); }
  .m-fbn-view { display: grid; gap: var(--space-xs); padding: var(--space-l) var(--space-s) var(--space); }
  .m-fbn-name { font: var(--w-700) var(--step-3)/calc(1.05 * var(--leading-scale, 1)) var(--font-display); letter-spacing: -0.01em; }
  .m-fbn-tag { color: var(--text-2); font-size: var(--step-base); }
  .m-fbn-card { display: grid; gap: var(--space-s); padding: var(--space) var(--space); background: var(--surface); border-radius: calc(var(--radius-xl) * 1.3); }
  .m-fbn-h { font: var(--w-700) var(--step-base)/calc(1.2 * var(--leading-scale, 1)) var(--font-display); }
  .m-fbn-lines { display: grid; gap: var(--space-2xs); }
  .m-fbn-line { display: grid; grid-template-columns: minmax(0, 1fr) calc(var(--tap) * 1.15); align-items: center; gap: var(--space-xs); }
  .m-fbn-call { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-xs); min-block-size: calc(var(--tap) * 1.15); }
  .m-fbn-line-t { display: grid; min-inline-size: 0; font-size: var(--step-base); font-weight: var(--w-600); font-variant-numeric: tabular-nums; white-space: nowrap; }
  .m-fbn-line-t small { font-size: var(--step-caption); font-weight: var(--w-400); color: var(--text-2); white-space: normal; }
  .m-fbn-chat { display: grid; place-items: center; }
  .m-fbn-disc { display: grid; place-items: center; inline-size: calc(var(--tap) * 1.15); block-size: calc(var(--tap) * 1.15); border-radius: 50%; background: color-mix(in srgb, var(--accent) 18%, var(--surface)); color: var(--accent-ink); }
  .m-fbn-disc-wa { background: color-mix(in srgb, var(--signal) 16%, var(--surface)); color: var(--text); }
  .m-fbn-btn { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: calc(var(--tap) * 1.1); border-radius: calc(var(--tap) * 0.55); background: var(--accent); color: var(--accent-text); font-weight: var(--w-600); }
  .m-fbn-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2xs); }
  .m-fbn-tile { display: flex; align-items: center; min-block-size: var(--tap); padding: var(--space-2xs) var(--space-s); border-radius: var(--radius-l); background: color-mix(in srgb, var(--text) 5%, var(--bg)); font-size: var(--step-small); font-weight: var(--w-500); line-height: calc(1.2 * var(--leading-scale, 1)); }
  .m-fbn-grid > li:only-child, .m-fbn-grid > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .m-fbn-menu { display: grid; gap: var(--space-s); }
  .m-fbn-misc { gap: var(--space-s); }
  .m-fbn-misc .m-flx { background: transparent; }
  .m-fbn-social { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2xs); }
  .m-fbn-soc { display: grid; place-items: center; block-size: var(--tap); border-radius: 50%; background: color-mix(in srgb, var(--text) 6%, var(--bg)); justify-self: center; inline-size: var(--tap); }
  .m-fbn-legal { display: grid; gap: var(--space-2xs); padding: var(--space-s) var(--space); font-size: var(--step-caption); color: var(--text-2); }
  .m-fbn-priv, .m-fbn-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--accent-ink); }
  .m-fbn-x { gap: 0; padding-block: var(--space-2xs); }
  .m-fbn-sum { display: grid; grid-template-columns: minmax(0, 1fr) auto var(--icon); align-items: center; gap: var(--space-xs); min-block-size: calc(var(--tap) * 1.1); }
  .m-fbn-n { min-inline-size: 1.75em; padding: var(--space-2xs) var(--space-xs); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--accent) 16%, var(--surface)); font: var(--w-600) var(--step-caption)/1 var(--font-body); text-align: center; }
  .m-fbn-sum .icon { transition: rotate var(--dur, 0.2s); }
  .m-fbn-x[open] .m-fbn-sum .icon { rotate: 180deg; }
  .m-fbn-x .m-fbn-grid { padding-block-end: var(--space-s); }
  /* chips */
  .ft-chips { --tn-1: color-mix(in srgb, var(--accent) 6%, var(--bg)); --tn-2: color-mix(in srgb, var(--accent) 12%, var(--bg)); --tn-3: color-mix(in srgb, var(--accent) 20%, var(--bg)); --tn-chip: color-mix(in srgb, var(--accent) 24%, var(--surface)); }
  .m-ft-chips { display: grid; }
  .m-fch-band { display: grid; gap: var(--space-s); padding: var(--space) var(--space); }
  .m-fch-b1 { background: var(--tn-1); padding-block-start: var(--space-l); }
  .m-fch-b2 { background: var(--tn-2); gap: var(--space); }
  .m-fch-b3 { background: var(--tn-3); gap: var(--space-xs); font-size: var(--step-caption); }
  .m-fch-name { font: var(--w-600) var(--step-1)/calc(1.15 * var(--leading-scale, 1)) var(--font-display); }
  .m-fch-tag { color: var(--text-2); font-size: var(--step-small); }
  .m-fch-set { display: grid; gap: var(--space-xs); }
  .m-fch-h { font: var(--w-600) var(--step-caption)/calc(1.2 * var(--leading-scale, 1)) var(--font-body); color: var(--text-2); letter-spacing: 0.02em; }
  .m-fch-chips { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
  .m-fch-chip { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); padding: var(--space-2xs) var(--space-s); border-radius: var(--radius); background: var(--tn-chip); font-size: var(--step-small); font-weight: var(--w-500); line-height: calc(1.2 * var(--leading-scale, 1)); }
  .m-fch-chip small { display: block; font-size: var(--step-caption); color: var(--text-2); }
  .m-fch-strong { background: var(--surface); }
  .m-fch-fill { background: var(--accent); color: var(--accent-text); }
  .m-fch-b3 .m-flx { background: var(--tn-2); border-radius: var(--radius); }
  .m-fch-social { display: grid; grid-template-columns: repeat(var(--soc-cols, 1), max-content); gap: var(--space-2xs); }
  .m-fch-soc { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); border-radius: var(--radius); background: var(--tn-2); }
  .m-fch-copy, .m-fch-credit { color: var(--text-2); }
  .m-fch-priv, .m-fch-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--accent-ink); }
  /* colophon */
  .m-ft-colophon { display: grid; justify-items: center; gap: var(--space-s); padding: var(--space-xl) var(--space) var(--space-l); text-align: center; }
  .m-fco-orn { font: var(--w-400) var(--step-2)/1 var(--font-display); color: var(--text-2); }
  .m-fco-name { display: block; font: var(--w-400) var(--step-3)/calc(1 * var(--leading-scale, 1)) var(--font-display); -webkit-text-stroke: calc(var(--line) * 0.8) var(--text); color: transparent; }
  .m-fco-tag { font: italic var(--w-400) var(--step-small)/calc(1.4 * var(--leading-scale, 1)) var(--font-display); color: var(--text-2); }
  .m-fco-toc { inline-size: 100%; margin-block: var(--space-xs); padding-block: var(--space-s); border-block: var(--line) solid var(--separator); }
  .m-fco-toc > ol { display: grid; gap: var(--space-s); }
  .m-fco-h { display: grid; justify-items: center; gap: var(--space-2xs); font: var(--w-400) var(--step-caption)/calc(1.2 * var(--leading-scale, 1)) var(--font-body); text-transform: uppercase; letter-spacing: 0.18em; color: var(--text-2); }
  .m-fco-rn { font: italic var(--w-400) var(--step-base)/1 var(--font-display); letter-spacing: 0.04em; color: var(--text); }
  .m-fco-run { display: flex; flex-wrap: wrap; justify-content: center; column-gap: var(--space-2xs); }
  .m-fco-run li { display: flex; align-items: center; gap: var(--space-2xs); }
  .m-fco-run li:not(:last-child)::after { content: "·"; content: "·" / ""; color: var(--text-2); }
  .m-fco-a { display: inline-flex; align-items: center; min-block-size: var(--tap); font: italic var(--w-400) var(--step-base)/calc(1.2 * var(--leading-scale, 1)) var(--font-display); }
  .m-fco-nums { display: flex; flex-wrap: wrap; justify-content: center; column-gap: var(--space); }
  .m-fco-num { display: inline-flex; align-items: center; min-block-size: var(--tap); font-variant-numeric: oldstyle-nums; font-family: var(--font-display); }
  .m-fco-nums li { display: inline-flex; align-items: center; gap: var(--space-2xs); }
  .m-fco-wa { display: inline-grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); }
  .m-fco-btn { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space); border-block: var(--line) solid var(--text); font: var(--w-400) var(--step-caption)/calc(1.2 * var(--leading-scale, 1)) var(--font-body); text-transform: uppercase; letter-spacing: 0.18em; }
  .m-fco-social { display: grid; grid-template-columns: repeat(var(--soc-cols, 1), max-content); justify-content: center; }
  .m-fco-soc { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); color: var(--text-2); }
  .m-fco-langs ul { display: flex; flex-wrap: wrap; justify-content: center; column-gap: var(--space-s); }
  .m-fco-langs a { display: inline-flex; align-items: center; min-block-size: var(--tap); font-size: var(--step-small); }
  .m-fco-langs a[aria-current] { text-decoration: underline; text-underline-offset: 0.3em; }
  .m-fco-colo { display: grid; justify-items: center; padding-block-start: var(--space-s); border-block-start: var(--line) solid var(--separator); font: italic var(--w-400) var(--step-caption)/calc(1.6 * var(--leading-scale, 1)) var(--font-display); color: var(--text-2); }
  .m-fco-priv, .m-fco-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--text); text-decoration: underline; }
  /* index */
  .ft-index { font-variant-numeric: tabular-nums; }
  .m-ft-index { display: grid; gap: var(--space); padding: var(--space-m) var(--space) var(--space); border-block-start: calc(var(--line) * 3) double var(--text); }
  .m-fix-head { display: grid; gap: var(--space-2xs); padding-block-end: var(--space-s); border-block-end: var(--line) solid var(--text); }
  .m-fix-name { font: var(--w-600) var(--step-1)/calc(1.15 * var(--leading-scale, 1)) var(--font-display); font-variant: small-caps; letter-spacing: 0.03em; }
  .m-fix-tag { font-size: var(--step-small); color: var(--text-2); }
  .m-fix-stmt { display: grid; }
  .m-fix-line { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: baseline; gap: var(--space-xs); border-block-end: var(--line) solid var(--separator); }
  .m-fix-line::after { content: ""; grid-column: 2; grid-row: 1; align-self: end; margin-block-end: 0.9em; border-block-end: calc(var(--line) * 1.5) dotted color-mix(in srgb, var(--text) 40%, transparent); }
  .m-fix-line dt { grid-column: 1; grid-row: 1; font: var(--w-600) var(--step-caption)/1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-2); }
  .m-fix-line dd { grid-column: 3; grid-row: 1; }
  .m-fix-val { display: flex; align-items: center; min-block-size: var(--tap); font: var(--w-500) var(--step-small)/1 var(--font-mono); }
  .m-fix-cta { display: flex; justify-content: space-between; align-items: center; min-block-size: var(--tap); padding-inline: var(--space-s); border: var(--line) solid var(--text); font: var(--w-600) var(--step-small)/1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.06em; }
  .m-fix-index { display: grid; border-block-start: var(--line) solid var(--text); }
  .m-fix-entry { border-block-end: var(--line) solid var(--separator); }
  .m-fix-sum { display: grid; grid-template-columns: 2.25em auto minmax(1em, 1fr) auto; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); }
  .m-fix-no { font: var(--w-500) var(--step-caption)/1 var(--font-mono); color: var(--text-2); }
  .m-fix-t { font-weight: var(--w-600); font-variant: small-caps; letter-spacing: 0.04em; }
  .m-fix-lead { align-self: center; border-block-end: calc(var(--line) * 1.5) dotted color-mix(in srgb, var(--text) 40%, transparent); }
  .m-fix-c { font: var(--w-500) var(--step-caption)/1 var(--font-mono); }
  .m-fix-entry[open] .m-fix-sum { color: var(--accent-ink); }
  .m-fix-items { display: grid; padding-block-end: var(--space-xs); }
  .m-fix-link { display: grid; grid-template-columns: 2.25em minmax(0, 1fr); align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline-start: var(--space-xs); }
  .m-fix-link .m-fix-no { font-size: var(--step-tiny, var(--step-caption)); }
  .m-fix-social { display: flex; flex-wrap: wrap; column-gap: var(--space); font: var(--w-500) var(--step-caption)/1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.05em; }
  .m-fix-soc { display: flex; align-items: center; min-block-size: var(--tap); text-decoration: underline; text-underline-offset: 0.3em; }
  .m-ft-index .m-flx { background: transparent; border-radius: 0; border-block: var(--line) solid var(--text); }
  .m-fix-legal { display: grid; padding-block-start: var(--space-xs); border-block-start: calc(var(--line) * 3) double var(--text); font: var(--w-400) var(--step-caption)/calc(1.5 * var(--leading-scale, 1)) var(--font-mono); color: var(--text-2); }
  .m-fix-priv, .m-fix-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--text); text-decoration: underline; }
  /* legend */
  .ft-legend { --grid-ink: color-mix(in srgb, var(--text) 7%, transparent); }
  .ft-legend .s0 { border-radius: 50%; }
  .ft-legend .s1 { clip-path: polygon(50% 4%, 96% 92%, 4% 92%); }
  .ft-legend .s2 { border-radius: 0; }
  .ft-legend .s3 { clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
  .ft-legend .s4 { clip-path: polygon(25% 4%, 75% 4%, 100% 50%, 75% 96%, 25% 96%, 0 50%); }
  .ft-legend .s5 { border-radius: 50%; background: transparent; border: calc(var(--line) * 2.5) solid var(--signal); }
  .m-ft-legend { display: grid; gap: var(--space); padding: var(--space-l) var(--space) var(--space); background-image: linear-gradient(var(--grid-ink) var(--line), transparent var(--line)), linear-gradient(90deg, var(--grid-ink) var(--line), transparent var(--line)); background-size: var(--space-l) var(--space-l); }
  .m-flg-title { display: grid; gap: var(--space-2xs); }
  .m-flg-name { font: var(--w-800) var(--step-1)/calc(1.05 * var(--leading-scale, 1)) var(--font-display); text-transform: uppercase; }
  .m-flg-tag { font: italic var(--w-400) var(--step-small)/calc(1.4 * var(--leading-scale, 1)) var(--font-body); color: var(--text-2); }
  .m-flg-posts { display: grid; gap: var(--space-2xs); }
  .m-flg-posts li { display: flex; gap: var(--space-2xs); }
  .m-flg-plate { flex: 1 1 auto; display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space-s) calc(var(--space-l)); background: var(--text); color: var(--bg); font: var(--w-700) var(--step-small)/1 var(--font-display); clip-path: polygon(0 0, calc(100% - var(--space)) 0, 100% 50%, calc(100% - var(--space)) 100%, 0 100%); }
  .m-flg-plate-wa { flex: 0 0 auto; inline-size: calc(var(--tap) * 1.4); padding-inline: var(--space-s); background: var(--signal); color: var(--on-signal); }
  .m-flg-cta { display: flex; justify-content: space-between; align-items: center; min-block-size: var(--tap); padding-inline: var(--space-s); border: calc(var(--line) * 2) solid var(--text); font-weight: var(--w-700); background: var(--bg); }
  .m-flg-key { display: grid; padding: var(--space-xs) var(--space-s); background: var(--bg); border: var(--line) solid var(--text); box-shadow: var(--space-2xs) var(--space-2xs) 0 color-mix(in srgb, var(--text) 18%, transparent); }
  .m-flg-k + .m-flg-k { border-block-start: var(--line) dashed var(--separator); }
  .m-flg-row { display: grid; grid-template-columns: var(--space) minmax(0, 1fr) auto var(--icon); align-items: center; gap: var(--space-xs); min-block-size: var(--tap); }
  .m-flg-row .icon { transition: rotate var(--dur, 0.2s); }
  .m-flg-k[open] .m-flg-row .icon { rotate: 90deg; }
  .m-flg-sym { display: inline-block; inline-size: 0.8em; block-size: 0.8em; background: var(--signal); }
  .m-flg-t { font-weight: var(--w-700); text-transform: uppercase; letter-spacing: 0.04em; font-size: var(--step-small); }
  .m-flg-c { font: var(--w-500) var(--step-caption)/1 var(--font-mono); color: var(--text-2); }
  .m-flg-links { display: grid; padding: 0 0 var(--space-xs) calc(var(--space) + var(--space-xs)); }
  .m-flg-link { display: grid; grid-template-columns: var(--space) minmax(0, 1fr); align-items: center; gap: var(--space-xs); min-block-size: var(--tap); }
  .m-flg-link .m-flg-sym { inline-size: 0.5em; block-size: 0.5em; opacity: 0.7; }
  .m-flg-social { display: grid; grid-template-columns: repeat(var(--soc-cols, 1), max-content); gap: var(--space-2xs); }
  .m-flg-soc { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); border-radius: 50%; background: var(--bg); border: var(--line) solid var(--text); }
  .m-flg-langs { background: var(--bg); }
  .m-flg-langs ul { display: flex; flex-wrap: wrap; column-gap: var(--space-s); }
  .m-flg-langs a { display: inline-flex; align-items: center; min-block-size: var(--tap); font-size: var(--step-small); }
  .m-flg-langs a[aria-current] { font-weight: var(--w-700); text-decoration: underline; }
  .m-flg-legal { display: grid; padding: var(--space-xs) var(--space-s); background: var(--bg); font-size: var(--step-caption); color: var(--text-2); }
  .m-flg-scale { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); inline-size: 60%; block-size: calc(var(--space-2xs) * 1.5); border: var(--line) solid var(--text); margin-block-end: var(--space-2xs); }
  .m-flg-scale i:nth-child(odd) { background: var(--text); }
  .m-flg-priv, .m-flg-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--text); text-decoration: underline; }
  /* letter */
  .ft-letter { --paper: color-mix(in srgb, var(--signal) 6%, var(--surface)); --ember: color-mix(in srgb, var(--accent) 85%, var(--signal)); }
  .m-ft-letter { display: grid; gap: var(--space); padding: var(--space-l) var(--space-s) var(--space); }
  .m-flt-letter { display: grid; gap: var(--space-xs); padding: var(--space-m) var(--space); background: var(--paper); border-radius: var(--radius); box-shadow: 0 var(--line) 0 color-mix(in srgb, var(--text) 10%, transparent), 0 var(--space-2xs) var(--space) color-mix(in srgb, var(--text) 7%, transparent); }
  .m-flt-dear { font: italic var(--w-500) var(--step-1)/calc(1.2 * var(--leading-scale, 1)) var(--font-display); }
  .m-flt-body { font-size: var(--step-base); line-height: calc(1.55 * var(--leading-scale, 1)); }
  .m-flt-sign { display: inline-flex; align-items: center; min-block-size: var(--tap); margin-block-start: var(--space-xs); font: var(--w-600) var(--step-1)/calc(1.1 * var(--leading-scale, 1)) var(--font-display); color: var(--accent-ink); }
  .m-flt-tag { margin-block-start: calc(var(--space-xs) * -1); font-size: var(--step-small); color: color-mix(in srgb, var(--text) 82%, var(--paper)); }
  .m-flt-ps { display: grid; margin-block-start: var(--space-xs); padding-block-start: var(--space-xs); border-block-start: var(--line) dashed color-mix(in srgb, var(--text) 25%, transparent); }
  .m-flt-ps li { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-s); }
  .m-flt-num, .m-flt-wa { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); }
  .m-flt-num span { display: grid; }
  .m-flt-wa { color: var(--accent-ink); font-size: var(--step-small); }
  .m-flt-btn { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--tap); margin-block-start: var(--space-xs); border-radius: var(--radius); background: var(--ember); color: var(--accent-text); font-weight: var(--w-600); }
  .m-flt-cards { display: grid; gap: var(--space-xs); }
  .m-flt-card { display: grid; gap: var(--space-2xs); padding: var(--space-s) var(--space); background: var(--paper); border-radius: var(--radius-s); border-block-start: calc(var(--line) * 3) solid var(--ember); }
  .m-flt-h { font: italic var(--w-500) var(--step-base)/calc(1.3 * var(--leading-scale, 1)) var(--font-display); }
  .m-flt-run { display: flex; flex-wrap: wrap; column-gap: var(--space-xs); }
  .m-flt-run li { display: flex; align-items: center; gap: var(--space-xs); }
  .m-flt-run li:not(:last-child)::after { content: ""; inline-size: 0.35em; block-size: 0.35em; border-radius: 50%; background: var(--ember); }
  .m-flt-a { display: inline-flex; align-items: center; min-block-size: var(--tap); font-size: var(--step-small); }
  .m-flt-stamps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-xs); }
  .m-flt-stamp { display: grid; place-items: center; block-size: calc(var(--tap) * 1.15); background: var(--paper); border: calc(var(--line) * 1.5) dashed color-mix(in srgb, var(--ember) 60%, transparent); border-radius: var(--radius-s); }
  .m-ft-letter .m-flx { background: var(--paper); border-radius: var(--radius); }
  .m-flt-legal { display: grid; text-align: center; font: italic var(--w-400) var(--step-caption)/calc(1.5 * var(--leading-scale, 1)) var(--font-display); color: var(--text-2); }
  .m-flt-priv, .m-flt-credit-link { display: inline-flex; justify-content: center; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--text); text-decoration: underline; }
  .m-flt-file { display: grid; padding-block-start: var(--space-s); }
  .m-flt-file .m-flt-card { display: block; padding: 0; margin-block-start: calc(var(--space-xs) * -1); border-radius: var(--radius) var(--radius) 0 0; box-shadow: 0 calc(var(--line) * -1) var(--space-xs) color-mix(in srgb, var(--text) 8%, transparent); }
  .m-flt-file .m-flt-card:first-child { margin-block-start: 0; }
  .m-flt-file .m-flt-card:last-child { border-radius: var(--radius); }
  .m-flt-tab { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; min-block-size: calc(var(--tap) * 1.05); padding: var(--space-2xs) var(--space) var(--space-xs); }
  .m-flt-n { display: grid; place-items: center; min-inline-size: 1.7em; block-size: 1.7em; border-radius: 50%; background: var(--ember); color: var(--accent-text); font: var(--w-600) var(--step-caption)/1 var(--font-body); }
  .m-flt-card[open] .m-flt-n { background: transparent; color: var(--text); border: var(--line) solid var(--ember); }
  .m-flt-file .m-flt-run { padding: 0 var(--space) var(--space-s); }
  /* modules */
  .ft-modules { --peg: color-mix(in srgb, var(--on-plane, var(--text)) 14%, transparent); --mod: color-mix(in srgb, var(--on-plane, var(--text)) 6%, var(--plane, var(--surface))); }
  .ft-modules { background: var(--plane, var(--bg)); color: var(--on-plane, var(--text)); --focus-color: var(--on-plane, var(--text)); }
  .m-ft-modules { padding: var(--space-l) var(--space-s) var(--space); background-image: radial-gradient(circle, var(--peg) calc(var(--line) * 1.5), transparent calc(var(--line) * 2)); background-size: var(--space) var(--space); }
  .m-fmo-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-s) var(--space-xs); }
  .m-fmo-menu { display: contents; }
  .m-fmo-mod { position: relative; display: grid; align-content: start; gap: var(--space-xs); padding: var(--space) var(--space-s) var(--space-s); background: var(--mod); border: var(--line) solid color-mix(in srgb, var(--on-plane, var(--text)) 22%, transparent); }
  .m-fmo-mod::before, .m-fmo-mod::after { content: ""; position: absolute; inset-block-start: var(--space-2xs); inline-size: calc(var(--space-2xs) * 1.2); block-size: calc(var(--space-2xs) * 1.2); border-radius: 50%; background: var(--plane, var(--bg)); box-shadow: inset 0 var(--line) var(--line) var(--backdrop); }
  .m-fmo-mod::before { inset-inline-start: var(--space-2xs); }
  .m-fmo-mod::after { inset-inline-end: var(--space-2xs); }
  .m-fmo-id, .m-fmo-contact, .m-fmo-misc, .m-fmo-legal { grid-column: 1 / -1; }
  .m-fmo-g[open] { grid-column: 1 / -1; }
  .m-fmo-name { font: var(--w-700) var(--step-1)/calc(1.05 * var(--leading-scale, 1)) var(--font-display); text-transform: uppercase; }
  .m-fmo-tag { font-size: var(--step-small); color: var(--plane-muted, var(--text-2)); }
  .m-fmo-tagl { justify-self: start; padding: var(--space-2xs) var(--space-xs); background: var(--signal); color: var(--on-signal); font: var(--w-700) var(--step-caption)/1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.06em; }
  .m-fmo-sum { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); }
  .m-fmo-sum .m-fmo-tagl { justify-self: stretch; }
  .m-fmo-c { font: var(--w-700) var(--step-base)/1 var(--font-mono); }
  .m-fmo-g { padding-block-start: var(--space-s); }
  .m-fmo-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-s); }
  .m-fmo-link { display: flex; align-items: center; min-block-size: var(--tap); font-size: var(--step-small); border-block-end: var(--line) dashed color-mix(in srgb, var(--on-plane, var(--text)) 20%, transparent); }
  .m-fmo-nums { display: grid; }
  .m-fmo-nums li { display: flex; align-items: center; justify-content: space-between; }
  .m-fmo-num { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); font-family: var(--font-mono); }
  .m-fmo-num span { display: grid; }
  .m-fmo-wa { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); border: var(--line) solid color-mix(in srgb, var(--on-plane, var(--text)) 30%, transparent); }
  .m-fmo-btn { display: flex; justify-content: space-between; align-items: center; min-block-size: var(--tap); padding-inline: var(--space-s); background: var(--signal); color: var(--on-signal); font: var(--w-700) var(--step-small)/1 var(--font-mono); text-transform: uppercase; }
  .m-fmo-social { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2xs); }
  .m-fmo-soc { display: grid; place-items: center; block-size: var(--tap); border: var(--line) solid color-mix(in srgb, var(--on-plane, var(--text)) 30%, transparent); }
  .m-fmo-langs ul { display: flex; flex-wrap: wrap; column-gap: var(--space-s); }
  .m-fmo-langs a { display: inline-flex; align-items: center; min-block-size: var(--tap); font-size: var(--step-small); }
  .m-fmo-langs a[aria-current] { font-weight: var(--w-700); text-decoration: underline; text-decoration-color: var(--signal); text-decoration-thickness: calc(var(--line) * 2); text-underline-offset: 0.3em; }
  .m-fmo-legal { font: var(--w-400) var(--step-caption)/calc(1.5 * var(--leading-scale, 1)) var(--font-mono); color: var(--plane-muted, var(--text-2)); }
  .m-fmo-priv, .m-fmo-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--on-plane, var(--text)); text-decoration: underline; }
  /* path */
  .ft-path { --node: calc(var(--space) * 0.9); --path-line: color-mix(in srgb, var(--signal) 45%, transparent); }
  .m-ft-path { display: grid; gap: var(--space); padding: var(--space-l) var(--space) var(--space); }
  .m-fpa-path { display: grid; }
  .m-fpa-stop { position: relative; padding-inline-start: calc(var(--node) + var(--space)); padding-block-end: var(--space-xs); }
  .m-fpa-stop::before { content: ""; position: absolute; inset-inline-start: calc(var(--node) / 2 - var(--line) / 2); inset-block: 0; border-inline-start: calc(var(--line) * 1.5) solid var(--path-line); }
  .m-fpa-stop:first-child::before { inset-block-start: calc(var(--node) * 0.9); }
  .m-fpa-stop:last-child::before { block-size: calc(var(--node) * 0.9); }
  .m-fpa-stop::after { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: calc((var(--tap) - var(--node)) / 2); inline-size: var(--node); block-size: var(--node); border-radius: 50%; background: var(--bg); border: calc(var(--line) * 1.5) solid var(--signal); box-sizing: border-box; }
  .m-fpa-first::after { inset-block-start: calc(var(--space-2xs)); background: var(--signal); }
  .m-fpa-stop:has(details[open])::after { background: var(--signal); }
  .m-fpa-first { display: grid; gap: var(--space-2xs); padding-block-end: var(--space-m); }
  .m-fpa-name { font: var(--w-300, var(--w-400)) var(--step-2)/calc(1.1 * var(--leading-scale, 1)) var(--font-display); }
  .m-fpa-tag { font-size: var(--step-small); color: var(--text-2); }
  .m-fpa-sum { display: flex; align-items: center; justify-content: space-between; min-block-size: var(--tap); font: var(--w-400) var(--step-1)/calc(1.1 * var(--leading-scale, 1)) var(--font-display); }
  .m-fpa-c { font: var(--w-400) var(--step-caption)/1 var(--font-mono); color: var(--text-2); }
  .m-fpa-links { display: grid; padding-block-end: var(--space-xs); }
  .m-fpa-link { display: flex; align-items: center; min-block-size: var(--tap); color: var(--text-2); }
  .m-fpa-last { display: grid; gap: var(--space-xs); padding-block: var(--space-xs) 0; }
  .m-fpa-h { font: var(--w-400) var(--step-1)/calc(1.2 * var(--leading-scale, 1)) var(--font-display); }
  .m-fpa-nums { display: grid; }
  .m-fpa-nums li { display: flex; align-items: center; gap: var(--space-2xs); }
  .m-fpa-num { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); font-family: var(--font-mono); font-size: var(--step-small); }
  .m-fpa-num span { display: grid; }
  .m-fpa-wa { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); border-radius: 50%; color: var(--signal); }
  .m-fpa-btn { justify-self: start; display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space); border-radius: var(--radius-pill); background: var(--signal); color: var(--on-signal); }
  .m-fpa-social { display: grid; grid-template-columns: repeat(var(--soc-cols, 1), max-content); gap: var(--space-2xs); }
  .m-fpa-soc { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); border-radius: 50%; border: var(--line) solid var(--separator); }
  .m-fpa-langs ul { display: flex; flex-wrap: wrap; column-gap: var(--space-s); }
  .m-fpa-langs a { display: inline-flex; align-items: center; min-block-size: var(--tap); font-size: var(--step-small); }
  .m-fpa-langs a[aria-current] { color: var(--signal); font-weight: var(--w-600); }
  .m-fpa-legal { display: grid; font: var(--w-400) var(--step-caption)/calc(1.6 * var(--leading-scale, 1)) var(--font-mono); color: var(--text-2); }
  .m-fpa-priv, .m-fpa-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--text); text-decoration: underline; }
  /* prose */
  .m-ft-prose { display: grid; gap: var(--space); padding: var(--space-xl) var(--space) var(--space); }
  .m-fpr-quote { font: italic var(--w-400) var(--step-2)/calc(1.15 * var(--leading-scale, 1)) var(--font-display); }
  .m-fpr-call, .m-fpr-para { font: var(--w-400) var(--step-base)/calc(2.1 * var(--leading-scale, 1)) var(--font-display); }
  .m-fpr-prose { display: grid; gap: var(--space-s); padding-block: var(--space-s); border-block: var(--line) solid var(--text); }
  .m-fpr-para > :is(.m-fpr-run, p) { display: inline; }
  .m-fpr-run { font-family: var(--font-body); font-size: var(--step-caption); font-weight: var(--w-700); text-transform: uppercase; letter-spacing: 0.12em; margin-inline-end: var(--space-2xs); }
  .m-fpr-a { padding-block: 0.55em; text-decoration: underline; text-decoration-thickness: var(--line); text-underline-offset: 0.25em; text-decoration-color: color-mix(in srgb, var(--text) 35%, transparent); }
  .m-fpr-go { font-style: italic; text-decoration-color: var(--accent-ink); color: var(--accent-ink); white-space: nowrap; }
  .m-fpr-go .icon { inline-size: 0.9em; block-size: 0.9em; vertical-align: -0.1em; }
  .m-fpr-sep { color: var(--text-2); }
  .m-ft-prose .m-flx { background: transparent; border-block: var(--line) solid var(--separator); border-radius: 0; }
  .m-fpr-social { display: flex; flex-wrap: wrap; gap: 0; }
  .m-fpr-soc { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); }
  .m-fpr-word { display: block; padding-block-start: var(--space-s); border-block-start: calc(var(--line) * 2) solid var(--text); font: var(--w-400) clamp(var(--step-2), 10.25cqi, 4.5rem)/calc(0.92 * var(--leading-scale, 1)) var(--font-display); letter-spacing: -0.03em; }
  .m-fpr-legal { display: grid; font: italic var(--w-400) var(--step-caption)/calc(1.6 * var(--leading-scale, 1)) var(--font-display); color: var(--text-2); }
  .m-fpr-priv, .m-fpr-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); text-decoration: underline; color: var(--text); }
  /* quiet */
  .m-ft-quiet { display: grid; justify-items: center; gap: var(--space-m); padding: var(--space-xl) var(--space) var(--space-l); text-align: center; }
  .m-fqt-say { max-inline-size: 18em; font: var(--w-400) var(--step-2)/calc(1.2 * var(--leading-scale, 1)) var(--font-display); }
  .m-fqt-name { display: inline-flex; align-items: center; min-block-size: var(--tap); margin-block-start: calc(var(--space) * -0.75); font-size: var(--step-small); letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-2); }
  .m-fqt-nums { display: grid; grid-template-columns: var(--tap) max-content var(--tap); justify-content: center; }
  .m-fqt-nums li { display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; align-items: center; }
  .m-fqt-nums .m-fqt-num { grid-column: 2; justify-self: center; }
  .m-fqt-num { display: inline-flex; align-items: center; min-block-size: var(--tap); padding-inline: var(--space-xs); font: var(--w-400) var(--step-1)/1 var(--font-display); }
  .m-fqt-wa { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); border-radius: 50%; color: var(--signal); }
  .m-fqt-cta { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space-m); border-radius: var(--radius-pill); border: var(--line) solid color-mix(in srgb, var(--signal) 55%, transparent); }
  .m-fqt-words { display: grid; justify-items: center; inline-size: 100%; padding-block: var(--space-s); border-block: var(--line) solid color-mix(in srgb, var(--signal) 25%, transparent); }
  .m-fqt-w { inline-size: 100%; }
  .m-fqt-word { display: flex; justify-content: center; align-items: center; min-block-size: calc(var(--tap) * 1.05); font: var(--w-400) var(--step-1)/1 var(--font-display); color: var(--text-2); transition: color var(--dur, 0.2s); }
  .m-fqt-w[open] .m-fqt-word { color: var(--text); }
  .m-fqt-word { gap: var(--space-2xs); }
  .m-fqt-sign { flex: none; inline-size: var(--icon); block-size: var(--icon); color: var(--signal); transition: rotate var(--dur, 0.2s); }
  .m-fqt-w[open] .m-fqt-sign { rotate: 180deg; }
  .m-fqt-links { display: grid; justify-items: center; padding-block-end: var(--space-s); }
  .m-fqt-link { display: inline-flex; align-items: center; min-block-size: var(--tap); color: var(--signal); }
  .m-fqt-social { display: grid; grid-template-columns: repeat(var(--soc-cols, 1), max-content); justify-content: center; gap: var(--space-2xs); }
  .m-fqt-soc { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); border-radius: 50%; border: var(--line) solid color-mix(in srgb, var(--signal) 40%, transparent); }
  .m-ft-quiet .m-flx { inline-size: 100%; background: transparent; text-align: start; }
  .m-fqt-legal { display: grid; justify-items: center; font-size: var(--step-caption); color: var(--text-2); }
  .m-fqt-priv, .m-fqt-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--text); }
  /* settings */
  .m-ft-settings { display: grid; gap: var(--space-m); padding: var(--space-l) var(--space) var(--space-l); background: var(--bg); }
  .m-fst-id { display: grid; justify-items: center; text-align: center; gap: var(--space-2xs); }
  .m-fst-home { display: grid; justify-items: center; gap: var(--space-xs); }
  .m-fst-icon { display: grid; place-items: center; inline-size: calc(var(--tap) * 1.45); block-size: calc(var(--tap) * 1.45); border-radius: calc(var(--tap) * 0.34); background: var(--accent); color: var(--accent-text); font: var(--w-700) var(--step-small)/1 var(--font-display); letter-spacing: 0.02em; box-shadow: 0 calc(var(--line) * 2) calc(var(--space-xs)) color-mix(in srgb, var(--text) 18%, transparent); }
  .m-fst-name { font: var(--w-600) var(--step-1)/calc(1.15 * var(--leading-scale, 1)) var(--font-display); }
  .m-fst-tag { color: var(--text-2); font-size: var(--step-small); }
  .m-fst-social { display: grid; grid-template-columns: repeat(var(--soc-cols, 1), max-content); justify-content: center; gap: var(--space-2xs); margin-block-start: var(--space-xs); }
  .m-fst-soc { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); border-radius: 50%; background: var(--surface); color: var(--text); }
  .m-fst-sec { display: grid; gap: var(--space-2xs); }
  .m-fst-head { padding-inline: var(--space); font: var(--w-400) var(--step-caption)/calc(1.3 * var(--leading-scale, 1)) var(--font-body); text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-2); }
  .m-fst-note { padding-inline: var(--space); font-size: var(--step-caption); color: var(--text-2); }
  .m-fst-list { display: grid; background: var(--surface); border-radius: var(--radius-l); overflow: hidden; }
  .m-fst-list :focus-visible { outline-offset: calc(var(--focus-ring) * -1); }
  .m-fst-li { position: relative; display: flex; align-items: center; }
  .m-fst-li + .m-fst-li::before { content: ""; position: absolute; inset-block-start: 0; inset-inline: calc(var(--space) + var(--tap) * 0.72 + var(--space-s)) 0; border-block-start: var(--line) solid var(--separator); }
  .m-fst-groups .m-fst-li + .m-fst-li::before { inset-inline-start: var(--space); }
  .m-fst-li > .m-fst-row, .m-fst-li > details { flex: 1 1 auto; min-inline-size: 0; }
  .m-fst-row { display: flex; align-items: center; gap: var(--space-s); inline-size: 100%; min-block-size: calc(var(--tap) * 1.05); padding: var(--space-2xs) var(--space-s) var(--space-2xs) var(--space); }
  .m-fst-tile { display: grid; place-items: center; inline-size: calc(var(--tap) * 0.72); block-size: calc(var(--tap) * 0.72); border-radius: calc(var(--tap) * 0.2); background: color-mix(in srgb, var(--signal) 85%, var(--accent)); color: var(--on-signal); flex: none; }
  .m-fst-tile .icon { inline-size: 1.1em; block-size: 1.1em; }
  .m-fst-label { flex: 1 1 auto; display: grid; font-size: var(--step-base); }
  .m-fst-label small { font-size: var(--step-caption); color: var(--text-2); }
  .m-fst-row > .icon:last-child { color: color-mix(in srgb, var(--text-2) 70%, transparent); }
  .m-fst-trail { display: grid; place-items: center; inline-size: var(--tap); block-size: var(--tap); margin-inline-end: var(--space-2xs); color: var(--accent-ink); }
  .m-fst-go { color: var(--accent-ink); font-weight: var(--w-600); justify-content: space-between; padding-inline-start: calc(var(--space) + var(--tap) * 0.72 + var(--space-s)); }
  .m-fst-acc { min-inline-size: 0; }
  .m-fst-acc > summary > .icon { transition: rotate var(--dur, 0.2s) var(--ease, ease); }
  .m-fst-acc[open] > summary > .icon { rotate: 90deg; }
  .m-fst-count { color: var(--text-2); font-variant-numeric: tabular-nums; }
  .m-fst-sub { display: grid; padding-block-end: var(--space-xs); }
  .m-fst-link { display: flex; align-items: center; min-block-size: var(--tap); padding-inline: var(--space) var(--space-s); color: var(--accent-ink); }
  .m-fst-lang .m-flx { background: var(--surface); border-radius: var(--radius-l); }
  .m-fst-foot { display: grid; justify-items: center; gap: var(--space-2xs); text-align: center; font-size: var(--step-caption); color: var(--text-2); }
  .m-fst-priv, .m-fst-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--accent-ink); }
  /* slab */
  .ft-slab { background: var(--plane); color: var(--on-plane); --focus-color: var(--on-plane); }
  .m-ft-slab { display: grid; gap: var(--space); padding: 0 0 var(--space); }
  .m-fsl-slab { display: grid; gap: var(--space-s); padding: var(--space-l) var(--space) calc(var(--space-xl) + var(--space)); background: var(--signal); color: var(--on-signal); clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--space-xl)), 0 100%); }
  .m-fsl-slab { --focus-color: var(--on-signal); }
  .m-fsl-cta { font: var(--w-800) var(--step-2)/calc(0.95 * var(--leading-scale, 1)) var(--font-display); text-transform: uppercase; letter-spacing: -0.01em; }
  .m-fsl-nums { display: grid; gap: var(--line); }
  .m-fsl-nums li { display: flex; gap: var(--line); }
  .m-fsl-num { flex: 1 1 auto; display: flex; align-items: center; min-block-size: calc(var(--tap) * 1.15); padding-inline: var(--space-s); background: color-mix(in srgb, var(--on-signal) 12%, transparent); font: var(--w-800) var(--step-1)/1 var(--font-display); letter-spacing: 0.01em; }
  .m-fsl-wa { display: grid; place-items: center; inline-size: calc(var(--tap) * 1.15); background: color-mix(in srgb, var(--on-signal) 12%, transparent); }
  .m-fsl-btn { display: flex; justify-content: space-between; align-items: center; min-block-size: var(--tap); padding-inline: var(--space-s); background: var(--plane); color: var(--on-plane); font: var(--w-800) var(--step-small)/1 var(--font-display); text-transform: uppercase; letter-spacing: 0.06em; }
  .m-fsl-id { display: grid; gap: var(--space-2xs); padding-inline: var(--space); }
  .m-fsl-name { font: var(--w-800) var(--step-1)/calc(1 * var(--leading-scale, 1)) var(--font-display); text-transform: uppercase; }
  .m-fsl-tag { font-size: var(--step-small); color: var(--plane-muted, color-mix(in srgb, var(--on-plane) 72%, transparent)); }
  .m-fsl-bars { display: grid; gap: var(--line); padding-inline: var(--space); }
  .m-fsl-bar { background: color-mix(in srgb, var(--on-plane) 7%, transparent); }
  .m-fsl-sum { display: grid; grid-template-columns: minmax(0, 1fr) auto var(--icon); align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space-s); }
  .m-fsl-sum .icon { transition: rotate var(--dur, 0.2s); }
  .m-fsl-bar[open] .m-fsl-sum .icon { rotate: 90deg; }
  .m-fsl-t { font: var(--w-800) var(--step-small)/1 var(--font-display); text-transform: uppercase; letter-spacing: 0.06em; }
  .m-fsl-c { min-inline-size: 1.75em; padding: var(--space-2xs); background: var(--plane-signal); color: var(--plane); font: var(--w-800) var(--step-caption)/1 var(--font-display); text-align: center; }
  .m-fsl-links { display: grid; padding-block-end: var(--space-2xs); }
  .m-fsl-link { display: flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); padding-inline: var(--space-s); }
  .m-fsl-link::before { content: "/"; content: "/" / ""; color: var(--plane-signal); font-weight: var(--w-800); }
  .m-ft-slab .m-flx { margin-inline: var(--space); border-radius: 0; --focus-color: currentColor; }
  .m-fsl-social { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); padding-inline: var(--space); }
  .m-fsl-soc { display: grid; place-items: center; block-size: var(--tap); }
  .m-fsl-strip { display: grid; gap: 0; margin-block-start: var(--space-s); padding: var(--space) var(--space) 0; border-block-start: calc(var(--line) * 2) solid var(--plane-signal); font-size: var(--step-caption); text-transform: uppercase; letter-spacing: 0.05em; color: var(--plane-muted, color-mix(in srgb, var(--on-plane) 72%, transparent)); }
  .m-fsl-priv, .m-fsl-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--tap); color: var(--on-plane); }
  /* the other device's tree */
  .d-ft-band,
  .d-fbd-band,
  .d-fbd-band.cols-4,
  .d-fbd-band.cols-3,
  .d-fbd-band.cols-2,
  .d-fbd-dir,
  .d-fbd-band > *,
  .d-fbd-dir > *,
  .d-fbd-band > :first-child,
  .d-fbd-dir > :last-child,
  .d-fbd-id,
  .d-fbd-name,
  .d-fbd-tag,
  .d-fbd-lines,
  .d-fbd-lines li,
  .d-fbd-tel,
  .d-fbd-tel span,
  .d-fbd-wa,
  .d-fbd-tel:hover,
  .d-fbd-wa:hover,
  .d-fbd-link:hover,
  .d-fbd-soc:hover,
  .d-fbd-cta,
  .d-fbd-col,
  .d-fbd-h,
  .d-fbd-link,
  .d-fbd-end,
  .d-fbd-end .d-flx,
  .d-fbd-social,
  .d-fbd-legal .d-flx,
  .d-fbd-soc,
  .d-fbd-legal,
  .d-fbd-copy,
  .d-fbd-priv,
  .d-fbd-credit-link,
  .d-fbd-top,
  .d-ft-bento,
  .d-fbn-grid,
  .d-fbn-card,
  .d-fbn-hero,
  .d-fbn-w3,
  .d-fbn-w2,
  .d-fbn-w1,
  .d-fbn-menu,
  .d-fbn-misc,
  .d-fbn-misc.span-5,
  .d-fbn-misc.span-6,
  .d-fbn-misc.span-7,
  .d-fbn-misc.span-8,
  .d-fbn-misc.span-9,
  .d-fbn-misc.span-10,
  .d-fbn-misc.span-11,
  .d-fbn-misc.span-12,
  .d-fbn-name,
  .d-fbn-tag,
  .d-fbn-h,
  .d-fbn-n,
  .d-fbn-acts,
  .d-fbn-act,
  .d-fbn-disc,
  .d-fbn-act:hover .d-fbn-disc,
  .d-fbn-act-l,
  .d-fbn-act-n,
  .d-fbn-btn,
  .d-fbn-links,
  .d-fbn-w3 .d-fbn-links,
  .d-fbn-tile,
  .d-fbn-tile:hover,
  .d-fbn-misc .d-flx,
  .d-fbn-social,
  .d-fbn-soc,
  .d-fbn-legal,
  .d-fbn-copy,
  .d-fbn-priv,
  .d-fbn-credit-link,
  .d-fbn-top,
  .d-ft-chips,
  .d-fch-band,
  .d-fch-b1,
  .d-fch-b2,
  .d-fch-b3,
  .d-fch-b3 > .d-flx,
  .d-fch-b3 > .d-fch-social,
  .d-fch-name,
  .d-fch-tag,
  .d-fch-row,
  .d-fch-row + .d-fch-row,
  .d-fch-h,
  .d-fch-chips,
  .d-fch-contact,
  .d-fch-chip,
  .d-fch-chip:hover,
  .d-fch-chip small,
  .d-fch-strong,
  .d-fch-fill,
  .d-fch-fill:hover,
  .d-fch-b3 .d-flx,
  .d-fch-social,
  .d-fch-soc,
  .d-fch-copy,
  .d-fch-credit,
  .d-fch-priv,
  .d-fch-credit-link,
  .d-fch-top,
  .d-ft-colophon,
  .d-fco-spread,
  .d-fco-verso,
  .d-fco-name,
  .d-fco-name:hover,
  .d-fco-tag,
  .d-fco-nums,
  .d-fco-num,
  .d-fco-nums li,
  .d-fco-wa,
  .d-fco-wa:hover,
  .d-fco-num:hover,
  .d-fco-a:hover,
  .d-fco-soc:hover,
  .d-fco-btn,
  .d-fco-btn:hover,
  .d-fco-social,
  .d-fco-soc,
  .d-fco-recto,
  .d-fco-toc,
  .d-fco-ch,
  .d-fco-rn,
  .d-fco-h,
  .d-fco-run,
  .d-fco-run li,
  .d-fco-run li:not(:last-child)::after,
  .d-fco-a,
  .d-fco-colo,
  .d-fco-orn,
  .d-fco-langs ul,
  .d-fco-langs a,
  .d-fco-langs a[aria-current],
  .d-fco-priv,
  .d-fco-credit-link,
  .d-ft-index,
  .d-fix-acct,
  .d-fix-name,
  .d-fix-tag,
  .d-fix-stmt,
  .d-fix-line,
  .d-fix-line::after,
  .d-fix-line dt,
  .d-fix-line dd,
  .d-fix-val,
  .d-fix-val:hover,
  .d-fix-link:hover,
  .d-fix-cta,
  .d-fix-cta:hover,
  .d-fix-social,
  .d-fix-soc,
  .d-fix-soc:hover,
  .d-fix-index,
  .d-fix-sec,
  .d-fix-h,
  .d-fix-no,
  .d-fix-c,
  .d-fix-items,
  .d-fix-item,
  .d-fix-link,
  .d-fix-legal,
  .d-fix-legal > *,
  .d-fix-legal > * + *,
  .d-fix-company,
  .d-fix-legal-links,
  .d-fix-company + .d-fix-copy,
  .d-fix-legal-links + .d-fix-copy,
  .d-fix-top,
  .d-fix-top:hover,
  .d-fix-cell,
  .d-fix-cell .d-flx,
  .d-fix-priv,
  .d-fix-credit-link,
  .d-ft-legend,
  .d-flg-map,
  .d-flg-panel,
  .d-flg-name,
  .d-flg-tag,
  .d-flg-key,
  .d-flg-key li,
  .d-flg-kl,
  .d-flg-kl:hover,
  .d-flg-cluster:has(> .d-flg-h:target),
  .d-flg-c,
  .d-flg-sym,
  .d-flg-posts,
  .d-flg-posts li,
  .d-flg-plate,
  .d-flg-plate:hover,
  .d-flg-plate-wa,
  .d-flg-cta,
  .d-flg-cta:hover,
  .d-flg-social,
  .d-flg-soc,
  .d-flg-field,
  .d-flg-cluster,
  .d-flg-cluster:nth-child(3n + 2),
  .d-flg-cluster:nth-child(3n),
  .d-flg-h,
  .d-flg-links,
  .d-flg-link,
  .d-flg-link:hover,
  .d-flg-legal,
  .d-flg-scale,
  .d-flg-scale i:nth-child(odd),
  .d-flg-copy,
  .d-flg-langs ul,
  .d-flg-langs a,
  .d-flg-langs a[aria-current],
  .d-flg-priv,
  .d-flg-credit-link,
  .d-flg-top,
  .d-ft-letter,
  .d-flt-spread,
  .d-flt-letter,
  .d-flt-dear,
  .d-flt-body,
  .d-flt-sign,
  .d-flt-tag,
  .d-flt-ps,
  .d-flt-ps li,
  .d-flt-num,
  .d-flt-wa,
  .d-flt-num span,
  .d-flt-num:hover,
  .d-flt-wa:hover,
  .d-flt-btn,
  .d-flt-wall,
  .d-flt-card,
  .d-flt-h,
  .d-flt-run,
  .d-flt-run li,
  .d-flt-run li:not(:last-child)::after,
  .d-flt-a,
  .d-flt-a:hover,
  .d-flt-legal,
  .d-flt-stamps,
  .d-flt-stamp,
  .d-flt-stamp:hover,
  .d-flt-copy,
  .d-flt-legal .d-flx,
  .d-flt-priv,
  .d-flt-credit-link,
  .d-flt-top,
  .d-ft-modules,
  .d-fmo-board,
  .d-fmo-menu,
  .d-fmo-mod,
  .d-fmo-mod:hover,
  .d-fmo-mod::before,
  .d-fmo-mod::after,
  .d-fmo-id,
  .d-fmo-contact,
  .d-fmo-contact.span-7,
  .d-fmo-contact.span-8,
  .d-fmo-contact.span-9,
  .d-fmo-contact.span-10,
  .d-fmo-contact.span-11,
  .d-fmo-contact.span-12,
  .d-fmo-contact.span-13,
  .d-fmo-contact.span-14,
  .d-fmo-g,
  .d-fmo-g.rows-6,
  .d-fmo-g.rows-7,
  .d-fmo-g.rows-8,
  .d-fmo-g.rows-9,
  .d-fmo-g.rows-4,
  .d-fmo-g.rows-5,
  .d-fmo-g.rows-3,
  .d-fmo-legal,
  .d-fmo-name,
  .d-fmo-tag,
  .d-fmo-tagl,
  .d-fmo-links,
  .d-fmo-link,
  .d-fmo-link:hover,
  .d-fmo-num:hover,
  .d-fmo-nums,
  .d-fmo-nums li,
  .d-fmo-num,
  .d-fmo-num span,
  .d-fmo-wa,
  .d-fmo-btn,
  .d-fmo-social,
  .d-fmo-soc,
  .d-fmo-soc:hover,
  .d-fmo-langs ul,
  .d-fmo-langs a,
  .d-fmo-langs a[aria-current],
  .d-fmo-copy,
  .d-fmo-priv,
  .d-fmo-credit-link,
  .d-fmo-top,
  .d-ft-path,
  .d-fpa-wrap,
  .d-fpa-ring,
  .d-fpa-name,
  .d-fpa-tag,
  .d-fpa-path,
  .d-fpa-stop,
  .d-fpa-stop::after,
  .d-fpa-stop:last-child::after,
  .d-fpa-stop::before,
  .d-fpa-stop:hover::before,
  .d-fpa-h,
  .d-fpa-links,
  .d-fpa-link,
  .d-fpa-link:hover,
  .d-fpa-out,
  .d-fpa-nums,
  .d-fpa-nums li,
  .d-fpa-wa,
  .d-fpa-num,
  .d-fpa-num span,
  .d-fpa-num:hover,
  .d-fpa-btn,
  .d-fpa-legal,
  .d-fpa-social,
  .d-fpa-soc,
  .d-fpa-soc:hover,
  .d-fpa-copy,
  .d-fpa-langs ul,
  .d-fpa-langs a,
  .d-fpa-langs a[aria-current],
  .d-fpa-priv,
  .d-fpa-credit-link,
  .d-fpa-top,
  .d-ft-prose,
  .d-fpr-spread,
  .d-fpr-left,
  .d-fpr-quote,
  .d-fpr-call,
  .d-fpr-para,
  .d-fpr-prose,
  .d-fpr-para > :is(.d-fpr-run, p),
  .d-fpr-run,
  .d-fpr-a,
  .d-fpr-a:hover,
  .d-fpr-go,
  .d-fpr-go .icon,
  .d-fpr-sep,
  .d-fpr-social,
  .d-fpr-soc,
  .d-fpr-soc:hover,
  .d-fpr-word,
  .d-fpr-word:hover,
  .d-fpr-legal,
  .d-fpr-copy,
  .d-fpr-legal .d-flx,
  .d-fpr-priv,
  .d-fpr-credit-link,
  .d-fpr-top,
  .d-ft-quiet,
  .d-fqt-bar,
  .d-fqt-name,
  .d-fqt-tag,
  .d-fqt-words,
  .d-fqt-word,
  .d-fqt-word:hover,
  .d-fqt-word:has(+ :popover-open),
  .d-fqt-pop,
  .d-fqt-links,
  .d-fqt-link,
  .d-fqt-link:hover,
  .d-fqt-nums,
  .d-fqt-nums li,
  .d-fqt-nums .d-fqt-num,
  .d-fqt-wa,
  .d-fqt-num,
  .d-fqt-num:hover,
  .d-fqt-under,
  .d-fqt-social,
  .d-fqt-soc,
  .d-fqt-soc:hover,
  .d-fqt-under .d-flx,
  .d-fqt-cta,
  .d-fqt-cta:hover,
  .d-fqt-legal,
  .d-fqt-priv,
  .d-fqt-credit-link,
  .d-ft-settings,
  .d-fst-side,
  .d-fst-id,
  .d-fst-home,
  .d-fst-icon,
  .d-fst-name,
  .d-fst-tag,
  .d-fst-head,
  .d-fst-list,
  .d-fst-list :focus-visible,
  .d-fst-li,
  .d-fst-li + .d-fst-li,
  .d-fst-li > .d-fst-row,
  .d-fst-li + .d-fst-li > .d-fst-row,
  .d-fst-row,
  .d-fst-row:hover,
  .d-fst-row > .icon:last-child,
  .d-fst-tile,
  .d-fst-tile .icon,
  .d-fst-label,
  .d-fst-label small,
  .d-fst-trail,
  .d-fst-go,
  .d-fst-side .d-flx,
  .d-fst-social,
  .d-fst-soc,
  .d-fst-soc:hover,
  .d-fst-detail,
  .d-fst-group,
  .d-fst-group .d-fst-row,
  .d-fst-foot,
  .d-fst-priv,
  .d-fst-credit-link,
  .d-fst-top,
  .d-fst-priv:hover,
  .d-fst-credit-link:hover,
  .d-fst-top:hover,
  .d-ft-slab,
  .d-fsl-split,
  .d-fsl-lead,
  .d-fsl-lead > *,
  .d-fsl-name,
  .d-fsl-tag,
  .d-fsl-slab,
  .d-fsl-cta,
  .d-fsl-nums,
  .d-fsl-nums li,
  .d-fsl-num,
  .d-fsl-num:hover,
  .d-fsl-wa:hover,
  .d-fsl-wa,
  .d-fsl-btn,
  .d-fsl-social,
  .d-fsl-soc,
  .d-fsl-cols,
  .d-fsl-menu,
  .d-fsl-col:nth-child(3n + 2),
  .d-fsl-col:nth-child(3n),
  .d-fsl-h,
  .d-fsl-links,
  .d-fsl-link,
  .d-fsl-link::before,
  .d-fsl-link:hover::before,
  .d-fsl-lang,
  .d-fsl-lang .d-flx,
  .d-fsl-strip,
  .d-fsl-copy,
  .d-fsl-priv,
  .d-fsl-credit-link,
  .d-fsl-top { display: none; }
}
@media (min-width: 48em) {
  /* _base */
  .ft .ft-i-s { transform: rotate(-90deg); }
  .ft .ft-i-up { transform: rotate(180deg); }
  .ft .ft-i-s:dir(rtl) { transform: rotate(90deg); }
  body:has(.m-fab) { --ft-clear-m: calc(var(--tap) * 1.27 + var(--space)); }
  .ft { display: block; margin-inline-start: var(--ft-rail-d, 0rem); color: var(--text); background: var(--bg); font-family: var(--font-body); overflow-wrap: anywhere; }
  .ft :where(ul, ol, dl, dd):not(:where([class*="flx"] *)) { margin: 0; padding: 0; list-style: none; }
  .ft :where(h2, p):not(:where([class*="flx"] *)) { margin: 0; }
  .ft :where(a, button):not(:where([class*="flx"] *)) { color: inherit; font: inherit; text-decoration: none; }
  .ft :where(button):not(:where([class*="flx"] *)) { background: none; border: 0; padding: 0; cursor: pointer; text-align: inherit; }
  :where(.ft) :where(summary) { list-style: none; cursor: pointer; }
  :where(.ft) summary::-webkit-details-marker { display: none; }
  :where(.ft) [dir="ltr"] { unicode-bidi: isolate; }
  :where(.ft) :where(a[href^="tel:"] [dir="ltr"], [class$="-act-n"]) { white-space: nowrap; }
  .ft :where([class$="-name"]):not(:where([class*="-flx-"])) { display: block; min-block-size: var(--control); }
  .ft :where([class$="-langs"] a, [class$="-soc"]) { min-inline-size: var(--control); justify-content: center; }
  .ft :where([class$="-social"]) { --soc-cols: 1; }
  .ft :where([class$="-social"]:has(> li:nth-child(2))) { --soc-cols: 2; }
  .ft :where([class$="-social"]:has(> li:nth-child(3))) { --soc-cols: 3; }
  .ft :where([class$="-social"]:has(> li:nth-child(4))) { --soc-cols: 4; }
  .ft :where([class$="-social"]:has(> li:nth-child(5))) { --soc-cols: 5; }
  .ft :where([class$="-social"]:has(> li:nth-child(6))) { --soc-cols: 3; }
  .ft :where([class$="-social"]:has(> li:nth-child(7))) { --soc-cols: 4; }
  .ft :where([class$="-social"]:has(> li:nth-child(9))) { --soc-cols: 5; }
  .ft :where([class$="-social"]:has(> li:nth-child(11))) { --soc-cols: 6; }
  .ft :where([class$="-social"]:has(> li:nth-child(13))) { --soc-cols: 5; }
  .ft :where([class$="-social"]:has(> li:nth-child(16))) { --soc-cols: 6; }
  .ft :where([class$="-flx-arrow"], [class$="-flx-members"]) { color: var(--text); }
  .ft :where([class$="-icon-img"]) { display: block; inline-size: 100%; block-size: 100%; object-fit: contain; }
  .ft :where([class$="-reach"]) { display: grid; gap: var(--space-2xs); justify-items: start; }
  .ft :where([class$="-place"]) { display: grid; font-style: normal; }
  .ft :where([class$="-mail"], [class$="-place-line"], [class$="-place-hours"]) { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); }
  .ft :where([class$="-mail"], [class$="-place-line"], [class$="-place-hours"]) .icon { flex: none; inline-size: var(--icon); block-size: var(--icon); }
  .ft :where([class$="-company"]) { font-size: var(--step-caption); }
  .ft :where([class$="-legal-links"]) { display: flex; flex-wrap: wrap; column-gap: var(--space-s); }
  .ft :where([class$="-legal-links"] a) { display: inline-flex; align-items: center; min-block-size: var(--control); text-decoration: underline; text-underline-offset: 0.2em; }
  .ft :where([class$="-top"]) { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); }
  /* band */
  .d-ft-band { display: grid; gap: var(--space-s); padding: var(--space-m) max(var(--space-l), calc((100% - var(--content-max)) / 2)) var(--space-s); background: color-mix(in srgb, var(--text) 4%, var(--bg)); border-block-start: var(--line) solid var(--separator); }
  .d-fbd-band { display: grid; grid-template-columns: minmax(16rem, 1fr) repeat(5, minmax(0, auto)); }
  .d-fbd-band.cols-4 { grid-template-columns: minmax(16rem, 1fr) repeat(4, minmax(0, auto)); }
  .d-fbd-band.cols-3 { grid-template-columns: minmax(16rem, 1fr) repeat(3, minmax(0, auto)); }
  .d-fbd-band.cols-2 { grid-template-columns: minmax(16rem, 1fr) repeat(2, minmax(0, auto)); }
  .d-fbd-dir { display: contents; }
  .d-fbd-band > *, .d-fbd-dir > * { padding-inline: var(--space); }
  .d-fbd-dir > * { border-inline-start: var(--line) solid var(--separator); }
  .d-fbd-band > :first-child { padding-inline-start: 0; }
  .d-fbd-dir > :last-child { padding-inline-end: 0; }
  .d-fbd-id { display: grid; align-content: start; gap: var(--space-2xs); }
  .d-fbd-name { font: var(--w-600) var(--step-small)/calc(1.25 * var(--leading-scale, 1)) var(--font-display); }
  .d-fbd-tag { font-size: var(--step-caption); color: var(--text-2); }
  .d-fbd-lines { display: grid; }
  .d-fbd-lines li { display: flex; align-items: center; gap: var(--space-2xs); }
  .d-fbd-tel { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); font-size: var(--step-small); }
  .d-fbd-tel span { display: grid; }
  .d-fbd-wa { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); color: var(--text-2); }
  .d-fbd-tel:hover, .d-fbd-wa:hover, .d-fbd-link:hover, .d-fbd-soc:hover { color: var(--accent-ink); }
  .d-fbd-cta { display: inline-flex; justify-self: start; align-items: center; gap: var(--space-xs); min-block-size: var(--control); padding-inline: var(--space-s); border-radius: var(--radius-s); background: var(--text); color: var(--bg); font-size: var(--step-caption); font-weight: var(--w-600); }
  .d-fbd-col { display: grid; align-content: start; }
  .d-fbd-h { padding-block-end: var(--space-2xs); font: var(--w-600) var(--step-caption)/calc(1.2 * var(--leading-scale, 1)) var(--font-body); text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-2); }
  .d-fbd-link { display: flex; align-items: center; min-block-size: var(--control); font-size: var(--step-small); line-height: calc(1.2 * var(--leading-scale, 1)); }
  .d-fbd-end { display: grid; align-content: start; gap: var(--space-xs); }
  .d-fbd-end .d-flx { background: transparent; border-radius: 0; }
  .d-fbd-social { display: flex; flex-wrap: wrap; }
  .d-fbd-legal .d-flx { background: transparent; border-radius: 0; min-inline-size: 16rem; }
  .d-fbd-soc { display: grid; place-items: center; block-size: var(--control); color: var(--text-2); }
  .d-fbd-legal { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space-m); padding-block-start: var(--space-xs); border-block-start: var(--line) solid var(--separator); font-size: var(--step-caption); color: var(--text-2); }
  .d-fbd-copy { flex: 1 1 auto; }
  .d-fbd-priv, .d-fbd-credit-link, .d-fbd-top { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); color: var(--text); }
  /* bento */
  .d-ft-bento { display: grid; gap: var(--space-s); max-inline-size: var(--content-max); margin-inline: auto; padding: var(--space-xl) var(--space-l) var(--space-l); }
  .d-fbn-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: dense; gap: var(--space-s); }
  .d-fbn-card { display: grid; align-content: start; gap: var(--space-s); padding: var(--space) var(--space-m); background: var(--surface); border-radius: calc(var(--radius-xl) * 1.3); grid-column: span 3; }
  .d-fbn-hero { grid-column: span 5; grid-row: span 2; align-content: space-between; padding: var(--space-m); background: color-mix(in srgb, var(--accent) 10%, var(--surface)); }
  .d-fbn-w3 { grid-column: span 4; grid-row: span 2; }
  .d-fbn-w2 { grid-column: span 3; }
  .d-fbn-w1 { grid-column: span 3; }
  .d-fbn-menu { display: contents; }
  .d-fbn-misc { grid-column: span 4; }
  .d-fbn-misc.span-5 { grid-column: span 5; }
  .d-fbn-misc.span-6 { grid-column: span 6; }
  .d-fbn-misc.span-7 { grid-column: span 7; }
  .d-fbn-misc.span-8 { grid-column: span 8; }
  .d-fbn-misc.span-9 { grid-column: span 9; }
  .d-fbn-misc.span-10 { grid-column: span 10; }
  .d-fbn-misc.span-11 { grid-column: span 11; }
  .d-fbn-misc.span-12 { grid-column: span 12; }
  .d-fbn-name { font: var(--w-700) var(--step-2)/calc(1.05 * var(--leading-scale, 1)) var(--font-display); letter-spacing: -0.01em; }
  .d-fbn-tag { color: var(--text-2); }
  .d-fbn-h { display: flex; justify-content: space-between; align-items: baseline; font: var(--w-700) var(--step-base)/calc(1.2 * var(--leading-scale, 1)) var(--font-display); }
  .d-fbn-n { font: var(--w-500) var(--step-caption)/1 var(--font-body); color: var(--text-2); font-variant-numeric: tabular-nums; }
  .d-fbn-acts { display: grid; grid-template-columns: repeat(auto-fill, minmax(6.5rem, 1fr)); gap: var(--space-s) var(--space-2xs); }
  .d-fbn-act { display: grid; justify-items: center; gap: var(--space-2xs); text-align: center; }
  .d-fbn-disc { display: grid; place-items: center; inline-size: calc(var(--control) * 1.6); block-size: calc(var(--control) * 1.6); border-radius: 50%; background: var(--surface); color: var(--accent-ink); transition: background var(--dur, 0.2s); }
  .d-fbn-act:hover .d-fbn-disc { background: color-mix(in srgb, var(--accent) 20%, var(--surface)); }
  .d-fbn-act-l { display: grid; font-size: var(--step-caption); }
  .d-fbn-act-n { color: var(--text-2); }
  .d-fbn-btn { display: flex; align-items: center; justify-content: center; gap: var(--space-xs); min-block-size: var(--tap); border-radius: calc(var(--tap) * 0.5); background: var(--accent); color: var(--accent-text); font-weight: var(--w-600); }
  .d-fbn-links { display: grid; gap: var(--space-2xs); }
  .d-fbn-w3 .d-fbn-links { grid-template-columns: minmax(0, 1fr); }
  .d-fbn-tile { display: flex; align-items: center; min-block-size: var(--control); padding: var(--space-2xs) var(--space-s); border-radius: var(--radius-l); background: color-mix(in srgb, var(--text) 4%, var(--bg)); font-size: var(--step-small); font-weight: var(--w-500); }
  .d-fbn-tile:hover { background: color-mix(in srgb, var(--accent) 14%, var(--bg)); }
  .d-fbn-misc .d-flx { background: transparent; }
  .d-fbn-social { display: grid; grid-template-columns: repeat(var(--soc-cols, 1), max-content); gap: var(--space-2xs); }
  .d-fbn-soc { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border-radius: 50%; background: color-mix(in srgb, var(--text) 6%, var(--bg)); }
  .d-fbn-legal { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space); padding: var(--space-s) var(--space-m); background: var(--surface); border-radius: calc(var(--radius-xl) * 1.3); font-size: var(--step-caption); color: var(--text-2); }
  .d-fbn-copy { flex: 1 1 auto; }
  .d-fbn-priv, .d-fbn-credit-link, .d-fbn-top { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); color: var(--accent-ink); }
  /* chips */
  .ft-chips { --tn-1: color-mix(in srgb, var(--accent) 6%, var(--bg)); --tn-2: color-mix(in srgb, var(--accent) 12%, var(--bg)); --tn-3: color-mix(in srgb, var(--accent) 20%, var(--bg)); --tn-chip: color-mix(in srgb, var(--accent) 24%, var(--surface)); }
  .d-ft-chips { display: grid; }
  .d-fch-band { display: grid; padding: var(--space) max(var(--space-l), calc((100% - var(--content-max)) / 2)); }
  .d-fch-b1 { grid-template-columns: minmax(14rem, 1fr) minmax(0, 2fr); align-items: center; gap: var(--space-l); padding-block: var(--space-m); background: var(--tn-1); }
  .d-fch-b2 { gap: 0; padding-block: var(--space-s); background: var(--tn-2); }
  .d-fch-b3 { grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: var(--space-xs) var(--space); padding-block: var(--space-s); background: var(--tn-3); font-size: var(--step-caption); }
  .d-fch-b3 > .d-flx, .d-fch-b3 > .d-fch-social { grid-column: span 2; }
  .d-fch-name { font: var(--w-600) var(--step-1)/calc(1.15 * var(--leading-scale, 1)) var(--font-display); }
  .d-fch-tag { color: var(--text-2); font-size: var(--step-small); }
  .d-fch-row { display: grid; grid-template-columns: minmax(10rem, 13rem) minmax(0, 1fr); align-items: start; gap: var(--space); padding-block: var(--space-s); }
  .d-fch-row + .d-fch-row { box-shadow: inset 0 var(--line) 0 0 color-mix(in srgb, var(--text) 8%, transparent); }
  .d-fch-h { padding-block-start: var(--space-2xs); font: var(--w-600) var(--step-small)/calc(1.3 * var(--leading-scale, 1)) var(--font-body); color: var(--text-2); }
  .d-fch-chips { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
  .d-fch-contact { justify-content: end; }
  .d-fch-chip { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); padding: var(--space-2xs) var(--space-s); border-radius: var(--radius); background: var(--tn-chip); font-size: var(--step-small); font-weight: var(--w-500); transition: background var(--dur, 0.2s); }
  .d-fch-chip:hover { background: color-mix(in srgb, var(--accent) 34%, var(--surface)); }
  .d-fch-chip small { display: block; font-size: var(--step-caption); color: var(--text-2); }
  .d-fch-strong { background: var(--surface); }
  .d-fch-fill { background: var(--accent); color: var(--accent-text); }
  .d-fch-fill:hover { background: var(--accent-hover, var(--accent)); }
  .d-fch-b3 .d-flx { background: var(--tn-2); border-radius: var(--radius); }
  .d-fch-social { display: flex; flex-wrap: wrap; gap: var(--space-2xs); justify-content: end; }
  .d-fch-soc { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border-radius: var(--radius); background: var(--tn-2); }
  .d-fch-copy, .d-fch-credit { color: var(--text-2); }
  .d-fch-priv, .d-fch-credit-link, .d-fch-top { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); color: var(--accent-ink); }
  /* colophon */
  .d-ft-colophon { display: grid; gap: var(--space-l); max-inline-size: var(--content-max); margin-inline: auto; padding: var(--space-xl) var(--space-l) var(--space-l); }
  .d-fco-spread { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .d-fco-verso { display: grid; align-content: start; gap: var(--space-m); padding-inline-end: var(--space-xl); border-inline-end: var(--line) solid var(--separator); box-shadow: inset calc(var(--space-l) * -1) 0 var(--space-l) calc(var(--space-l) * -1) color-mix(in srgb, var(--text) 10%, transparent); }
  .d-fco-name { display: block; font: var(--w-400) var(--step-4)/calc(0.95 * var(--leading-scale, 1)) var(--font-display); -webkit-text-stroke: calc(var(--line) * 0.8) var(--text); color: transparent; transition: color var(--dur, 0.3s); }
  .d-fco-name:hover { color: var(--text); }
  .d-fco-tag { font: italic var(--w-400) var(--step-base)/calc(1.4 * var(--leading-scale, 1)) var(--font-display); color: var(--text-2); }
  .d-fco-nums { display: grid; }
  .d-fco-num { display: inline-flex; align-items: center; min-block-size: var(--control); font-family: var(--font-display); font-variant-numeric: oldstyle-nums; }
  .d-fco-nums li { display: flex; align-items: center; gap: var(--space-2xs); }
  .d-fco-wa { display: inline-grid; place-items: center; inline-size: var(--control); block-size: var(--control); }
  .d-fco-wa:hover { color: var(--accent-ink); }
  .d-fco-num:hover, .d-fco-a:hover, .d-fco-soc:hover { color: var(--accent-ink); }
  .d-fco-btn { justify-self: start; display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); padding-inline: var(--space); border-block: var(--line) solid var(--text); font: var(--w-400) var(--step-caption)/calc(1.2 * var(--leading-scale, 1)) var(--font-body); text-transform: uppercase; letter-spacing: 0.18em; transition: background var(--dur, 0.3s); }
  .d-fco-btn:hover { background: color-mix(in srgb, var(--text) 6%, transparent); }
  .d-fco-social { display: flex; flex-wrap: wrap; }
  .d-fco-soc { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); color: var(--text-2); }
  .d-fco-recto { padding-inline-start: var(--space-xl); }
  .d-fco-toc { display: grid; }
  .d-fco-ch { display: grid; grid-template-columns: 3rem minmax(9rem, auto) minmax(0, 1fr); align-items: baseline; gap: var(--space-s); padding-block: var(--space-xs); border-block-end: var(--line) dotted color-mix(in srgb, var(--text) 30%, transparent); }
  .d-fco-rn { font: italic var(--w-400) var(--step-1)/1 var(--font-display); color: var(--text-2); }
  .d-fco-h { font: var(--w-400) var(--step-caption)/calc(1.3 * var(--leading-scale, 1)) var(--font-body); text-transform: uppercase; letter-spacing: 0.18em; }
  .d-fco-run { display: flex; flex-wrap: wrap; column-gap: var(--space-2xs); }
  .d-fco-run li { display: flex; align-items: center; gap: var(--space-2xs); }
  .d-fco-run li:not(:last-child)::after { content: "·"; content: "·" / ""; color: var(--text-2); }
  .d-fco-a { display: inline-flex; align-items: center; min-block-size: var(--control); font: italic var(--w-400) var(--step-base)/calc(1.2 * var(--leading-scale, 1)) var(--font-display); }
  .d-fco-colo { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--space-2xs) var(--space-m); padding-block-start: var(--space); border-block-start: var(--line) solid var(--separator); font: italic var(--w-400) var(--step-caption)/calc(1.5 * var(--leading-scale, 1)) var(--font-display); color: var(--text-2); text-align: center; }
  .d-fco-orn { flex-basis: 100%; font: var(--w-400) var(--step-1)/1 var(--font-display); }
  .d-fco-langs ul { display: flex; flex-wrap: wrap; justify-content: center; column-gap: var(--space-s); }
  .d-fco-langs a { display: inline-flex; align-items: center; min-block-size: var(--control); font-style: normal; }
  .d-fco-langs a[aria-current] { text-decoration: underline; text-underline-offset: 0.3em; }
  .d-fco-priv, .d-fco-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); color: var(--text); text-decoration: underline; }
  /* index */
  .ft-index { font-variant-numeric: tabular-nums; }
  .d-ft-index { display: grid; grid-template-columns: minmax(16rem, 21rem) minmax(0, 1fr); gap: 0; max-inline-size: var(--content-max); margin-inline: auto; padding: var(--space-l) var(--space-l) var(--space); border-block-start: calc(var(--line) * 3) double var(--text); }
  .d-fix-acct { display: grid; align-content: start; gap: var(--space-s); padding-inline-end: var(--space-l); border-inline-end: var(--line) solid var(--text); }
  .d-fix-name { font: var(--w-600) var(--step-1)/calc(1.15 * var(--leading-scale, 1)) var(--font-display); font-variant: small-caps; letter-spacing: 0.03em; }
  .d-fix-tag { font-size: var(--step-small); color: var(--text-2); padding-block-end: var(--space-s); border-block-end: var(--line) solid var(--text); }
  .d-fix-stmt { display: grid; }
  .d-fix-line { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: baseline; gap: var(--space-xs); border-block-end: var(--line) solid var(--separator); }
  .d-fix-line::after { content: ""; grid-column: 2; grid-row: 1; align-self: end; margin-block-end: 0.7em; border-block-end: calc(var(--line) * 1.5) dotted color-mix(in srgb, var(--text) 40%, transparent); }
  .d-fix-line dt { grid-column: 1; grid-row: 1; font: var(--w-600) var(--step-caption)/1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-2); }
  .d-fix-line dd { grid-column: 3; grid-row: 1; }
  .d-fix-val { display: flex; align-items: center; min-block-size: var(--control); font: var(--w-500) var(--step-small)/1 var(--font-mono); }
  .d-fix-val:hover, .d-fix-link:hover { color: var(--accent-ink); }
  .d-fix-cta { display: flex; justify-content: space-between; align-items: center; min-block-size: var(--control); padding-inline: var(--space-s); border: var(--line) solid var(--text); font: var(--w-600) var(--step-caption)/1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.06em; }
  .d-fix-cta:hover { background: var(--text); color: var(--bg); }
  .d-fix-social { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space); font: var(--w-500) var(--step-caption)/1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.05em; }
  .d-fix-soc { display: flex; align-items: center; min-block-size: var(--control); border-block-end: var(--line) solid var(--separator); }
  .d-fix-soc:hover { color: var(--accent-ink); }
  .d-fix-index { columns: 3 13rem; column-gap: var(--space-l); column-rule: var(--line) solid var(--separator); padding-inline-start: var(--space-l); }
  .d-fix-sec { break-inside: avoid; padding-block-end: var(--space); }
  .d-fix-h { display: grid; grid-template-columns: 2.5em minmax(0, 1fr) auto; align-items: baseline; padding-block-end: var(--space-2xs); border-block-end: var(--line) solid var(--text); font: var(--w-600) var(--step-small)/calc(1.3 * var(--leading-scale, 1)) var(--font-body); font-variant: small-caps; letter-spacing: 0.05em; }
  .d-fix-no { font: var(--w-500) var(--step-caption)/1 var(--font-mono); color: var(--text-2); font-variant: normal; letter-spacing: 0; }
  .d-fix-c { font: var(--w-500) var(--step-caption)/1 var(--font-mono); color: var(--text-2); }
  .d-fix-items { display: grid; }
  .d-fix-item { border-block-end: var(--line) solid var(--separator); }
  .d-fix-link { display: grid; grid-template-columns: 2.5em minmax(0, 1fr); align-items: center; min-block-size: var(--control); font-size: var(--step-small); }
  .d-fix-legal { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 0; margin-block-start: var(--space); border-block: calc(var(--line) * 3) double var(--text); font: var(--w-400) var(--step-caption)/calc(1.4 * var(--leading-scale, 1)) var(--font-mono); color: var(--text-2); }
  .d-fix-legal > * { padding: var(--space-2xs) var(--space-s); }
  .d-fix-legal > * + * { border-inline-start: var(--line) solid var(--separator); }
  .d-fix-company, .d-fix-legal-links { grid-column: 1 / -1; border-inline-start: 0; border-block-end: var(--line) solid var(--separator); }
  .d-fix-company + .d-fix-copy, .d-fix-legal-links + .d-fix-copy { border-inline-start: 0; }
  .d-fix-top { gap: var(--space-2xs); }
  .d-fix-top:hover { color: var(--accent-ink); }
  .d-fix-cell { display: flex; align-items: center; gap: var(--space-s); }
  .d-fix-cell .d-flx { background: transparent; border-radius: 0; }
  .d-fix-priv, .d-fix-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); color: var(--text); text-decoration: underline; }
  /* legend */
  .ft-legend { --grid-ink: color-mix(in srgb, var(--text) 7%, transparent); }
  .ft-legend .s0 { border-radius: 50%; }
  .ft-legend .s1 { clip-path: polygon(50% 4%, 96% 92%, 4% 92%); }
  .ft-legend .s2 { border-radius: 0; }
  .ft-legend .s3 { clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
  .ft-legend .s4 { clip-path: polygon(25% 4%, 75% 4%, 100% 50%, 75% 96%, 25% 96%, 0 50%); }
  .ft-legend .s5 { border-radius: 50%; background: transparent; border: calc(var(--line) * 2.5) solid var(--signal); }
  .d-ft-legend { display: grid; gap: var(--space-s); max-inline-size: var(--content-max); margin-inline: auto; padding: var(--space-xl) var(--space-l) var(--space); }
  .d-flg-map { display: grid; grid-template-columns: minmax(16rem, 19rem) minmax(0, 1fr); border: var(--line) solid var(--text); }
  .d-flg-panel { display: grid; align-content: start; gap: var(--space-s); padding: var(--space); border-inline-end: var(--line) solid var(--text); background: var(--bg); }
  .d-flg-name { font: var(--w-800) var(--step-1)/calc(1.05 * var(--leading-scale, 1)) var(--font-display); text-transform: uppercase; }
  .d-flg-tag { font: italic var(--w-400) var(--step-small)/calc(1.4 * var(--leading-scale, 1)) var(--font-body); color: var(--text-2); }
  .d-flg-key { display: grid; gap: var(--space-2xs); padding-block: var(--space-xs); border-block: var(--line) solid var(--separator); font-size: var(--step-caption); text-transform: uppercase; letter-spacing: 0.05em; }
  .d-flg-key li { display: grid; }
  .d-flg-kl { display: grid; grid-template-columns: var(--space) minmax(0, 1fr) auto; align-items: center; gap: var(--space-xs); min-block-size: 1.5rem; }
  .d-flg-kl:hover { color: var(--accent-ink); }
  .d-flg-cluster:has(> .d-flg-h:target) { border-color: var(--text); }
  .d-flg-c { font-family: var(--font-mono); color: var(--text-2); }
  .d-flg-sym { display: inline-block; inline-size: 0.75em; block-size: 0.75em; background: var(--signal); }
  .d-flg-posts { display: grid; gap: var(--space-2xs); }
  .d-flg-posts li { display: flex; gap: var(--space-2xs); }
  .d-flg-plate { flex: 1 1 auto; display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); padding-inline: var(--space-s) var(--space-m); background: var(--text); color: var(--bg); font: var(--w-700) var(--step-small)/1 var(--font-display); clip-path: polygon(0 0, calc(100% - var(--space-s)) 0, 100% 50%, calc(100% - var(--space-s)) 100%, 0 100%); transition: background var(--dur, 0.2s); }
  .d-flg-plate:hover { background: var(--signal); color: var(--on-signal); }
  .d-flg-plate-wa { flex: 0 0 auto; padding-inline: var(--space-xs) var(--space); background: var(--signal); color: var(--on-signal); }
  .d-flg-cta { display: flex; justify-content: space-between; align-items: center; min-block-size: var(--control); padding-inline: var(--space-s); border: calc(var(--line) * 2) solid var(--text); font-weight: var(--w-700); font-size: var(--step-small); }
  .d-flg-cta:hover { background: var(--text); color: var(--bg); }
  .d-flg-social { display: grid; grid-template-columns: repeat(var(--soc-cols, 1), max-content); gap: var(--space-2xs); }
  .d-flg-soc { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border-radius: 50%; border: var(--line) solid var(--text); }
  .d-flg-field { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-content: start; gap: var(--space-m) var(--space); padding: var(--space-m); background-image: linear-gradient(var(--grid-ink) var(--line), transparent var(--line)), linear-gradient(90deg, var(--grid-ink) var(--line), transparent var(--line)); background-size: var(--space-l) var(--space-l); }
  .d-flg-cluster { align-self: start; padding: var(--space-s); background: var(--bg); border: var(--line) solid var(--separator); }
  .d-flg-cluster:nth-child(3n + 2) { margin-block-start: var(--space-l); }
  .d-flg-cluster:nth-child(3n) { margin-block-start: var(--space); }
  .d-flg-h { display: flex; align-items: center; gap: var(--space-xs); padding-block-end: var(--space-2xs); font: var(--w-700) var(--step-caption)/calc(1.2 * var(--leading-scale, 1)) var(--font-body); text-transform: uppercase; letter-spacing: 0.06em; }
  .d-flg-links { display: grid; }
  .d-flg-link { display: flex; align-items: center; min-block-size: var(--control); font-size: var(--step-small); font-weight: var(--w-600); }
  .d-flg-link:hover { color: var(--accent-ink); text-decoration: underline; }
  .d-flg-legal { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space); font-size: var(--step-caption); color: var(--text-2); }
  .d-flg-scale { display: grid; grid-template-columns: repeat(4, 1.5rem); block-size: calc(var(--space-2xs) * 1.5); border: var(--line) solid var(--text); }
  .d-flg-scale i:nth-child(odd) { background: var(--text); }
  .d-flg-copy { flex: 1 1 auto; }
  .d-flg-langs ul { display: flex; flex-wrap: wrap; column-gap: var(--space-s); }
  .d-flg-langs a { display: inline-flex; align-items: center; min-block-size: var(--control); }
  .d-flg-langs a[aria-current] { font-weight: var(--w-700); text-decoration: underline; }
  .d-flg-priv, .d-flg-credit-link, .d-flg-top { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); color: var(--text); text-decoration: underline; }
  /* letter */
  .ft-letter { --paper: color-mix(in srgb, var(--signal) 6%, var(--surface)); --ember: color-mix(in srgb, var(--accent) 85%, var(--signal)); }
  .d-ft-letter { display: grid; gap: var(--space-m); max-inline-size: var(--content-max); margin-inline: auto; padding: var(--space-xl) var(--space-l) var(--space); }
  .d-flt-spread { display: grid; grid-template-columns: minmax(18rem, 5fr) minmax(0, 7fr); gap: var(--space-l); align-items: start; }
  .d-flt-letter { display: grid; gap: var(--space-xs); padding: var(--space-l) var(--space-l) var(--space-m); background: var(--paper); border-radius: var(--radius); box-shadow: 0 var(--line) 0 color-mix(in srgb, var(--text) 10%, transparent), 0 var(--space-xs) var(--space-l) color-mix(in srgb, var(--text) 8%, transparent); }
  .d-flt-dear { font: italic var(--w-500) var(--step-2)/calc(1.15 * var(--leading-scale, 1)) var(--font-display); }
  .d-flt-body { line-height: calc(1.6 * var(--leading-scale, 1)); }
  .d-flt-sign { display: inline-flex; align-items: center; min-block-size: var(--control); margin-block-start: var(--space-s); font: var(--w-600) var(--step-1)/calc(1.1 * var(--leading-scale, 1)) var(--font-display); color: var(--accent-ink); }
  .d-flt-tag { font-size: var(--step-small); color: color-mix(in srgb, var(--text) 82%, var(--paper)); }
  .d-flt-ps { display: grid; margin-block-start: var(--space-xs); padding-block-start: var(--space-xs); border-block-start: var(--line) dashed color-mix(in srgb, var(--text) 25%, transparent); }
  .d-flt-ps li { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--space); }
  .d-flt-num, .d-flt-wa { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); }
  .d-flt-num span { display: grid; }
  .d-flt-num:hover, .d-flt-wa:hover { color: var(--accent-ink); }
  .d-flt-wa { color: var(--accent-ink); font-size: var(--step-small); }
  .d-flt-btn { justify-self: start; display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--tap); margin-block-start: var(--space-xs); padding-inline: var(--space-m); border-radius: var(--radius); background: var(--ember); color: var(--accent-text); font-weight: var(--w-600); }
  .d-flt-wall { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); gap: var(--space-s); }
  .d-flt-card { display: grid; align-content: start; gap: var(--space-2xs); padding: var(--space-s) var(--space); background: var(--paper); border-radius: var(--radius-s); border-block-start: calc(var(--line) * 3) solid var(--ember); }
  .d-flt-h { font: italic var(--w-500) var(--step-base)/calc(1.3 * var(--leading-scale, 1)) var(--font-display); }
  .d-flt-run { display: flex; flex-wrap: wrap; column-gap: var(--space-xs); }
  .d-flt-run li { display: flex; align-items: center; gap: var(--space-xs); }
  .d-flt-run li:not(:last-child)::after { content: ""; inline-size: 0.35em; block-size: 0.35em; border-radius: 50%; background: var(--ember); }
  .d-flt-a { display: inline-flex; align-items: center; min-block-size: var(--control); font-size: var(--step-small); }
  .d-flt-a:hover { color: var(--accent-ink); text-decoration: underline; }
  .d-flt-legal { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space); padding-block-start: var(--space-s); border-block-start: var(--line) dashed color-mix(in srgb, var(--text) 25%, transparent); font: italic var(--w-400) var(--step-caption)/calc(1.4 * var(--leading-scale, 1)) var(--font-display); color: var(--text-2); }
  .d-flt-stamps { display: flex; gap: var(--space-2xs); }
  .d-flt-stamp { display: grid; place-items: center; inline-size: calc(var(--control) * 1.15); block-size: calc(var(--control) * 1.3); background: var(--paper); border: calc(var(--line) * 1.5) dashed color-mix(in srgb, var(--ember) 60%, transparent); border-radius: var(--radius-s); }
  .d-flt-stamp:hover { border-style: solid; }
  .d-flt-copy { flex: 1 1 auto; }
  .d-flt-legal .d-flx { background: var(--paper); font-style: normal; }
  .d-flt-priv, .d-flt-credit-link, .d-flt-top { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); color: var(--text); text-decoration: underline; }
  /* modules */
  .ft-modules { --peg: color-mix(in srgb, var(--on-plane, var(--text)) 14%, transparent); --mod: color-mix(in srgb, var(--on-plane, var(--text)) 6%, var(--plane, var(--surface))); }
  .ft-modules { background: var(--plane, var(--bg)); color: var(--on-plane, var(--text)); --focus-color: var(--on-plane, var(--text)); }
  .d-ft-modules { padding: var(--space-xl) max(var(--space-l), calc((100% - var(--content-max)) / 2)) var(--space-l); background-image: radial-gradient(circle, var(--peg) calc(var(--line) * 1.5), transparent calc(var(--line) * 2)); background-size: var(--space-m) var(--space-m); }
  .d-fmo-board { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: minmax(var(--control), auto); grid-auto-flow: dense; gap: var(--space-s); }
  .d-fmo-menu { display: contents; }
  .d-fmo-mod { position: relative; display: grid; align-content: start; gap: var(--space-2xs); padding: var(--space-m) var(--space) var(--space-s); background: var(--mod); border: var(--line) solid color-mix(in srgb, var(--on-plane, var(--text)) 22%, transparent); box-shadow: var(--space-2xs) var(--space-2xs) 0 var(--backdrop); transition: translate var(--dur, 0.2s), box-shadow var(--dur, 0.2s); }
  .d-fmo-mod:hover { translate: 0 calc(var(--line) * -2); box-shadow: var(--space-2xs) var(--space-xs) 0 var(--backdrop); }
  .d-fmo-mod::before, .d-fmo-mod::after { content: ""; position: absolute; inset-block-start: var(--space-xs); inline-size: var(--space-xs); block-size: var(--space-xs); border-radius: 50%; background: var(--plane, var(--bg)); box-shadow: inset 0 var(--line) var(--line) var(--backdrop); }
  .d-fmo-mod::before { inset-inline-start: var(--space-xs); }
  .d-fmo-mod::after { inset-inline-end: var(--space-xs); }
  .d-fmo-id { grid-column: span 5; grid-row: span 5; }
  .d-fmo-contact { grid-column: span 4; grid-row: span 6; }
  .d-fmo-contact.span-7 { grid-row: span 7; }
  .d-fmo-contact.span-8 { grid-row: span 8; }
  .d-fmo-contact.span-9 { grid-row: span 9; }
  .d-fmo-contact.span-10 { grid-row: span 10; }
  .d-fmo-contact.span-11 { grid-row: span 11; }
  .d-fmo-contact.span-12 { grid-row: span 12; }
  .d-fmo-contact.span-13 { grid-row: span 13; }
  .d-fmo-contact.span-14 { grid-row: span 14; }
  .d-fmo-g { grid-column: span 3; grid-row: span 4; }
  .d-fmo-g.rows-6, .d-fmo-g.rows-7, .d-fmo-g.rows-8, .d-fmo-g.rows-9 { grid-row: span 7; }
  .d-fmo-g.rows-4, .d-fmo-g.rows-5 { grid-row: span 6; }
  .d-fmo-g.rows-3 { grid-row: span 5; }
  .d-fmo-legal { grid-column: 1 / -1; grid-row: span 2; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space); padding-block: var(--space-s); }
  .d-fmo-name { font: var(--w-700) var(--step-1)/calc(1.05 * var(--leading-scale, 1)) var(--font-display); text-transform: uppercase; }
  .d-fmo-tag { color: var(--plane-muted, var(--text-2)); }
  .d-fmo-tagl { justify-self: start; position: absolute; inset-block-start: calc(var(--space-s) * -1); inset-inline-start: var(--space); padding: var(--space-2xs) var(--space-xs); background: var(--signal); color: var(--on-signal); font: var(--w-700) var(--step-caption)/1 var(--font-mono); text-transform: uppercase; letter-spacing: 0.06em; }
  .d-fmo-links { display: grid; }
  .d-fmo-link { display: flex; align-items: center; min-block-size: var(--control); font-size: var(--step-small); border-block-end: var(--line) dashed color-mix(in srgb, var(--on-plane, var(--text)) 18%, transparent); }
  .d-fmo-link:hover, .d-fmo-num:hover { color: var(--signal); }
  .d-fmo-nums { display: grid; }
  .d-fmo-nums li { display: flex; align-items: center; justify-content: space-between; }
  .d-fmo-num { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); font-family: var(--font-mono); }
  .d-fmo-num span { display: grid; }
  .d-fmo-wa { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border: var(--line) solid color-mix(in srgb, var(--on-plane, var(--text)) 30%, transparent); }
  .d-fmo-btn { display: flex; justify-content: space-between; align-items: center; min-block-size: var(--control); margin-block-start: var(--space-xs); padding-inline: var(--space-s); background: var(--signal); color: var(--on-signal); font: var(--w-700) var(--step-caption)/1 var(--font-mono); text-transform: uppercase; }
  .d-fmo-social { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin-block-start: var(--space-xs); }
  .d-fmo-soc { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border: var(--line) solid color-mix(in srgb, var(--on-plane, var(--text)) 30%, transparent); }
  .d-fmo-soc:hover { background: var(--signal); color: var(--on-signal); }
  .d-fmo-langs ul { display: flex; flex-wrap: wrap; column-gap: var(--space-s); }
  .d-fmo-langs a { display: inline-flex; align-items: center; min-block-size: var(--control); font-size: var(--step-caption); }
  .d-fmo-langs a[aria-current] { font-weight: var(--w-700); text-decoration: underline; text-decoration-color: var(--signal); text-decoration-thickness: calc(var(--line) * 2); text-underline-offset: 0.3em; }
  .d-fmo-copy { flex: 1 1 auto; }
  .d-fmo-legal { font: var(--w-400) var(--step-caption)/calc(1.5 * var(--leading-scale, 1)) var(--font-mono); color: var(--plane-muted, var(--text-2)); }
  .d-fmo-priv, .d-fmo-credit-link, .d-fmo-top { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); color: var(--on-plane, var(--text)); text-decoration: underline; }
  /* path */
  .ft-path { --node: calc(var(--space) * 0.9); --path-line: color-mix(in srgb, var(--signal) 45%, transparent); }
  .d-ft-path { display: grid; gap: var(--space-m); max-inline-size: var(--content-max); margin-inline: auto; padding: var(--space-xl) var(--space-l) var(--space); }
  .d-fpa-wrap { display: grid; grid-template-columns: minmax(12rem, 14rem) minmax(0, 1fr); grid-template-rows: auto auto; align-items: start; gap: var(--space-m) var(--space-l); }
  .d-fpa-ring { grid-row: 1 / span 2; }
  .d-fpa-ring { display: grid; place-content: center; gap: var(--space-2xs); aspect-ratio: 1; padding: var(--space); border-radius: 50%; border: calc(var(--line) * 1.5) solid var(--path-line); text-align: center; box-shadow: 0 0 0 var(--space-xs) color-mix(in srgb, var(--signal) 6%, transparent), 0 0 0 var(--space) color-mix(in srgb, var(--signal) 3%, transparent); }
  .d-fpa-name { font: var(--w-400) var(--step-1)/calc(1.1 * var(--leading-scale, 1)) var(--font-display); }
  .d-fpa-tag { font-size: var(--step-caption); color: var(--text-2); }
  .d-fpa-path { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 9rem), 1fr)); gap: var(--space-m) var(--space); }
  .d-fpa-stop { position: relative; padding-block-start: calc(var(--node) + var(--space-s)); }
  .d-fpa-stop::after { content: ""; position: absolute; inset-block-start: calc(var(--node) / 2 - var(--line) * 0.75); inset-inline: var(--node) calc(var(--space) * -1); border-block-start: calc(var(--line) * 1.5) solid var(--path-line); }
  .d-fpa-stop:last-child::after { inset-inline-end: 0; }
  .d-fpa-stop::before { content: ""; position: absolute; inset-block-start: 0; inset-inline-start: 0; inline-size: var(--node); block-size: var(--node); border-radius: 50%; background: var(--bg); border: calc(var(--line) * 1.5) solid var(--signal); box-sizing: border-box; transition: background var(--dur, 0.3s); }
  .d-fpa-stop:hover::before { background: var(--signal); }
  .d-fpa-h { padding-block-end: var(--space-2xs); font: var(--w-400) var(--step-base)/calc(1.2 * var(--leading-scale, 1)) var(--font-display); }
  .d-fpa-links { display: grid; }
  .d-fpa-link { display: flex; align-items: center; min-block-size: var(--control); font-size: var(--step-small); color: var(--text-2); }
  .d-fpa-link:hover { color: var(--text); }
  .d-fpa-out { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-m); padding: var(--space-s) var(--space); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--signal) 7%, var(--bg)); }
  .d-fpa-nums { display: flex; flex-wrap: wrap; column-gap: var(--space); }
  .d-fpa-nums li { display: flex; align-items: center; gap: var(--space-2xs); }
  .d-fpa-wa { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border-radius: 50%; color: var(--signal); }
  .d-fpa-num { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); font-family: var(--font-mono); font-size: var(--step-small); }
  .d-fpa-num span { display: grid; }
  .d-fpa-num:hover { color: var(--signal); }
  .d-fpa-btn { justify-self: start; display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); padding-inline: var(--space); border-radius: var(--radius-pill); background: var(--signal); color: var(--on-signal); }
  .d-fpa-legal { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space); padding-block-start: var(--space-s); border-block-start: var(--line) solid var(--separator); font: var(--w-400) var(--step-caption)/calc(1.5 * var(--leading-scale, 1)) var(--font-mono); color: var(--text-2); }
  .d-fpa-social { display: flex; gap: var(--space-2xs); }
  .d-fpa-soc { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border-radius: 50%; border: var(--line) solid var(--separator); }
  .d-fpa-soc:hover { border-color: var(--signal); }
  .d-fpa-copy { flex: 1 1 auto; }
  .d-fpa-langs ul { display: flex; flex-wrap: wrap; column-gap: var(--space-s); }
  .d-fpa-langs a { display: inline-flex; align-items: center; min-block-size: var(--control); }
  .d-fpa-langs a[aria-current] { color: var(--signal); font-weight: var(--w-600); }
  .d-fpa-priv, .d-fpa-credit-link, .d-fpa-top { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); color: var(--text); text-decoration: underline; }
  /* prose */
  .d-ft-prose { display: grid; gap: var(--space-m); max-inline-size: var(--content-max); margin-inline: auto; padding: var(--space-xl) var(--space-l) var(--space); }
  .d-fpr-spread { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-xl); padding-block-start: var(--space); border-block-start: calc(var(--line) * 2) solid var(--text); }
  .d-fpr-left { display: grid; align-content: start; gap: var(--space); }
  .d-fpr-quote { font: italic var(--w-400) var(--step-3)/calc(1.08 * var(--leading-scale, 1)) var(--font-display); letter-spacing: -0.01em; }
  .d-fpr-call, .d-fpr-para { font: var(--w-400) var(--step-base)/calc(1.75 * var(--leading-scale, 1)) var(--font-display); }
  .d-fpr-prose { columns: 2; column-gap: var(--space-l); column-rule: var(--line) solid var(--separator); }
  .d-fpr-para { break-inside: avoid; padding-block-end: var(--space-s); }
  .d-fpr-para > :is(.d-fpr-run, p) { display: inline; }
  .d-fpr-run { font-family: var(--font-body); font-size: var(--step-caption); font-weight: var(--w-700); text-transform: uppercase; letter-spacing: 0.12em; margin-inline-end: var(--space-2xs); }
  .d-fpr-a { padding-block: 0.3em; text-decoration: underline; text-decoration-thickness: var(--line); text-underline-offset: 0.25em; text-decoration-color: color-mix(in srgb, var(--text) 35%, transparent); transition: text-decoration-color var(--dur, 0.2s); }
  .d-fpr-a:hover { text-decoration-color: var(--accent-ink); color: var(--accent-ink); }
  .d-fpr-go { font-style: italic; color: var(--accent-ink); white-space: nowrap; }
  .d-fpr-go .icon { inline-size: 0.9em; block-size: 0.9em; vertical-align: -0.1em; }
  .d-fpr-sep { color: var(--text-2); }
  .d-fpr-social { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
  .d-fpr-soc { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); }
  .d-fpr-soc:hover { color: var(--accent-ink); }
  .d-fpr-word { display: block; font: var(--w-400) clamp(var(--step-4), 6.7cqi, 9rem)/calc(0.9 * var(--leading-scale, 1)) var(--font-display); letter-spacing: -0.035em; padding-block: var(--space-s); border-block: calc(var(--line) * 2) solid var(--text); }
  .d-fpr-word:hover { color: var(--accent-ink); }
  .d-fpr-legal { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space-m); font: italic var(--w-400) var(--step-caption)/calc(1.4 * var(--leading-scale, 1)) var(--font-display); color: var(--text-2); }
  .d-fpr-copy { flex: 1 1 auto; }
  .d-fpr-legal .d-flx { background: transparent; font-style: normal; }
  .d-fpr-priv, .d-fpr-credit-link, .d-fpr-top { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); color: var(--text); text-decoration: underline; }
  /* quiet */
  .d-ft-quiet { display: grid; gap: var(--space); max-inline-size: var(--content-max); margin-inline: auto; padding: var(--space-xl) var(--space-l) var(--space-m); }
  .d-fqt-bar { display: grid; grid-template-columns: minmax(10rem, 1fr) fit-content(70%) auto; align-items: center; gap: var(--space-l); padding-block: var(--space-m); border-block: var(--line) solid color-mix(in srgb, var(--signal) 28%, transparent); }
  .d-fqt-name { font: var(--w-400) var(--step-1)/1 var(--font-display); }
  .d-fqt-tag { font-size: var(--step-caption); color: var(--text-2); }
  .d-fqt-words { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2xs) var(--space); }
  .d-fqt-word { display: inline-flex; align-items: center; min-block-size: var(--control); padding-inline: var(--space-2xs); font: var(--w-400) var(--step-base)/1 var(--font-display); color: var(--text-2); border-block-end: var(--line) solid transparent; transition: color var(--dur, 0.2s), border-color var(--dur, 0.2s); }
  .d-fqt-word:hover, .d-fqt-word:has(+ :popover-open) { color: var(--text); border-block-end-color: var(--signal); }
  .d-fqt-pop { position: fixed; margin: 0; inset: auto; position-area: top; position-try-fallbacks: flip-block; translate: 0 calc(var(--space-xs) * -1); min-inline-size: 14rem; padding: var(--space-s) var(--space); border: var(--line) solid color-mix(in srgb, var(--signal) 30%, transparent); border-radius: var(--radius-l); background: var(--bg); color: var(--text); box-shadow: 0 var(--space-xs) var(--space-l) color-mix(in srgb, var(--text) 12%, transparent); }
  .d-fqt-links { display: grid; }
  .d-fqt-link { display: flex; align-items: center; min-block-size: var(--control); color: var(--signal); }
  .d-fqt-link:hover { color: var(--text); }
  .d-fqt-nums { display: grid; grid-template-columns: max-content var(--control); column-gap: var(--space-2xs); justify-content: end; }
  .d-fqt-nums li { display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; align-items: center; }
  .d-fqt-nums .d-fqt-num { grid-column: 1; justify-self: end; }
  .d-fqt-wa { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border-radius: 50%; color: var(--signal); }
  .d-fqt-num { display: inline-flex; align-items: center; min-block-size: var(--control); font: var(--w-400) var(--step-small)/1 var(--font-display); }
  .d-fqt-num:hover { color: var(--signal); }
  .d-fqt-under { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--space-s) var(--space-l); }
  .d-fqt-social { display: flex; gap: var(--space-2xs); }
  .d-fqt-soc { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border-radius: 50%; border: var(--line) solid color-mix(in srgb, var(--signal) 40%, transparent); }
  .d-fqt-soc:hover { background: color-mix(in srgb, var(--signal) 12%, transparent); }
  .d-fqt-under .d-flx { background: transparent; text-align: start; }
  .d-fqt-cta { display: inline-flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); padding-inline: var(--space); border-radius: var(--radius-pill); border: var(--line) solid color-mix(in srgb, var(--signal) 55%, transparent); }
  .d-fqt-cta:hover { background: color-mix(in srgb, var(--signal) 12%, transparent); }
  .d-fqt-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2xs) var(--space-m); font-size: var(--step-caption); color: var(--text-2); }
  .d-fqt-priv, .d-fqt-credit-link { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); color: var(--text); }
  @supports not (position-area: top) {
    .d-fqt-pop { inset: 0; margin: auto; translate: none; max-inline-size: calc(100% - var(--space) * 2); }
  }
  /* settings */
  .d-ft-settings { display: grid; grid-template-columns: minmax(17rem, 22rem) minmax(0, 1fr); gap: var(--space-l); max-inline-size: var(--content-max); margin-inline: auto; padding: var(--space-xl) var(--space-l) var(--space-l); }
  .d-fst-side { display: grid; align-content: start; gap: var(--space); position: sticky; inset-block-start: var(--space); }
  .d-fst-id { display: grid; gap: var(--space-2xs); padding: var(--space); background: var(--surface); border-radius: var(--radius-xl); }
  .d-fst-home { display: flex; align-items: center; gap: var(--space-s); }
  .d-fst-icon { display: grid; place-items: center; inline-size: calc(var(--control) * 1.6); block-size: calc(var(--control) * 1.6); border-radius: calc(var(--control) * 0.4); background: var(--accent); color: var(--accent-text); font: var(--w-700) var(--step-caption)/1 var(--font-display); flex: none; }
  .d-fst-name { font: var(--w-600) var(--step-base)/calc(1.2 * var(--leading-scale, 1)) var(--font-display); }
  .d-fst-tag { color: var(--text-2); font-size: var(--step-small); }
  .d-fst-head { padding-inline: var(--space); padding-block-end: var(--space-2xs); font: var(--w-400) var(--step-caption)/calc(1.3 * var(--leading-scale, 1)) var(--font-body); text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-2); }
  .d-fst-list { display: grid; background: var(--surface); border-radius: var(--radius-l); overflow: hidden; }
  .d-fst-list :focus-visible { outline-offset: calc(var(--focus-ring) * -1); }
  .d-fst-li { display: flex; align-items: center; }
  .d-fst-li + .d-fst-li { box-shadow: inset 0 var(--line) 0 0 var(--separator); margin-inline-start: var(--space); }
  .d-fst-li > .d-fst-row { flex: 1 1 auto; min-inline-size: 0; }
  .d-fst-li + .d-fst-li > .d-fst-row { padding-inline-start: 0; }
  .d-fst-row { inline-size: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); min-block-size: calc(var(--control) * 1.25); padding: var(--space-2xs) var(--space-s) var(--space-2xs) var(--space); font-size: var(--step-small); }
  .d-fst-row:hover { background: color-mix(in srgb, var(--text) 5%, transparent); }
  .d-fst-row > .icon:last-child { color: color-mix(in srgb, var(--text-2) 70%, transparent); }
  .d-fst-tile { display: grid; place-items: center; inline-size: calc(var(--control) * 0.95); block-size: calc(var(--control) * 0.95); border-radius: calc(var(--control) * 0.25); background: color-mix(in srgb, var(--signal) 85%, var(--accent)); color: var(--on-signal); flex: none; }
  .d-fst-tile .icon { inline-size: 1em; block-size: 1em; }
  .d-fst-label { flex: 1 1 auto; display: grid; }
  .d-fst-label small { font-size: var(--step-caption); color: var(--text-2); }
  .d-fst-trail { display: grid; place-items: center; inline-size: calc(var(--control) * 1.25); block-size: calc(var(--control) * 1.25); color: var(--accent-ink); }
  .d-fst-go { color: var(--accent-ink); font-weight: var(--w-600); }
  .d-fst-side .d-flx { background: var(--surface); border-radius: var(--radius-l); }
  .d-fst-social { display: flex; flex-wrap: wrap; gap: var(--space-2xs); padding-inline: var(--space-2xs); }
  .d-fst-soc { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); border-radius: 50%; background: var(--surface); }
  .d-fst-soc:hover { background: color-mix(in srgb, var(--text) 10%, var(--surface)); }
  .d-fst-detail { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); align-content: start; gap: var(--space-m) var(--space); padding: var(--space); background: color-mix(in srgb, var(--surface) 45%, var(--bg)); border-radius: var(--radius-xl); }
  .d-fst-group { display: grid; align-content: start; }
  .d-fst-group .d-fst-row { color: var(--accent-ink); }
  .d-fst-foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--space-2xs) var(--space); font-size: var(--step-caption); color: var(--text-2); }
  .d-fst-priv, .d-fst-credit-link, .d-fst-top { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); color: var(--accent-ink); }
  .d-fst-priv:hover, .d-fst-credit-link:hover, .d-fst-top:hover { text-decoration: underline; }
  /* slab */
  .ft-slab { background: var(--plane); color: var(--on-plane); --focus-color: var(--on-plane); }
  .d-ft-slab { display: grid; }
  .d-fsl-split { display: grid; grid-template-columns: minmax(var(--space-l), 1fr) minmax(0, calc(var(--content-max) * 5 / 12)) minmax(0, calc(var(--content-max) * 7 / 12)) minmax(var(--space-l), 1fr); }
  .d-fsl-lead { grid-column: 1 / 3; display: grid; grid-template-columns: subgrid; align-content: start; row-gap: var(--space-s); padding-block: var(--space-xl) var(--space-l); background: var(--signal); color: var(--on-signal); clip-path: polygon(0 0, 100% 0, calc(100% - var(--space-xl) * 1.5) 100%, 0 100%); }
  .d-fsl-lead { --focus-color: var(--on-signal); }
  .d-fsl-lead > * { grid-column: 2; margin-inline-end: calc(var(--space-xl) * 1.6); }
  .d-fsl-name { font: var(--w-800) var(--step-2)/calc(0.95 * var(--leading-scale, 1)) var(--font-display); text-transform: uppercase; }
  .d-fsl-tag { font-size: var(--step-small); }
  .d-fsl-slab { display: grid; gap: var(--space-s); margin-block-start: var(--space); }
  .d-fsl-cta { font: var(--w-800) var(--step-1)/1 var(--font-display); text-transform: uppercase; }
  .d-fsl-nums { display: grid; gap: var(--line); }
  .d-fsl-nums li { display: flex; gap: var(--line); }
  .d-fsl-num { flex: 1 1 auto; display: flex; align-items: center; min-block-size: var(--tap); padding-inline: var(--space-s); background: color-mix(in srgb, var(--on-signal) 12%, transparent); font: var(--w-800) var(--step-1)/1 var(--font-display); }
  .d-fsl-num:hover, .d-fsl-wa:hover { background: color-mix(in srgb, var(--on-signal) 22%, transparent); }
  .d-fsl-wa { display: grid; place-items: center; inline-size: var(--tap); background: color-mix(in srgb, var(--on-signal) 12%, transparent); }
  .d-fsl-btn { display: flex; justify-content: space-between; align-items: center; min-block-size: var(--tap); padding-inline: var(--space-s); background: var(--plane); color: var(--on-plane); font: var(--w-800) var(--step-small)/1 var(--font-display); text-transform: uppercase; letter-spacing: 0.06em; }
  .d-fsl-social { display: flex; flex-wrap: wrap; }
  .d-fsl-soc { display: grid; place-items: center; inline-size: var(--control); block-size: var(--control); }
  .d-fsl-cols { grid-column: 3; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-content: start; gap: var(--space-m) var(--space-l); padding: var(--space-xl) 0 var(--space-l) var(--space-l); }
  .d-fsl-menu { display: contents; }
  .d-fsl-col:nth-child(3n + 2) { margin-block-start: var(--space); }
  .d-fsl-col:nth-child(3n) { margin-block-start: var(--space-l); }
  .d-fsl-h { padding-block-end: var(--space-xs); margin-block-end: var(--space-2xs); font: var(--w-800) var(--step-small)/1 var(--font-display); text-transform: uppercase; letter-spacing: 0.08em; background: linear-gradient(var(--plane-signal), var(--plane-signal)) no-repeat 0 100% / var(--space-l) calc(var(--line) * 3); }
  .d-fsl-links { display: grid; }
  .d-fsl-link { display: flex; align-items: center; gap: var(--space-xs); min-block-size: var(--control); font-size: var(--step-small); }
  .d-fsl-link::before { content: "/"; content: "/" / ""; color: var(--plane-signal); font-weight: var(--w-800); transition: translate var(--dur, 0.2s); }
  .d-fsl-link:hover::before { translate: calc(var(--space-2xs) * var(--dir, 1)) 0; }
  .d-fsl-lang { grid-column: 1 / -1; display: flex; }
  .d-fsl-lang .d-flx { min-inline-size: 18rem; border-radius: 0; --focus-color: currentColor; }
  .d-fsl-strip { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space-m); padding: var(--space-s) max(var(--space-l), calc((100% - var(--content-max)) / 2)); border-block-start: calc(var(--line) * 2) solid var(--plane-signal); font-size: var(--step-caption); text-transform: uppercase; letter-spacing: 0.05em; color: var(--plane-muted, color-mix(in srgb, var(--on-plane) 72%, transparent)); }
  .d-fsl-copy { flex: 1 1 auto; }
  .d-fsl-priv, .d-fsl-credit-link, .d-fsl-top { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--control); color: var(--on-plane); }
  /* the other device's tree */
  .m-ft-band,
  .m-fbd-id,
  .m-fbd-name,
  .m-fbd-tag,
  .m-fbd-lines,
  .m-fbd-lines li,
  .m-fbd-lines li + li,
  .m-fbd-tel,
  .m-fbd-tel span,
  .m-fbd-wa,
  .m-fbd-cta,
  .m-fbd-dir,
  .m-fbd-col,
  .m-fbd-h,
  .m-fbd-link,
  .m-fbd-row,
  .m-fbd-row .m-flx,
  .m-fbd-social,
  .m-fbd-soc,
  .m-fbd-legal,
  .m-fbd-priv,
  .m-fbd-credit-link,
  .m-ft-bento,
  .m-fbn-view,
  .m-fbn-name,
  .m-fbn-tag,
  .m-fbn-card,
  .m-fbn-h,
  .m-fbn-lines,
  .m-fbn-line,
  .m-fbn-call,
  .m-fbn-line-t,
  .m-fbn-line-t small,
  .m-fbn-chat,
  .m-fbn-disc,
  .m-fbn-disc-wa,
  .m-fbn-btn,
  .m-fbn-grid,
  .m-fbn-tile,
  .m-fbn-grid > li:only-child,
  .m-fbn-grid > li:last-child:nth-child(odd),
  .m-fbn-menu,
  .m-fbn-misc,
  .m-fbn-misc .m-flx,
  .m-fbn-social,
  .m-fbn-soc,
  .m-fbn-legal,
  .m-fbn-priv,
  .m-fbn-credit-link,
  .m-fbn-x,
  .m-fbn-sum,
  .m-fbn-n,
  .m-fbn-sum .icon,
  .m-fbn-x[open] .m-fbn-sum .icon,
  .m-fbn-x .m-fbn-grid,
  .m-ft-chips,
  .m-fch-band,
  .m-fch-b1,
  .m-fch-b2,
  .m-fch-b3,
  .m-fch-name,
  .m-fch-tag,
  .m-fch-set,
  .m-fch-h,
  .m-fch-chips,
  .m-fch-chip,
  .m-fch-chip small,
  .m-fch-strong,
  .m-fch-fill,
  .m-fch-b3 .m-flx,
  .m-fch-social,
  .m-fch-soc,
  .m-fch-copy,
  .m-fch-credit,
  .m-fch-priv,
  .m-fch-credit-link,
  .m-ft-colophon,
  .m-fco-orn,
  .m-fco-name,
  .m-fco-tag,
  .m-fco-toc,
  .m-fco-toc > ol,
  .m-fco-h,
  .m-fco-rn,
  .m-fco-run,
  .m-fco-run li,
  .m-fco-run li:not(:last-child)::after,
  .m-fco-a,
  .m-fco-nums,
  .m-fco-num,
  .m-fco-nums li,
  .m-fco-wa,
  .m-fco-btn,
  .m-fco-social,
  .m-fco-soc,
  .m-fco-langs ul,
  .m-fco-langs a,
  .m-fco-langs a[aria-current],
  .m-fco-colo,
  .m-fco-priv,
  .m-fco-credit-link,
  .m-ft-index,
  .m-fix-head,
  .m-fix-name,
  .m-fix-tag,
  .m-fix-stmt,
  .m-fix-line,
  .m-fix-line::after,
  .m-fix-line dt,
  .m-fix-line dd,
  .m-fix-val,
  .m-fix-cta,
  .m-fix-index,
  .m-fix-entry,
  .m-fix-sum,
  .m-fix-no,
  .m-fix-t,
  .m-fix-lead,
  .m-fix-c,
  .m-fix-entry[open] .m-fix-sum,
  .m-fix-items,
  .m-fix-link,
  .m-fix-link .m-fix-no,
  .m-fix-social,
  .m-fix-soc,
  .m-ft-index .m-flx,
  .m-fix-legal,
  .m-fix-priv,
  .m-fix-credit-link,
  .m-ft-legend,
  .m-flg-title,
  .m-flg-name,
  .m-flg-tag,
  .m-flg-posts,
  .m-flg-posts li,
  .m-flg-plate,
  .m-flg-plate-wa,
  .m-flg-cta,
  .m-flg-key,
  .m-flg-k + .m-flg-k,
  .m-flg-row,
  .m-flg-row .icon,
  .m-flg-k[open] .m-flg-row .icon,
  .m-flg-sym,
  .m-flg-t,
  .m-flg-c,
  .m-flg-links,
  .m-flg-link,
  .m-flg-link .m-flg-sym,
  .m-flg-social,
  .m-flg-soc,
  .m-flg-langs,
  .m-flg-langs ul,
  .m-flg-langs a,
  .m-flg-langs a[aria-current],
  .m-flg-legal,
  .m-flg-scale,
  .m-flg-scale i:nth-child(odd),
  .m-flg-priv,
  .m-flg-credit-link,
  .m-ft-letter,
  .m-flt-letter,
  .m-flt-dear,
  .m-flt-body,
  .m-flt-sign,
  .m-flt-tag,
  .m-flt-ps,
  .m-flt-ps li,
  .m-flt-num,
  .m-flt-wa,
  .m-flt-num span,
  .m-flt-btn,
  .m-flt-cards,
  .m-flt-card,
  .m-flt-h,
  .m-flt-run,
  .m-flt-run li,
  .m-flt-run li:not(:last-child)::after,
  .m-flt-a,
  .m-flt-stamps,
  .m-flt-stamp,
  .m-ft-letter .m-flx,
  .m-flt-legal,
  .m-flt-priv,
  .m-flt-credit-link,
  .m-flt-file,
  .m-flt-file .m-flt-card,
  .m-flt-file .m-flt-card:first-child,
  .m-flt-file .m-flt-card:last-child,
  .m-flt-tab,
  .m-flt-n,
  .m-flt-card[open] .m-flt-n,
  .m-flt-file .m-flt-run,
  .m-ft-modules,
  .m-fmo-board,
  .m-fmo-menu,
  .m-fmo-mod,
  .m-fmo-mod::before,
  .m-fmo-mod::after,
  .m-fmo-id,
  .m-fmo-contact,
  .m-fmo-misc,
  .m-fmo-legal,
  .m-fmo-g[open],
  .m-fmo-name,
  .m-fmo-tag,
  .m-fmo-tagl,
  .m-fmo-sum,
  .m-fmo-sum .m-fmo-tagl,
  .m-fmo-c,
  .m-fmo-g,
  .m-fmo-links,
  .m-fmo-link,
  .m-fmo-nums,
  .m-fmo-nums li,
  .m-fmo-num,
  .m-fmo-num span,
  .m-fmo-wa,
  .m-fmo-btn,
  .m-fmo-social,
  .m-fmo-soc,
  .m-fmo-langs ul,
  .m-fmo-langs a,
  .m-fmo-langs a[aria-current],
  .m-fmo-priv,
  .m-fmo-credit-link,
  .m-ft-path,
  .m-fpa-path,
  .m-fpa-stop,
  .m-fpa-stop::before,
  .m-fpa-stop:first-child::before,
  .m-fpa-stop:last-child::before,
  .m-fpa-stop::after,
  .m-fpa-first::after,
  .m-fpa-stop:has(details[open])::after,
  .m-fpa-first,
  .m-fpa-name,
  .m-fpa-tag,
  .m-fpa-sum,
  .m-fpa-c,
  .m-fpa-links,
  .m-fpa-link,
  .m-fpa-last,
  .m-fpa-h,
  .m-fpa-nums,
  .m-fpa-nums li,
  .m-fpa-num,
  .m-fpa-num span,
  .m-fpa-wa,
  .m-fpa-btn,
  .m-fpa-social,
  .m-fpa-soc,
  .m-fpa-langs ul,
  .m-fpa-langs a,
  .m-fpa-langs a[aria-current],
  .m-fpa-legal,
  .m-fpa-priv,
  .m-fpa-credit-link,
  .m-ft-prose,
  .m-fpr-quote,
  .m-fpr-call,
  .m-fpr-para,
  .m-fpr-prose,
  .m-fpr-para > :is(.m-fpr-run, p),
  .m-fpr-run,
  .m-fpr-a,
  .m-fpr-go,
  .m-fpr-go .icon,
  .m-fpr-sep,
  .m-ft-prose .m-flx,
  .m-fpr-social,
  .m-fpr-soc,
  .m-fpr-word,
  .m-fpr-legal,
  .m-fpr-priv,
  .m-fpr-credit-link,
  .m-ft-quiet,
  .m-fqt-say,
  .m-fqt-name,
  .m-fqt-nums,
  .m-fqt-nums li,
  .m-fqt-nums .m-fqt-num,
  .m-fqt-num,
  .m-fqt-wa,
  .m-fqt-cta,
  .m-fqt-words,
  .m-fqt-w,
  .m-fqt-word,
  .m-fqt-w[open] .m-fqt-word,
  .m-fqt-sign,
  .m-fqt-w[open] .m-fqt-sign,
  .m-fqt-links,
  .m-fqt-link,
  .m-fqt-social,
  .m-fqt-soc,
  .m-ft-quiet .m-flx,
  .m-fqt-legal,
  .m-fqt-priv,
  .m-fqt-credit-link,
  .m-ft-settings,
  .m-fst-id,
  .m-fst-home,
  .m-fst-icon,
  .m-fst-name,
  .m-fst-tag,
  .m-fst-social,
  .m-fst-soc,
  .m-fst-sec,
  .m-fst-head,
  .m-fst-note,
  .m-fst-list,
  .m-fst-list :focus-visible,
  .m-fst-li,
  .m-fst-li + .m-fst-li::before,
  .m-fst-groups .m-fst-li + .m-fst-li::before,
  .m-fst-li > .m-fst-row,
  .m-fst-li > details,
  .m-fst-row,
  .m-fst-tile,
  .m-fst-tile .icon,
  .m-fst-label,
  .m-fst-label small,
  .m-fst-row > .icon:last-child,
  .m-fst-trail,
  .m-fst-go,
  .m-fst-acc,
  .m-fst-acc > summary > .icon,
  .m-fst-acc[open] > summary > .icon,
  .m-fst-count,
  .m-fst-sub,
  .m-fst-link,
  .m-fst-lang .m-flx,
  .m-fst-foot,
  .m-fst-priv,
  .m-fst-credit-link,
  .m-ft-slab,
  .m-fsl-slab,
  .m-fsl-cta,
  .m-fsl-nums,
  .m-fsl-nums li,
  .m-fsl-num,
  .m-fsl-wa,
  .m-fsl-btn,
  .m-fsl-id,
  .m-fsl-name,
  .m-fsl-tag,
  .m-fsl-bars,
  .m-fsl-bar,
  .m-fsl-sum,
  .m-fsl-sum .icon,
  .m-fsl-bar[open] .m-fsl-sum .icon,
  .m-fsl-t,
  .m-fsl-c,
  .m-fsl-links,
  .m-fsl-link,
  .m-fsl-link::before,
  .m-ft-slab .m-flx,
  .m-fsl-social,
  .m-fsl-soc,
  .m-fsl-strip,
  .m-fsl-priv,
  .m-fsl-credit-link { display: none; }
}
