/* GENERATED by scripts/sync-home-2026.js from shopify-theme - do not edit */
/* =========================================================
   NOWA — shared base primitives for the ported homepage
   Ported from website/pages/index.html's shared <style> block
   (subtask T2, docs/plans/2026-09-01-homepage-shopify-migration.md).
   Each sections/nowa-*.liquid file carries its own section-specific
   rules in its own {% stylesheet %} — do not add those here.

   Design tokens (--color-*, --font-*, --text-*, --spacing-*, ...) come
   from https://nowaplanet.com/design/tokens.css, loaded GLOBALLY by
   layout/theme.liquid (fix-loop finding, 2026-09-01: nowa-header/nowa-footer
   replace Horizon's chrome on EVERY template via sections/header-group.json +
   sections/footer-group.json, not just index, so tokens must resolve
   everywhere that chrome renders) — not redeclared here.

   Loaded globally (layout/theme.liquid), so bare-tag/reset rules that
   would otherwise leak onto non-index templates (cart, product, ...)
   are scoped under body.nowa-home (added by theme.liquid only when
   request.page_type == 'index'). NOWA-named classes below (.wrap,
   .btn, .pxcard, .dither, .reveal, .geyebrow, .dark, .lead, .fdot, ...)
   are left unscoped/verbatim: they only ever appear inside nowa-*
   section markup rendered via templates/index.json (index-only) OR
   sections/nowa-header.liquid + nowa-footer.liquid (rendered theme-wide
   by the group JSONs above) — never in stock Horizon markup either way,
   so no collision risk despite not all being index-exclusive.
   ========================================================= */

:root{
  --ease-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-out-strong: cubic-bezier(0.23, 1, 0.32, 1);
  --grid-line: rgba(22,28,36,.08);
  --grid-cell: 28px;
  --z-rail: 30; --z-nav: 40;
}

/* ---- restore window-scroll physics (QA bug: wheel scroll dead on desktop) ----
   Horizon's assets/base.css (~lines 35-60) makes .page-wrapper THE scroll
   container at min-width:990px (html/body height:100dvh + overflow:hidden,
   .page-wrapper height:100dvh + overflow-y:auto). The ported homepage assumes
   the SOURCE model instead — window/document scrolls, nothing else — because
   Lenis (nowa-home.js) hijacks wheel and animates window scroll, and every
   window-scroll listener in the port (readbar progress, chapter rail,
   nowa-*.liquid drift physics) reads/writes window scroll position. With
   Horizon's wrapper-scroll active, window scroll is frozen solid: Lenis and
   all of the above go dead (drag-scrollbar on .page-wrapper still "works"
   because that's the real scroll container, which is exactly the bug).
   GLOBAL, not .nowa-home-scoped: the chrome (nowa-header/nowa-footer) and its
   scroll-driven JS render on every template, not just index. This means
   Horizon-native templates (product/cart/collections) also move from
   wrapper-scroll to window-scroll — flagged as a QA point, not a bug, since
   nothing in those templates depends on wrapper-scroll specifically.
   `html[scroll-lock]` (drawers) is untouched — it targets a different
   attribute/selector and still locks the window correctly. ---- */
@media (min-width: 990px){
  html:has(.page-wrapper), html:has(.page-wrapper) body { height: auto; overflow: visible; }
  .page-wrapper { height: auto; overflow-y: visible; }
}

/* ---- page-wide reset/typography, scoped to index only ---- */
.nowa-home *{box-sizing:border-box;margin:0;padding:0}
html:has(body.nowa-home){scroll-behavior:smooth}
/* 2026-10-20 revamp: the homepage canvas is solid Sunlit cream (the graph-paper grid is retired with the voxel hero) */
.nowa-home{font-family:var(--font-noto-sans);color:var(--color-deep-ink);background-color:var(--surface-warm-parchment);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;overflow-x:clip}
/* fix-loop finding, 2026-09-01: these four element-tag resets are all :where()-wrapped
   at zero added specificity, matching the SOURCE's plain-element specificity (e.g. bare
   `a{...}`, `h1,h2,h3,h4{...}`). A classed `.nowa-home a{}` reset has specificity (0,1,1)
   and unconditionally beat `.btn{color:var(--color-pure-white)}` (0,1,0) — real bug: body .btn text
   rendered black. :where() drops the element part's contribution to 0, so these ties
   with same-tier classed rules resolve by source order (see .btn, further down this
   file, winning) — exactly like the source's element-vs-class cascade did. */
.nowa-home :where(h1,h2,h3,h4){font-family:var(--font-onest);line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
.nowa-home :where(a){color:inherit;text-decoration:none}
/* QA bug: brand logo (and every other ported <img> relying on its width/height
   attrs or natural size) renders huge. Horizon's assets/base.css:83-86 sets
   `img{width:100%;height:auto}`, which beats e.g. width="107" on the nav
   logo — the source only ever had `img{display:block;max-width:100%}`, so
   nothing in the port ever needed an explicit CSS width. :where() keeps this
   at zero specificity, matching the source's cascade order, so real
   section-owned img rules (aspect-ratio galleries, etc.) still win over it
   as intended. Merged the display/max-width reset into this same :where()
   rule (fix-loop finding, 2026-09-01) rather than keeping a separate classed
   `.nowa-home img{}` — same specificity-tie bug class as the a/h1-h4 fix above. */
.nowa-home :where(img){display:block;max-width:100%;width:auto}
.nowa-home :where(section){padding:clamp(var(--spacing-64),9vw,calc(var(--spacing-64) * 2)) 0;position:relative}

/* ---- neutralize Horizon's paragraph-link hover/underline bleed (QA bug: content
   links change COLOR on hover; source only ever adds an underline, no color change).
   THREE separate Horizon rules are in play, each needing its own counter:

   1) assets/base.css:859 `:is(h1,h2,h3,h4,h5,h6,p) > a:hover{color:...}` — specificity
      (0,1,2). Flat rule, no trap. Countered below by the kept `:is(h1..h6,p)>a:hover`
      rule at (0,2,2) — wins outright.

   2) assets/base.css:864-866 (the non-hover half, OUTSIDE the nested block) —
      `p:not(headings) a:where(:not(.button,.button-secondary))` (0,1,2) for the plain-p
      arm, `.rte :is(p,ul,ol,table):not(headings) a:where(...)` (0,2,2) for the .rte arm —
      a genuine flat comma list, each arm keeping its OWN specificity. This is the part
      that shows an underline at rest, which source never did.

   3) assets/base.css:868-871, THE TRAP — `&:hover` nested inside that same two-arm
      rule. Per the CSS Nesting spec, `&` behaves as `:is(arm1, arm2)`, and `:is()`
      ALWAYS takes the specificity of its heaviest argument for every match, even
      elements that only satisfy the lighter arm. arm2 (the `.rte` one) is heavier
      ((0,2,1) for just the ancestor part), so `&:hover`'s real specificity is
      (0,3,2) for EVERY match — including plain `<p>` links that never touch `.rte`.
      This is what beat our first attempt at this fix: a naively-shaped
      `.nowa-home :is(h1..h6,p)>a:hover` counter only reaches (0,2,2), losing to (0,3,2).
      DO NOT re-simplify rules 2/3's counters back to a flat `p:not(...)` shape without
      the `.rte` arm — the trap needs the SAME `:is(arm1,arm2)` shape mirrored, so our
      `.nowa-home` prefix's specificity stacks on top of the same max-arg baseline
      Horizon computes, guaranteeing an unconditional (order-independent) win.

   Source's own `a{color:inherit;text-decoration:none}` never underlined content links
   until :hover, and never re-colored them at all, at rest or hover — hence "color
   stays, only underline appears on hover" is the target state.

   Checked: no `.btn` in the ported hero/midcta/preorder/closing-cta markup is ever a
   `p > a` (or nested under any heading), so no `:not(.btn)` exclusion is needed here;
   `.navlinks a:hover`, `.safe-trust a:hover`, `.papp-trust a:hover` already carry their
   own rules with unrelated ancestor classes and are unaffected either way.

   KNOWN GAP (flagged for the header/footer lane, not fixed here — those files are not
   owned by this subtask): `sections/nowa-footer.liquid:69` has a real `<p class="nf-legal">
   ...<a href="mailto:...">...</a></p>` — nowa-footer renders theme-wide (not just index),
   so on any OFF-index template (cart/product/collections) this `<p>` is NOT inside
   `.nowa-home` and none of the counters below apply there. Computed: Horizon's trap
   rule #3 above is (0,3,2); nowa-footer's own `.nf-legal a:hover{color:var(--color-
   coral-glow)}` is only `.nowa-footer .nf-legal a:hover` = (0,3,1) — same id/class tier,
   fewer elements, so Horizon's (0,3,2) wins and dims the mailto link's hover color
   instead of showing coral-glow, off-index only (on-index the header/footer group
   still renders under body.nowa-home, so this file's counters cover it there). ---- */
.nowa-home :is(h1,h2,h3,h4,h5,h6,p) > a:hover{color:inherit;text-decoration:underline}
.nowa-home :is(p:not(.h1,.h2,.h3,.h4,.h5,.h6), .rte :is(p,ul,ol,table):not(.h1,.h2,.h3,.h4,.h5,.h6)) a:where(:not(.button,.button-secondary)){color:inherit;text-decoration:none}
.nowa-home :is(p:not(.h1,.h2,.h3,.h4,.h5,.h6), .rte :is(p,ul,ol,table):not(.h1,.h2,.h3,.h4,.h5,.h6)) a:where(:not(.button,.button-secondary)):hover{color:inherit;text-decoration:underline;text-decoration-color:currentcolor}

/* ---- band + copy primitives ---- */
.dark{background:var(--band,var(--surface-deep-ink));color:var(--band-ink,var(--color-pure-white))}
.dark h2,.dark h3{color:var(--band-ink,var(--color-pure-white))}
.lead{font-size:var(--text-subheading);color:var(--color-slate-mid);line-height:1.6;max-width:60ch;text-wrap:pretty}
.dark .lead{color:var(--band-muted,var(--color-chalk-surface))}

/* ---- layout ---- */
.wrap{max-width:var(--page-max-width);margin:0 auto;padding:0 var(--spacing-24)}

/* ---- pixel-art rendering ---- */
.px{image-rendering:pixelated}

/* ---- buttons ---- */
.btn{--side:6px;--btn-top:var(--color-coral-flame);--btn-side:var(--color-ember-deep);display:inline-flex;align-items:center;gap:10px;background:linear-gradient(var(--btn-top),var(--btn-top)) no-repeat 0 0/100% calc(100% - var(--side)),var(--btn-side);color:var(--color-pure-white);font-family:var(--font-onest);font-weight:700;font-size:var(--text-body);padding:16px 30px 22px;border-radius:0;clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px));border:0;cursor:pointer;transition:transform 70ms steps(2)}
.btn:active{--side:2px;transform:translateY(4px)}
.btn .arr{transition:transform 200ms var(--ease-out-strong)}
@media(hover:hover) and (pointer:fine){
  /* the face rises 3px while the bottom edge stays where it was: a transparent 3px bottom border (painted with the
     side colour by the base background layer, so the side reads 9px) grows the box down as it moves up, and the
     negative margin keeps the flow still - a pointer on the bottom edge never falls off and flickers */
  .btn:hover{transform:translateY(-3px);border-bottom:3px solid transparent;margin-bottom:-3px}
  .btn:hover .arr{transform:translateX(3px)}
}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-onest);font-weight:700;color:var(--color-deep-ink);padding:16px 6px;border-bottom:2px solid transparent;transition:border-color 200ms var(--ease-out-strong)}
.btn-ghost:hover{border-bottom-color:var(--color-coral-flame)}

/* ---- pixel-corner card (stepped corners; sections layer their own --pxbg/--pxborder and shadow variants) ---- */
.pxcard{border-radius:0 !important;position:relative;background:transparent !important;border:0 !important;--pxbg:var(--surface-pure-white);--pxborder:var(--color-chalk-surface)}
.pxcard::before{content:"";position:absolute;inset:0;background:linear-gradient(var(--pxbg),var(--pxbg)) 1px 1px/calc(100% - 2px) calc(100% - 2px) no-repeat,var(--pxborder);clip-path:polygon(0 12px,6px 12px,6px 6px,12px 6px,12px 0,calc(100% - 12px) 0,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 12px,100% 12px,100% calc(100% - 12px),calc(100% - 6px) calc(100% - 12px),calc(100% - 6px) calc(100% - 6px),calc(100% - 12px) calc(100% - 6px),calc(100% - 12px) 100%,12px 100%,12px calc(100% - 6px),6px calc(100% - 6px),6px calc(100% - 12px),0 calc(100% - 12px));z-index:0}
.pxcard>*{position:relative;z-index:1}
@media(hover:hover) and (pointer:fine){
  .pxcard,.reveal.in.pxcard,.reveal-group.in>.pxcard{transition:transform 150ms var(--ease-out-strong),filter 150ms var(--ease-out-strong),opacity 400ms var(--ease-expo)}
  .reveal-group.in>:is(a,button,details,[role="button"]).pxcard,.reveal.in:is(a,button,details,[role="button"]).pxcard,:is(a,button,details,[role="button"]).pxcard{transition:transform 110ms var(--ease-out-strong),filter 110ms var(--ease-out-strong),opacity 400ms var(--ease-expo)}
  /* hover lifts the card's LAYERS (plate, inner plate, content), never the card box itself: the hit area stays put,
     so a pointer resting on the bottom edge can't fall off the lifted card and flicker between hover / not-hover */
  .pxcard::before,.pxcard::after,.pxcard>*{transition:transform 150ms var(--ease-out-strong)}
  .pxcard:hover::before,.pxcard:hover::after,.pxcard:hover>*{transform:translateY(-3px)}
  a.pxcard:hover,button.pxcard:hover,details.pxcard:hover,.pxcard[role="button"]:hover{--pxborder:var(--color-coral-flame);filter:drop-shadow(6px 6px 0 var(--color-coral-blush))}
  a.pxcard:hover::before,button.pxcard:hover::before,details.pxcard:hover::before,.pxcard[role="button"]:hover::before{background:var(--pxborder)}
  a.pxcard:hover::after,button.pxcard:hover::after,details.pxcard:hover::after,.pxcard[role="button"]:hover::after{content:"";position:absolute;inset:0;width:auto;height:auto;z-index:0;background:var(--pxbg);clip-path:polygon(4px 16px,10px 16px,10px 10px,16px 10px,16px 4px,calc(100% - 16px) 4px,calc(100% - 16px) 10px,calc(100% - 10px) 10px,calc(100% - 10px) 16px,calc(100% - 4px) 16px,calc(100% - 4px) calc(100% - 16px),calc(100% - 10px) calc(100% - 16px),calc(100% - 10px) calc(100% - 10px),calc(100% - 16px) calc(100% - 10px),calc(100% - 16px) calc(100% - 4px),16px calc(100% - 4px),16px calc(100% - 10px),10px calc(100% - 10px),10px calc(100% - 16px),4px calc(100% - 16px))}
  :is(a,button,details,[role="button"]).pxcard:hover::before,:is(a,button,details,[role="button"]).pxcard:hover::after,:is(a,button,details,[role="button"]).pxcard:hover>*{transform:translateY(-5px)}
  /* an open accordion already sits 3px up: hovering adds the rest, so open / close / hover never jump */
  details.pxcard[open]:hover::before,details.pxcard[open]:hover::after,details.pxcard[open]:hover>*{transform:translateY(-2px)}
  /* FAQ accordions (every .faq on every page): hover only recolours the frame + shadow, nothing moves - a list of
     stacked rows that each hop under the pointer reads as jitter when the pointer runs along an edge (user, 2026-10-23) */
  details.faq.pxcard:hover::before,details.faq.pxcard:hover::after,details.faq.pxcard:hover>*,
  details.faq.pxcard[open]:hover::before,details.faq.pxcard[open]:hover::after,details.faq.pxcard[open]:hover>*{transform:none}
}
@media(prefers-reduced-motion:reduce){.pxcard,.pxcard::before,.pxcard::after,.pxcard>*{transition:none}.pxcard:hover::before,.pxcard:hover::after,.pxcard:hover>*{transform:none!important}}

/* ---- group eyebrow ---- */
/* eyebrows that wrap (mostly on mobile): the square sits on the centre of the FIRST line and the text stays left-aligned */
.geyebrow{display:inline-flex;align-items:flex-start;text-align:left;gap:10px;font-family:var(--font-onest);font-weight:700;font-size:var(--text-body-sm);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--spacing-24);color:var(--color-mist-body)}
.geyebrow .cell{flex:none;width:14px;height:14px;margin-top:calc((1lh - 14px) / 2);background:var(--color-coral-flame)}
.dark .geyebrow{color:var(--color-cloud-border)}

/* ---- dithered checkerboard section transitions (used between many sections) ---- */
.dither{height:24px;background-color:var(--dith-dark,var(--surface-deep-ink));background-image:linear-gradient(45deg,var(--dith-light,var(--surface-warm-parchment)) 25%,transparent 25%,transparent 75%,var(--dith-light,var(--surface-warm-parchment)) 75%),linear-gradient(45deg,var(--dith-light,var(--surface-warm-parchment)) 25%,transparent 25%,transparent 75%,var(--dith-light,var(--surface-warm-parchment)) 75%);background-position:0 0,6px 6px;background-size:12px 12px}
.dither.rev{background-color:var(--dith-light,var(--surface-warm-parchment));background-image:linear-gradient(45deg,var(--dith-dark,var(--surface-deep-ink)) 25%,transparent 25%,transparent 75%,var(--dith-dark,var(--surface-deep-ink)) 75%),linear-gradient(45deg,var(--dith-dark,var(--surface-deep-ink)) 25%,transparent 25%,transparent 75%,var(--dith-dark,var(--surface-deep-ink)) 75%);background-position:0 0,6px 6px;background-size:12px 12px}
.dith-soft{--dith-dark:color-mix(in srgb,var(--color-deep-ink) 20%,var(--surface-warm-parchment));--dith-light:var(--surface-warm-parchment)}
.dith-papp{--dith-dark:var(--surface-warm-parchment);--dith-light:var(--color-sage-calm)}
.dith-papp-out{--dith-dark:var(--surface-warm-parchment);--dith-light:var(--color-pure-white)}
/* the divider immediately before #midcta-world (index.html:1439) carried these as inline
   --dith-dark/--dith-light overrides; nowa-midcta's divider is class-only
   (dither {{ section.settings.dither_class }}), so this is now the "midcta_world" instance's
   dither_class value instead of an inline style */
.dith-world{--dith-dark:var(--color-ink-charcoal);--dith-light:var(--color-warm-sand)}

/* ---- scroll reveal (JS-gated by nowa-home.js's 'js' class; content visible without JS) ---- */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity 700ms var(--ease-expo),transform 700ms var(--ease-expo)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal-group>*{opacity:0;transform:translateY(22px);transition:opacity 600ms var(--ease-expo),transform 600ms var(--ease-expo)}
.js .reveal-group.in>*{opacity:1;transform:none}
.js .reveal-group.in>*:nth-child(2){transition-delay:60ms}
.js .reveal-group.in>*:nth-child(3){transition-delay:120ms}
.js .reveal-group.in>*:nth-child(4){transition-delay:180ms}
.js .reveal-group.in>*:nth-child(5){transition-delay:240ms}
@media (prefers-reduced-motion: reduce){
  /* page-wide kill-switch (index.html:739-744) — chrome-specific reduce rules already
     exist per-section (nowa-header, nowa-footer, etc.), so this is scoped to .nowa-home
     rather than global, matching where the index-only section animations it's guarding
     against (twinkle sparks, eq bars, hero entrance, ...) actually render. */
  .nowa-home *,.nowa-home *::before,.nowa-home *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .nowa-home .hero h1 .line>span{transform:none}
  .js .reveal,.js .reveal-group>*{opacity:1;transform:none}
  html:has(body.nowa-home){scroll-behavior:auto}
}

/* ---- fine-print dot separator (midcta, preorder, faq, closing-cta) ---- */
.fdot{color:var(--color-coral-flame);font-weight:700;margin:0 var(--spacing-8)}

/* ---- text selection (index.html:715). Left global/unscoped, matching the source and
   the already-established precedent that NOWA chrome (nowa-header/nowa-footer) is
   theme-wide by design: tokens now load globally too (see file header), so
   var(--color-coral-flame) resolves everywhere, and a coral text-selection color is a
   low-risk, purely cosmetic brand touch — not a layout-breaking leak like the reset
   rules above, so no .nowa-home scoping judged necessary here. ---- */
::selection{background:var(--color-coral-flame);color:var(--color-pure-white)}

/* ---- Lenis smooth-scroll state classes (index.html:24). Lenis itself only ever
   toggles these on <html> when the library loaded, which layout/theme.liquid gates
   to request.page_type == 'index' — no further scoping needed here. ---- */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth iframe{pointer-events:none}

/* ---- iOS Safari: page could be dragged sideways (2026-10-25, Amy) ----
   Horizon keeps the chat drawer's <dialog> rendered while closed (so the "Chat" launcher inside it stays visible),
   parked off-screen at right:-480px as a position:fixed box. Chrome ignores fixed boxes for scroll width; iOS Safari
   lets the visitor pan over to it, so the whole page looks shifted right. Two guards, outside Horizon's core files:
   1. on phones/tablets the closed panel collapses to zero width at the right edge (the fixed launcher inside is
      positioned against the viewport, so it does not move; [open] restores Horizon's own width and slide-in);
   2. the root clips horizontal overflow (clip, not hidden: no scroll container, so position:sticky keeps working). */
@media (max-width: 989px){.theme-drawer__dialog.chat-drawer:not([open]){width:0;max-width:0;right:0;border:0}}
html{overflow-x:clip}

/* ---- nowa-header ---- */

  /* ---- reading progress bar ---- */
  .readbar{position:fixed;left:0;top:0;height:5px;width:0;background:var(--color-coral-flame);z-index:80}

  /* ---- $99 deadline countdown bar (scrolls away; nav stays sticky below it). Same look as
     the /pages/preorder banner, which renders without this header (layout none); values on the DS ladders. ---- */
  .nw-deal{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--spacing-12);flex-wrap:wrap;overflow:hidden;background:var(--color-amber-signal);color:var(--color-deep-ink);text-align:center;padding:var(--spacing-12) var(--spacing-16);font-family:var(--font-onest);font-weight:750;font-size:var(--text-body-sm);line-height:1.3;border-bottom:2px solid var(--color-deep-ink);text-decoration:none}
  .nw-deal::after{content:"";position:absolute;left:0;bottom:0;width:var(--deal-progress,85%);height:4px;background:var(--color-coral-flame);transition:width 600ms var(--ease-out-strong)}
  .nw-deal .nw-deal__offer{font-weight:900;letter-spacing:.02em;text-transform:uppercase}
  .nw-deal .nw-deal__count{display:inline-flex;align-items:baseline;background:var(--color-deep-ink);color:var(--color-pure-white);padding:var(--spacing-4) var(--spacing-8);clip-path:polygon(0 4px,4px 4px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px))}
  .nw-deal .nw-deal__count b{color:var(--color-amber-signal);font-size:var(--text-body);font-weight:800;font-variant-numeric:tabular-nums}
  .nw-deal .nw-deal__after{font-weight:650}
  .nw-deal .nw-deal__arrow{font-weight:900;transition:transform 140ms ease}
  @media(hover:hover) and (pointer:fine){.nw-deal:hover .nw-deal__arrow{transform:translateX(3px)}}
  @media(max-width:620px){.nw-deal{gap:var(--spacing-8);padding-inline:var(--spacing-12);font-size:var(--text-caption)}.nw-deal .nw-deal__offer{font-size:var(--text-caption)}.nw-deal .nw-deal__count b{font-size:var(--text-body-sm)}}

  /* Source nav{position:sticky} (index.html:86) worked because nav was a direct child of
     body. Here nav.nowa-nav is wrapped by theme.liquid's <div id="header-group"> and the
     section-group's own <div class="shopify-section">, both plain boxes only as tall as
     the header — a sticky element can't travel further than its containing block, so it
     never stuck. #header-group holds ONLY this section (see sections/header-group.json),
     so collapsing both wrapper boxes out of the layout tree is safe: it makes nav's
     containing block .page-wrapper (assets/base.css — the real scrolling container on
     desktop), which is what the source's "direct child of body" gave it for free. Verified
     nothing else targets these wrappers for box-level styling: assets/base.css only
     references #header-group under `body:has(.header[transparent])`, which never matches
     here since Horizon's own header-section type isn't in our header-group. */
  #header-group,
  #header-group > .shopify-section{display:contents}

  /* ---- nav ---- */
  /* .nowa-nav (additive, not from source): scopes these rules to our own <nav> so they
     don't leak onto Horizon's own <nav> elements (e.g. snippets/pagination-controls.liquid
     renders <nav class="pagination">) — this stylesheet ships globally via theme.liquid. */
  nav.nowa-nav{position:sticky;top:0;z-index:var(--z-nav);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-warm-parchment) 85%,transparent);border-bottom:1px solid rgba(22,28,36,.07)}
  nav.nowa-nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:var(--spacing-16);padding-bottom:var(--spacing-16)}
  .brand{font-family:var(--font-onest);font-weight:800;font-size:22px;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}
  /* Horizon's assets/base.css ships a global img{width:100%;height:auto} that overrides
     this logo's width/height ATTRIBUTES (107×24) on every template — counter it explicitly.
     Placed before the mobile media query below so that one still wins at <=600px. */
  .brand img{display:inline-block;width:107px;height:auto}
  @media(max-width:600px){.brand img{width:80px;height:auto}}
  .navlinks{display:flex;gap:var(--spacing-32);align-items:center}
  .navlinks a{font-family:var(--font-onest);font-size:var(--text-body-sm);font-weight:600;color:var(--color-slate-mid);transition:color 150ms ease}
  .navlinks a:hover{color:var(--color-deep-ink)}
  .navlinks .btn{padding:11px 22px;font-size:var(--text-body-sm)}
  .navlinks a.btn{color:var(--color-pure-white)}
  .navlinks a.btn:hover{color:var(--color-pure-white)}
  .nav-story{color:var(--color-deep-ink)!important;font-weight:700}
  .nav-hl{position:relative;display:inline-block;padding:var(--spacing-4) var(--spacing-8);z-index:0}
  .nav-hl::before{content:"";position:absolute;inset:3px 0;z-index:-1;background:var(--color-amber-signal);transform:rotate(-1.4deg);clip-path:polygon(0 4px,4px 4px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px))}
  .nav-story:hover .nav-hl::before{transform:rotate(-1.4deg) scaleY(1.15)}
  /* ---- mobile / tablet nav (<= 1024px): logo + CTA + hamburger; the menu opens full screen ---- */
  .nav-mob{display:none;align-items:center;gap:var(--spacing-12)}
  nav.nowa-nav{transition:transform 300ms var(--ease-out-strong)}
  .nav-mob .btn{padding:11px 22px;font-size:var(--text-body-sm)}
  .nav-mob a.btn,.nav-mob a.btn:hover{color:var(--color-pure-white)}
  .nav-burger{position:relative;width:var(--spacing-40);height:var(--spacing-40);padding:0;border:0;background:none;cursor:pointer;color:var(--color-deep-ink)}
  .nav-burger span{position:absolute;left:var(--spacing-8);width:var(--spacing-24);height:3px;background:currentColor;transition:transform 300ms var(--ease-out-strong),opacity 200ms var(--ease-out-strong)}
  .nav-burger span:nth-child(1){top:calc(50% - 8px - 1.5px)}
  .nav-burger span:nth-child(2){top:calc(50% - 1.5px)}
  .nav-burger span:nth-child(3){top:calc(50% + 8px - 1.5px)}
  .nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(.2)}
  .nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .nav-burger:focus-visible{outline:2px solid var(--color-coral-flame);outline-offset:2px}
  /* the menu lives outside the nav (the nav's backdrop-filter would trap a fixed child), under it in z so
     the bar with the X stays on top */
  .nav-menu{position:fixed;inset:0;z-index:calc(var(--z-nav) - 1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-48);padding:var(--spacing-96) var(--spacing-24) var(--spacing-48);background:var(--color-warm-parchment);opacity:0;visibility:hidden;transition:opacity 300ms var(--ease-out-strong),visibility 0s linear 300ms}
  .nav-menu[hidden]{display:none}
  .nav-menu.open{opacity:1;visibility:visible;transition:opacity 300ms var(--ease-out-strong)}
  .nav-menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-24);text-align:center}
  .nav-menu-list a{font-family:var(--font-onest);font-weight:800;font-size:var(--text-heading);letter-spacing:-.015em;color:var(--color-deep-ink);text-decoration:none}
  .nav-menu-list a:hover{color:var(--color-coral-flame)}
  .nav-menu-list li{opacity:0;transform:translateY(12px);transition:opacity 400ms var(--ease-expo),transform 400ms var(--ease-expo)}
  .nav-menu.open .nav-menu-list li{opacity:1;transform:none}
  .nav-menu.open .nav-menu-list li:nth-child(2){transition-delay:40ms}
  .nav-menu.open .nav-menu-list li:nth-child(3){transition-delay:80ms}
  .nav-menu.open .nav-menu-list li:nth-child(4){transition-delay:120ms}
  .nav-menu.open .nav-menu-list li:nth-child(5){transition-delay:160ms}
  .nav-menu.open .nav-menu-list li:nth-child(6){transition-delay:200ms}
  @media(max-width:1024px){.navlinks{display:none}.nav-mob{display:flex}}
  @media(min-width:1025px){.nav-menu{display:none!important}}
  @media(prefers-reduced-motion:reduce){nav.nowa-nav,.nav-burger span,.nav-menu,.nav-menu-list li{transition:none}}

  /* ---- chapter rail (2026-10-22 redesign) ----
     a small stepped card in the left gutter: one numbered pixel cell per chapter (Tiny5 = numbers), the dotted
     connectors fill amber as you read, the current chapter is the one coral cell. Names live in a chip that shows
     on hover/focus, flashes for a moment when the chapter changes, and stays only when the gutter has room for it
     (.roomy, set in JS) - so the rail never sits over the page's content. */
  .rail{position:fixed;left:var(--spacing-16);top:50%;transform:translateY(-50%);z-index:var(--z-rail);filter:drop-shadow(3px 3px 0 rgba(22,28,36,.12))}
  .rail-card{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-8)}
  /* the card face is a pseudo-element so its stepped clip doesn't clip the name chips */
  .rail-card::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--color-pure-white);clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px));transition:background 250ms var(--ease-out-strong)}
  .rail a{position:relative;display:block;text-decoration:none;outline:none}
  .rail a+a{margin-top:var(--spacing-12)}
  /* connector above every cell but the first: dotted, amber once that chapter has been reached */
  .rail a+a::before{content:"";position:absolute;left:50%;bottom:100%;width:4px;height:var(--spacing-12);translate:-50% 0;background:repeating-linear-gradient(180deg,var(--color-cloud-border) 0 4px,transparent 4px 8px)}
  .rail a.done+a::before{background:repeating-linear-gradient(180deg,var(--color-amber-signal) 0 4px,transparent 4px 8px)}
  .rail .rcell{display:grid;place-items:center;width:var(--spacing-24);height:var(--spacing-24);font-family:var(--font-pixel);font-size:var(--text-body-sm);line-height:1;color:var(--color-slate-mid);background:var(--color-warm-parchment);clip-path:polygon(0 4px,4px 4px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px));transition:background 250ms var(--ease-out-strong),color 250ms var(--ease-out-strong),transform 70ms steps(2)}
  .rail a.done .rcell{background:var(--color-deep-ink);color:var(--color-pure-white)}
  .rail a.active .rcell{background:var(--color-coral-flame);color:var(--color-pure-white)}
  @media(hover:hover) and (pointer:fine){.rail a:hover .rcell{transform:translateY(-2px)}}
  .rail a:focus-visible .rcell{outline:2px solid var(--color-coral-flame);outline-offset:2px}
  /* the chapter name chip, outside the card */
  .rail .rname{position:absolute;left:calc(100% + var(--spacing-16));top:50%;translate:0 -50%;padding:var(--spacing-4) var(--spacing-8);font-family:var(--font-onest);font-size:var(--text-caption);font-weight:700;line-height:1.333;white-space:nowrap;color:var(--color-pure-white);background:var(--color-deep-ink);clip-path:polygon(0 4px,4px 4px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px));opacity:0;transform:translateX(-4px);pointer-events:none;transition:opacity 200ms var(--ease-out-strong),transform 200ms var(--ease-out-strong)}
  .rail a:hover .rname,.rail a:focus-visible .rname,.rail a.peek .rname,.rail.roomy a.active .rname{opacity:1;transform:none}
  .rail a.active .rname{background:var(--color-coral-flame)}
  /* night bands: the card turns charcoal so it still reads as a card, not a hole */
  .rail.on-dark .rail-card::before{background:var(--color-ink-charcoal)}
  .rail.on-dark .rcell{background:var(--color-deep-ink);color:var(--color-cloud-border)}
  .rail.on-dark a.done .rcell{background:var(--color-chalk-surface);color:var(--color-deep-ink)}
  .rail.on-dark a.active .rcell,.rail.on-dark a.active .rname{background:var(--color-coral-glow);color:var(--color-deep-ink)}
  .rail.on-dark .rname{background:var(--color-pure-white);color:var(--color-deep-ink)}
  .rail.on-dark a+a::before{background:repeating-linear-gradient(180deg,var(--color-slate-mid) 0 4px,transparent 4px 8px)}
  .rail.on-dark a.done+a::before{background:repeating-linear-gradient(180deg,var(--color-amber-signal) 0 4px,transparent 4px 8px)}
  @media(prefers-reduced-motion:reduce){.rail .rcell,.rail .rname,.rail-card::before{transition:none}}
  @media(max-width:1280px){.rail{display:none}}

/* ---- nowa-hero ---- */

  /* ---- hero: Glide-style centered head, a full-width voxel scene, a card over its foot ----
     The scene plates and videos are flat Sunlit cream, so the whole hero paints that same cream (no page
     grid) and every scene is shown whole, never cropped: the illustration melts into the section. */
  #top.hero{text-align:center;overflow:clip;padding:clamp(var(--spacing-32),3.2vw,var(--spacing-48)) var(--spacing-24) clamp(var(--spacing-64),7vw,var(--spacing-96));
    background:var(--surface-warm-parchment)}
  #top .nh-head h1{font-weight:600;font-size:clamp(var(--text-heading-lg),3.4vw,var(--text-display-alt));line-height:1.08;letter-spacing:-.025em;max-width:22ch;margin:0 auto;text-wrap:balance}
  #top .nh-head h1 .line{display:block}
  /* DS LP regime: spacing on the 4px token ladder, fluid type between ladder sizes (12·14·16·18·…·64) */
  #top .nh-foot{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-24);margin-top:clamp(var(--spacing-16),2vw,var(--spacing-24))}
  #top .nh-act{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-12)}
  #top .nh-sub{max-width:40rem;margin:0 auto;font-size:clamp(var(--text-body),1.3vw,var(--text-subheading));line-height:1.6;color:var(--color-slate-mid);text-wrap:pretty}

  #top .nh-scene{position:relative;max-width:1400px;margin:clamp(var(--spacing-12),1.6vw,var(--spacing-24)) auto 0;aspect-ratio:2206/946;container-type:size}
  #top .nh-scene>*{position:absolute;inset:0;opacity:0;transition:opacity 600ms ease;
    /* a thin feather hides the frame edge (the encoded cream sits a level or two off the page cream); the buildings sit well inside it */
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(transparent,#000 2%,#000 95%,transparent);
    -webkit-mask-composite:source-in;
            mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(transparent,#000 2%,#000 95%,transparent);
            mask-composite:intersect}
  #top .nh-scene>.on{opacity:1}
  #top .nh-scene video{width:100%;height:100%;object-fit:cover;object-position:var(--x,42%) 50%}

  /* live scene: the plate box keeps the plate's own aspect and sits like object-fit:cover + object-position */
  #top .nh-live{overflow:hidden}
  #top .nh-world{position:absolute;top:0;height:100cqh;width:calc(100cqh * var(--arn));left:calc((100cqw - 100cqh * var(--arn)) * var(--x))}
  #top .nh-plate{display:block;width:100%;height:100%;object-fit:cover}
  /* outdoors layers */
  #top .nh-bfly{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:1.4%;aspect-ratio:1;animation:nh-bfly 9s ease-in-out infinite}
  #top .nh-bfly.b2{animation-duration:11s;animation-delay:-4s}
  #top .nh-bfly img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
  #top .nh-bfly img+img{animation:nh-flap .32s steps(1) infinite}
  #top .nh-bfly img:first-child{animation:nh-flap .32s steps(1) infinite reverse}
  @keyframes nh-flap{0%{opacity:1}50%{opacity:0}}
  @keyframes nh-bfly{0%{translate:0 0;scale:1}20%{translate:120% -160%;scale:1}40%{translate:260% -60%;scale:-1 1}
    55%{translate:160% -220%;scale:-1 1}75%{translate:-140% -120%;scale:-1 1}88%{translate:-60% 40%;scale:1}100%{translate:0 0;scale:1}}
  #top .nh-leaf i{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:6px;height:6px;background:var(--color-leaf-success);
    box-shadow:6px 0 0 var(--color-sage-muted);opacity:0;animation:nh-leaf var(--d) linear infinite var(--t)}
  @keyframes nh-leaf{0%{opacity:0;translate:0 0}8%{opacity:1}25%{translate:30px 25cqh}50%{translate:-10px 50cqh}75%{translate:35px 70cqh}92%{opacity:1}100%{opacity:0;translate:5px 88cqh}}
  /* school + bedtime FX: DS kit sprites (music icon from pixel-icons, spark ladder) and token colours only */
  #top .nh-pet .note{width:24px;height:24px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEFUlEQVR4nO2b30sVQRTHz45DBirkg7egoJvoSz8JE5Je6ikoH0L68eQ/0EMW+BQ9lr0IQuBLjz4ERUiBWBbhQ5hBCt78lT8ozSx/9AuTTLMfzN47t3Gc3Z3de/beXbcPyA57987s95wzs3vnHAEijgEhJbaj7I/utXPvxo3QGCDmQpgXZGMQiDhGWD17v3dY67onD/rhxpWzlpFgBE2krrBPU8vaffYNjJpH0RDcABQCRrxIb1Y2dX4zjwfi+ZbXJCaSRtq0at2nAVn2vJOHxxZ+mcepvu+Z31jKCOOD3Wa75mg8HQUoERCThOuEr1Potml4VhceAZxXH9ZHAgUkmHgevr1DS5bXtTgIxBAui6/atxW6+2dhaOS1fwaIFxF4PP3TbE+9WbG8DkugG8/bQbG8z8S33fuSFYFY4tFehJj3mfhc41Y8mgF46OfS+17Eb5hXYSa+68VQ+k9m/ncplO2pUj7BKISEmx3/ptj2Hw/T7ZnpSfPIY2+55LirfikETJzM6sLEunMz80nRGFDIIXzeqkTmz3eYxzyL7y6Otao/GGuF6msDZlNnYaYQoPC1w1JwhlCMThoSS7Df5j08b/J5+twMkjirXR62uNUf2wuNnckoyGoEJCaWtR6FfnnTC9Svjt+/HYbxwVl0DwfSAJ8vVgLUPQ2cOBUXrt5ZszFCIGLIP4lJtm8gl95nyD+JCVbH1aeKIYwQiDgEIg6BiEMg4hCIOAQiDoGIQ2GDICZpdH8JMv5HAIQEvwonKAQYr0lXnmANvQGsSIyOgB0bwgAxm8wzT8NhQCHgcOFiWr22ogBq67fBuUbVDiOiAWI+V2w5jcnEc+E8rc44WVGANh6FAMOSrrwUxi8oVuVHU8vHNbvDJQQv6aoCI/yVBpBDkKFT+ZFpllaGjS0a9bYw57HEO04BLly38gNLvDg2Nl+FJM0aA6g8L1d9XD5dDA131Y8fWXwyJV2artDKNPwxve4YAfGU9XkIMuEc3hYNgel5p3SbF+ycQFXer2ueM9vc81ysKgJ0xMvJiFwiZ6lIJnNP1/Oq+rygQJzqfcTw9xr2zx7d8pRue7lrM2CGv7wAar0IqRY9HfFeFz+Rlebr0JUqeTlSudv19/k9qIRziNtO/VjwcgnNhng36XGeO2QLM/teYep8T3sHHDpxyXXkid4X78OyWLrBptoDa965gd90YXkN9LQ3pc9v2XlYeb1qPJVw2wjoMuvtAM6fOejZ85kKz1b/1O5Dt8IxFj7RU+L7iTkdymsymnqq1LzBG+JgfCBWdKi7+lqFPb8Jr3UBVnsSVsZQrTda/zYXUwwkGoIhG8PuMWM377zidoNGZ1wCEcdwsrLbeeeX9/3CyMW8C+2L0GKAChyxMJwu8LIzHBbvw38A/gL4EiRsPHQpfQAAAABJRU5ErkJggg==");--fx:120%;--fy:-10%;animation:nh-rise 2.4s steps(6) infinite}
  #top .nh-pet .bub{width:6px;height:6px;background:var(--color-pure-white);box-shadow:0 0 0 2px var(--color-tint-sky);left:auto;right:6%;top:30%;--fx:0;--fy:0;animation:nh-rise 1.8s steps(6) infinite}
  #top .nh-sky i{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);image-rendering:pixelated;background:no-repeat center/100% 100%;opacity:0;animation:nh-tw 2.4s steps(1) infinite var(--d)}
  #top .nh-sky .sp{width:15px;height:15px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJElEQVR4nGNggIL3nrb/YWwmGAMZMMJUCGw7xPDByw5VlqB2AGQECmJSS5OSAAAAAElFTkSuQmCC")}
  #top .nh-sky .gl{width:9px;height:9px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGklEQVR4nGNgYGBg+FFV+B9EgxkggCIAkgAALqwPhfe5js0AAAAASUVORK5CYII=")}
  @container (max-width:700px){#top .nh-pet .note{width:16px;height:16px}#top .nh-sky .sp{width:10px;height:10px}#top .nh-sky .gl{width:6px;height:6px}}
  /* a pet: pose art of the pet holding its prop (generated from the DS species art + nowa-graphic-icon props),
     feet on (--px, --py), --ph tall, all in % of the plate. Pet life is stepped like a sprite sheet:
     translation and mirror flips only, never rotated or squashed (DS VIDEO.md section 6). The art faces right. */
  #top .nh-pet{position:absolute;left:calc(var(--px) * 1%);top:calc(var(--py) * 1%);height:calc(var(--ph) * 1%);aspect-ratio:var(--ar,1);translate:-50% -100%}
  #top .nh-pet b{display:block;width:100%;height:100%}
  #top .nh-pet b{position:relative}
  #top .nh-pet .pa{display:block;width:100%;height:100%;animation:nh-bob .9s steps(1) infinite}
  #top .nh-pet.sleep .pa{animation-duration:1.8s}
  #top .nh-pet.cook b{animation:nh-hop 2.4s steps(1) infinite}
  #top .nh-pet.walk b{animation:nh-walk 7s steps(1) infinite}
  @keyframes nh-bob{0%{translate:0 0}50%{translate:0 -2.5%}}
  @keyframes nh-hop{0%{translate:0 0}4%{translate:0 -10%}8%{translate:0 -16%}12%{translate:0 -10%}16%{translate:0 0}100%{translate:0 0}}
  /* walk left a little, turn, walk back: stepped strides, mirrored to face the way it goes */
  @keyframes nh-walk{
    0%{translate:0 0;scale:-1 1}5%{translate:-8% 0}10%{translate:-16% 0}15%{translate:-24% 0}20%{translate:-32% 0}25%{translate:-40% 0}30%{translate:-48% 0}35%{translate:-56% 0}
    40%{translate:-64% 0}50%{translate:-64% 0;scale:1}55%{translate:-56% 0}60%{translate:-48% 0}65%{translate:-40% 0}70%{translate:-32% 0}75%{translate:-24% 0}80%{translate:-16% 0}85%{translate:-8% 0}90%{translate:0 0}100%{translate:0 0;scale:1}}

  /* pixel FX: the DS kit sprites (spark-5-coral, spark-3-glow, heart-s) at an integer scale */
  #top .nh-pet .fx{position:absolute;left:50%;top:0;translate:var(--fx,0) var(--fy,0);image-rendering:pixelated;background:no-repeat center/100% 100%;font-style:normal;opacity:0}
  #top .nh-pet .sp{width:15px;height:15px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJElEQVR4nGNggIL3nrb/YWwmGAMZMMJUCGw7xPDByw5VlqB2AGQECmJSS5OSAAAAAElFTkSuQmCC");animation:nh-tw 1.6s steps(1) infinite}
  #top .nh-pet .gl{width:9px;height:9px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGklEQVR4nGNgYGBg+FFV+B9EgxkggCIAkgAALqwPhfe5js0AAAAASUVORK5CYII=");animation:nh-tw 1.6s steps(1) infinite}
  #top .nh-pet .ht{width:21px;height:18px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAGCAYAAAAPDoR2AAAAO0lEQVR4nGNgYGBgeO9p+x+E0dmMIIbAtkMMH7zsQHwUwAQisEmAJQW3H2bEJgESB+tEV4BVA8whMAAARkgZaIwbpOoAAAAASUVORK5CYII=");--fx:20%;--fy:-20%;animation:nh-rise 4.2s steps(6) infinite}
  #top .nh-pet .z{font-family:var(--font-pixel);font-size:var(--text-body);line-height:1;color:var(--color-slate-mid);--fx:30%;--fy:-10%;animation:nh-rise 3.6s steps(6) infinite}
  /* water from the can's spout (the pose faces right; the spout sits at its right edge) */
  #top .nh-pet .drop{width:5px;height:7px;background:var(--color-tint-sky);left:auto;right:-4%;top:58%;--fx:0;--fy:0;animation:nh-drop 1.2s steps(6) infinite}
  #top .nh-pet .drop.d2{animation-delay:-.4s;right:0}
  #top .nh-pet .drop.d3{animation-delay:-.8s;right:-2%}
  @keyframes nh-drop{0%{opacity:0;transform:translate(0,0)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate(4px,60px)}}
  #top .nh-pet .d2{animation-delay:-.8s}
  #top .nh-pet .ht.d2,#top .nh-pet .z.d2{animation-delay:-1.8s}
  @keyframes nh-tw{0%{opacity:0}30%{opacity:1}70%{opacity:0}}
  @keyframes nh-rise{0%{opacity:0;transform:translate(0,0)}15%{opacity:1}70%{opacity:1}100%{opacity:0;transform:translate(6px,-36px)}}
  @container (max-width:700px){
    #top .nh-pet .sp{width:10px;height:10px}
    #top .nh-pet .gl{width:6px;height:6px}
    #top .nh-pet .ht{width:14px;height:12px}
    #top .nh-pet .z{font-size:var(--text-caption)}
  }
  #top .nh-live:not(.on) *{animation-play-state:paused}

  #top .nh-cta{display:flex;gap:var(--spacing-16);align-items:center;justify-content:center;flex-wrap:wrap}
  #top .ship{font-size:var(--text-body-sm);color:var(--color-mist-body);margin:0}
  #top .ship s{text-decoration-thickness:3px;text-decoration-color:var(--color-coral-flame);color:var(--color-mist-body)}
  #top .ship b{color:var(--color-deep-ink);font-weight:700}

  @media(max-width:860px){
    /* phones: a little tighter on the sides (the plates carry empty cream there), still never cutting a building */
    #top .nh-scene{margin-left:calc(var(--spacing-24) * -1);margin-right:calc(var(--spacing-24) * -1);aspect-ratio:1.9}
    #top .nh-world{--x:.5!important}
  }
  @media(prefers-reduced-motion:reduce){#top .nh-scene>*{transition:none}#top .nh-live *{animation:none!important}#top .nh-leaf,#top .nh-bfly,#top .nh-pet .drop,#top .nh-sky{display:none}}
  /* phones: a taller crop of the scene so the pets read; 15-85 % of the frame stays in view (every pet sits there) */
  @media(max-width:600px){#top .nh-scene{aspect-ratio:1.6}}

/* ---- nowa-spine ---- */

  /* ---- spine: the parent quote on a calm night-sky band (the two DS ink tones), a few still pixel stars ---- */
  #spine.spine{position:relative;overflow:hidden;text-align:center;color:var(--color-pure-white);
    background:linear-gradient(180deg,var(--color-deep-ink) 0%,var(--color-ink-charcoal) 100%);
    padding:clamp(var(--spacing-64),8vw,var(--spacing-96)) 0}
  #spine .spine-stars{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}
  #spine .wrap{position:relative;max-width:46rem}
  #spine .spine-who{font-family:var(--font-pixel);font-size:var(--text-caption);letter-spacing:.12em;color:var(--color-cloud-border)}
  #spine .quote{font-family:var(--font-onest);font-weight:600;font-size:clamp(var(--text-heading-lg),3vw,var(--text-heading-xl));line-height:1.15;letter-spacing:-.02em;margin:var(--spacing-16) auto 0;text-wrap:balance;color:var(--color-pure-white)}
  #spine .quote .q{color:var(--color-coral-glow)}
  #spine .sub{margin:var(--spacing-16) auto 0;max-width:32rem;font-size:var(--text-body);color:var(--color-chalk-surface)}
  /* sparkles around the quote: DS kit sprites (spark ladder white/glow, plus) at an integer scale, stepped twinkle */
  #spine .spine-sparks{position:absolute;inset:0;pointer-events:none}
  #spine .spine-sparks i{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);translate:-50% -50%;image-rendering:pixelated;
    background:no-repeat center/100% 100%;opacity:0;animation:sp-tw 3.2s steps(1) infinite var(--t)}
  #spine .spine-sparks .w7{width:21px;height:21px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAALElEQVR4nGNgQAL/////j8xnQuagA7gkTBeybkZ0o5ABIzb7GBkZ4eLkOQgApzoX9ePV/msAAAAASUVORK5CYII=")}
  #spine .spine-sparks .g7{width:21px;height:21px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAALklEQVR4nGNgQAI/qgr/I/OZkDk4AUgXCCDrZoRx2Fv74Ap/VhcR1omhgGgHAQDJ2h8sDIqrLAAAAABJRU5ErkJggg==")}
  #spine .spine-sparks .w5{width:15px;height:15px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHUlEQVR4nGNggIL/////h7GZYAxkwIisAgMQ1A4A6K4L+mBDM4kAAAAASUVORK5CYII=")}
  #spine .spine-sparks .g3{width:9px;height:9px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGklEQVR4nGNgYGBg+FFV+B9EgxkggCIAkgAALqwPhfe5js0AAAAASUVORK5CYII=")}
  #spine .spine-sparks .p3{width:9px;height:9px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGUlEQVR4nGNgYGBg+P///38QzQhjwAFMAAD5Rwv2QKDUZwAAAABJRU5ErkJggg==")}
  @keyframes sp-tw{0%{opacity:0}12%{opacity:.55}24%{opacity:1}40%{opacity:.55}52%{opacity:0}}
  @media(max-width:600px){#spine .spine-sparks .w7,#spine .spine-sparks .g7{width:14px;height:14px}#spine .spine-sparks .w5{width:10px;height:10px}#spine .spine-sparks .g3,#spine .spine-sparks .p3{width:6px;height:6px}}
  @media(prefers-reduced-motion:reduce){#spine .spine-sparks i{animation:none;opacity:.7}}

/* ---- nowa-device ---- */

  /* ---- What Nowa is: copy + spec sheet | 3D device. DS LP regime: spacing on the 4px token ladder,
     fluid type between ladder sizes, pixel-line icons, stepped corners on the drawn spec sheet ---- */
  /* solid Sunlit cream: the page grid stops at this section */
  #device.device-blend{padding-block:clamp(var(--spacing-64),7vw,var(--spacing-96));background:var(--surface-warm-parchment)}
  #device .nd-split{display:grid;grid-template-columns:1.05fr .95fr;grid-template-areas:"head ." "body stage";column-gap:clamp(var(--spacing-32),5vw,var(--spacing-64))}
  #device .nd-head{grid-area:head}
  #device .nd-body{grid-area:body}
  /* the device balances the spec sheet: same row, centred on it */
  #device .nd-stage{grid-area:stage;align-self:center}
  #device .nd-split>*{min-width:0}
  #device h2{font-size:clamp(var(--text-heading-lg),3.6vw,var(--text-display-alt));max-width:20ch;text-wrap:balance}
  #device .lead{margin-top:var(--spacing-16)}
  /* the spec sheet: one drawn surface - cloud-border hairlines between cells inside a stepped 8px frame */
  #device .nd-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:var(--spacing-32) 0 0;background:var(--color-cloud-border);
    clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px))}
  #device .nd-spec{margin:0;background:var(--surface-warm-parchment);padding:var(--spacing-16)}
  #device .nd-spec dt{display:flex;align-items:center;gap:var(--spacing-8);font-family:var(--font-onest);font-weight:700;font-size:var(--text-body-sm);color:var(--color-mist-body)}
  #device .nd-spec dt svg{flex:none;color:var(--color-coral-flame)}
  #device .nd-spec dd{margin:var(--spacing-4) 0 0;font-family:var(--font-onest);font-weight:600;font-size:var(--text-body);color:var(--color-deep-ink)}
  #device .nd-spec dd span{display:block;margin-top:var(--spacing-4);font-family:var(--font-noto-sans);font-weight:400;font-size:var(--text-body-sm);line-height:1.5;color:var(--color-slate-mid)}
  #device .nd-box{display:flex;gap:var(--spacing-8);align-items:flex-start;margin-top:var(--spacing-16);font-size:var(--text-body-sm);color:var(--color-mist-body)}
  #device .nd-box svg{flex:none;margin-top:var(--spacing-4);color:var(--color-mist-body)}
  #device .nd-box b{color:var(--color-deep-ink);font-weight:600}
  @media(max-width:860px){#device .nd-split{grid-template-columns:1fr;grid-template-areas:"head" "stage" "body"}#device #nd3d{max-width:480px;margin:var(--spacing-24) auto 0;width:100%}}
  @media(max-width:600px){#device .nd-specs{grid-template-columns:1fr}}

  /* 3D stage: the model floats on the page canvas, no card behind it */
  #device .nd-stage{position:relative;aspect-ratio:1/1.08;max-width:100%}
  #device .nd-stage img,#device .nd-stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
  #device .nd-stage img{padding:12%;transition:opacity 600ms var(--ease-out-strong)}
  #device .nd-stage canvas{opacity:0;transition:opacity 700ms var(--ease-out-strong);touch-action:pan-y}
  #device .nd-stage.live canvas{opacity:1}
  #device .nd-stage.live img{opacity:0}

  #device .hs-specs dd span{margin-top:0}
  #device .hs-guide{margin:var(--spacing-16) 0 0}
  #device .hs-guide .hs-link{font-family:var(--font-onest);font-weight:800;font-size:var(--text-body);color:var(--color-coral-flame);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:var(--spacing-4)}

  /* specs fold: open on desktop (the script below opens it), a FAQ-style toggle on phones and tablets */
  #device .nd-fold{background:none;border:0;filter:none;margin-top:var(--spacing-32)}
  #device .nd-fold::before,#device .nd-fold::after{display:none}
  #device .nd-fold>summary{display:none}
  #device .nd-fold .nd-specs{margin-top:0}
  @media(max-width:860px){
    #device .nd-fold{background:var(--surface-pure-white);border:1px solid var(--color-chalk-surface);filter:drop-shadow(3px 3px 0 rgba(22,28,36,.12));margin-top:var(--spacing-24)}
    #device .nd-fold::before{display:block}
    #device .nd-fold>summary{display:flex}
    #device .nd-fold[open]{--pxbg:var(--surface-pure-white);transform:none}
    #device .nd-fold .nd-specs{margin:0 var(--spacing-16)}
    #device .nd-fold .nd-box{margin:var(--spacing-16) var(--spacing-16) var(--spacing-16)}
  }

  /* 2026-10-25: 3D device + demo clip carousel (scroll-snap; the pills and arrow keys switch too) */
  #device .nd-stage-wrap{grid-area:stage;align-self:center;min-width:0}
  #device .nd-slides{display:flex;aspect-ratio:1/1.08;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;outline:none}
  #device .nd-slides::-webkit-scrollbar{display:none}
  #device .nd-slides:focus-visible{outline:2px solid var(--color-coral-flame);outline-offset:4px}
  #device .nd-slide{flex:0 0 100%;min-width:0;height:100%;scroll-snap-align:center;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center}
  #device .nd-slides #nd3d{width:100%;margin:0;max-width:none}
  #device .nd-slides #nd3d canvas{touch-action:pan-x pan-y}
  #device .nd-vid{position:relative;margin:0;height:100%;width:auto;aspect-ratio:9/16;overflow:hidden;border-radius:var(--radius-images);background:var(--color-ink-charcoal)}
  #device .nd-vid video{display:block;width:100%;height:100%;object-fit:cover}
  #device .nd-sound{position:absolute;left:var(--spacing-12);bottom:var(--spacing-12);display:inline-flex;align-items:center;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-12);border:0;border-radius:999px;background:rgb(22 28 36 / .72);color:var(--color-pure-white);font-family:var(--font-onest);font-weight:700;font-size:var(--text-caption);cursor:pointer}
  #device .nd-sound:focus-visible{outline:2px solid var(--color-amber-signal);outline-offset:2px}
  #device .nd-sound-ic{width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z'/%3E%3Cpath d='M16 9l5 6M21 9l-5 6' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z'/%3E%3Cpath d='M16 9l5 6M21 9l-5 6' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
  #device .nd-sound[aria-pressed="true"] .nd-sound-ic{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z'/%3E%3Cpath d='M16 8a5 5 0 0 1 0 8M18.5 5.5a8.5 8.5 0 0 1 0 13' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h4l5-4v14l-5-4H4z'/%3E%3Cpath d='M16 8a5 5 0 0 1 0 8M18.5 5.5a8.5 8.5 0 0 1 0 13' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E")}
  #device .nd-dots{display:flex;justify-content:center;gap:var(--spacing-8);margin-top:var(--spacing-16)}
  #device .nd-dot{border:1px solid var(--color-cloud-border);background:var(--surface-pure-white);color:var(--color-slate-mid);font-family:var(--font-onest);font-weight:700;font-size:var(--text-body-sm);padding:var(--spacing-8) var(--spacing-16);border-radius:999px;cursor:pointer;transition:background 150ms var(--ease-out-strong),color 150ms var(--ease-out-strong)}
  #device .nd-dot[aria-selected="true"]{background:var(--color-deep-ink);border-color:var(--color-deep-ink);color:var(--color-pure-white)}
  #device .nd-dot:focus-visible{outline:2px solid var(--color-coral-flame);outline-offset:2px}
  @media(max-width:860px){#device .nd-stage-wrap{max-width:480px;width:100%;margin:var(--spacing-24) auto 0}#device .nd-slides{aspect-ratio:3/4}}  /* phones: a little taller so the portrait clip is watchable */
  @media(prefers-reduced-motion:reduce){#device .nd-slides{scroll-behavior:auto}}

/* ---- nowa-learnings ---- */

  /* missions — distinct white band w/ the tab + video panel */
  .missions-band{background-color:var(--surface-warm-parchment)}
  .missions-band .mpanel{--pxbg:var(--surface-warm-parchment)}
  .missions-band .mtab:not(.on){--tab-top:var(--surface-warm-parchment)}

  /* "Explore …" is a text link in the DS link style (coral + underline), set a step up so it reads; #learnings
     outranks Horizon's .nowa-home :is(p) a {color:inherit} reset (README traps) */
  .mpanel .mmore{margin-top:var(--spacing-24)}
  #learnings .mpanel .mission-more{font-family:var(--font-onest);font-weight:800;font-size:var(--text-body);color:var(--color-coral-flame);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:var(--spacing-4);transition:color 150ms var(--ease-out-strong),text-underline-offset 150ms var(--ease-out-strong)}
  #learnings .mpanel .mission-more:hover{color:var(--color-ember-deep);text-underline-offset:var(--spacing-8)}
  #learnings .mpanel .mission-more:focus-visible{outline:2px solid var(--color-coral-flame);outline-offset:5px}
/* ---- tabs ---- */
  .mtabs{display:flex;gap:var(--spacing-8);margin-top:var(--spacing-32);flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:var(--spacing-4)}
  .mtabs::-webkit-scrollbar{display:none}
  .mtabs .mtab{flex:none;white-space:nowrap;scroll-snap-align:start}
  /* phones: the tabs stay on one row and run off the right edge, the child swipes for the rest */
  @media(max-width:600px){.mtabs{margin-inline:calc(var(--spacing-24) * -1);padding-inline:var(--spacing-24);scroll-padding-inline:var(--spacing-24)}}
  .mtab{--side:4px;--tab-top:var(--surface-pure-white);--tab-side:var(--color-cloud-border);font-family:var(--font-onest);font-weight:700;font-size:var(--text-body-sm);padding:11px 20px 15px;border-radius:0;clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px));border:0;background:linear-gradient(var(--tab-top),var(--tab-top)) no-repeat 0 0/100% calc(100% - var(--side)),var(--tab-side);color:var(--color-slate-mid);cursor:pointer;transition:color 150ms ease,transform 70ms steps(2)}
  .mtab:active{--side:2px;transform:translateY(2px)}
  .mtab.on{--side:2px;--tab-top:var(--color-deep-ink);--tab-side:var(--color-ink-charcoal);transform:translateY(2px);color:var(--color-pure-white)}
  /* 2026-10-21: the panel is no longer a card - copy and the voxel stage sit straight on the band */
  .mpanel{margin-top:var(--spacing-32);display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(var(--spacing-32),4vw,var(--spacing-64));align-items:center}
  .mpanel h3{font-size:clamp(var(--text-heading),2.4vw,var(--text-heading-lg));letter-spacing:-.015em;line-height:1.2}
  .mpanel p{margin-top:var(--spacing-16);color:var(--color-slate-mid)}
  .mpanel .mreal{margin-top:var(--spacing-24);font-size:var(--text-body-sm);font-weight:600;color:var(--color-deep-ink);display:flex;align-items:center;gap:var(--spacing-12)}
  .mpanel .mreal .cell{width:10px;height:10px;background:var(--color-coral-flame);flex:none}
  .mpanel .mstat{margin-top:var(--spacing-16);padding:var(--spacing-16) var(--spacing-16);background:var(--surface-pure-white);border-left:3px solid var(--color-coral-flame)}
  .mpanel .mstat .big{display:block;font-family:var(--font-onest);font-weight:900;font-size:clamp(var(--text-heading-sm),2.2vw,var(--text-heading));color:var(--color-coral-flame);letter-spacing:-.02em;line-height:1.05}
  .mpanel .mstat .txt{display:block;margin-top:var(--spacing-8);font-size:var(--text-body-sm);color:var(--color-slate-mid);line-height:1.45}
  .mpanel .mstat .src{display:block;margin-top:var(--spacing-8);font-size:var(--text-caption);color:var(--color-mist-body);font-style:italic}
  .mfade{transition:opacity 250ms var(--ease-out-strong),transform 250ms var(--ease-out-strong)}
  .mfade.out{opacity:0;transform:translateY(8px)}
  .mission-art{position:relative}
  /* desktop: the link sits right under the mission text (the two centred as one block beside the video);
     stacked (tablet / phone): it follows the video, after the child has seen the mission */
  @media(min-width:861px){
    .mpanel{grid-template-rows:1fr auto auto 1fr;row-gap:0}
    .mpanel #mText{grid-column:1;grid-row:2}
    .mpanel .mission-art{grid-column:2;grid-row:1 / -1}
    .mpanel .mmore{grid-column:1;grid-row:3;align-self:start}
  }
  @media(max-width:860px){.mpanel{grid-template-columns:1fr}.mpanel .mmore{margin-top:0}}
  /* voxel stage: the video sits in the screen's cut-out (% of the art), the art on top */
  .ms-stage{position:relative;aspect-ratio:1560/933}
  .ms-stage video{position:absolute;left:18.5%;top:15.1%;width:67.9%;height:67.3%;object-fit:cover;background:var(--color-deep-ink)}
  .ms-stage .ms-frame{position:relative;display:block;width:100%;height:auto;pointer-events:none}

/* ---- nowa-science ---- */

  /* compact advisor chips; full bios collapse into the expander below */
  .adv-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-16);margin-top:var(--spacing-48);padding-right:var(--spacing-12);padding-bottom:var(--spacing-12)}
  @media(max-width:860px){.adv-chips{grid-template-columns:1fr 1fr}}
  .adv-chip{padding:var(--spacing-24) var(--spacing-16) var(--spacing-16);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-4)}
  .adv-chip img{width:64px;height:64px;object-fit:cover;image-rendering:auto;margin-bottom:var(--spacing-8);clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px))}
  .adv-chip .nm{font-family:var(--font-onest);font-weight:800;font-size:var(--text-body);color:var(--color-deep-ink);line-height:1.2}
  .adv-chip .role{font-size:var(--text-caption);font-weight:700;color:var(--color-ember-deep)}
  .adv-chip .ttl{font-size:var(--text-caption);color:var(--color-mist-body)}
  /* ---- faq (reused by the credentials expander below) ---- */
  .faq{background:var(--surface-pure-white);border:1px solid var(--color-chalk-surface)}
  .faq.pxcard{filter:drop-shadow(3px 3px 0 rgba(22,28,36,.12))}
  .dark .faq.pxcard{filter:drop-shadow(3px 3px 0 rgba(0,0,0,.18))}
  .faq.pxcard[open]{--pxbg:var(--color-coral-mist);--pxborder:var(--color-coral-blush);filter:drop-shadow(5px 5px 0 rgba(239,73,61,.32))}
  .reveal-group.in>.faq.pxcard[open],.faq.pxcard[open]{transform:translateY(-3px)}
  .faq.pxcard[open]::after{display:none}
  .faq.pxcard[open]::before{background:linear-gradient(var(--pxbg),var(--pxbg)) 1px 1px/calc(100% - 2px) calc(100% - 2px) no-repeat,var(--pxborder)}
  .faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-16);padding:var(--spacing-16) var(--spacing-24);font-family:var(--font-onest);font-weight:700}
  .faq summary::-webkit-details-marker{display:none}
  .fplus{font-family:var(--font-pixel);font-size:var(--text-heading-sm);color:var(--color-coral-flame);transition:transform 200ms var(--ease-out-strong);flex:none}
  .faq[open] .fplus{transform:rotate(45deg)}
  .faq-a{padding:0 var(--spacing-24) var(--spacing-16)}
  .faq-a p{font-size:var(--text-body-sm);color:var(--color-slate-mid);text-wrap:pretty}

  /* dark-band credentials expander (mirrors .world-faq).

     Fix history (2026-09-05, reported by Huy): first attempt just reordered
     this block to load after the generic .faq.pxcard[open] rule above,
     matching source's single combined style order. That was NOT enough —
     Shopify's Online Store 2.0 CSS bundler concatenates every section's own
     stylesheet block across the WHOLE PAGE in section RENDER order
     (templates/index.json), not per-file source order. nowa-faq.liquid (the
     real FAQ accordion, far below #science on the page) redeclares its own
     copy of the identical .faq.pxcard[open] rule, and that copy always
     compiles AFTER this file's regardless of order within THIS file — so
     the tie-break-by-source-order fix silently didn't work (verified live:
     still wrong after that push). Fixed properly by making .sci-faq's [open]
     rule unambiguously MORE SPECIFIC — #science ID selector (specificity
     tier 1,0,0) beats any pure-class rule outright, independent of section
     render order or which other section's copy of .faq.pxcard[open] loads
     last. Mirrors why .world .world-faq.pxcard[open] (nowa-world.liquid)
     never had this bug: its .world ancestor class already gave it higher
     specificity (0,4,0 vs the generic rule's 0,3,0) than a plain class tie. */
  .sci-faq{--pxbg:var(--color-ink-charcoal);--pxborder:rgba(255,255,255,.08);max-width:var(--page-max-width-content);margin-top:var(--spacing-24)}
  .sci-faq summary{color:var(--color-pure-white)}
  .sci-faq .fplus{color:var(--color-coral-glow)}
  .sci-faq .faq-a p{color:var(--color-chalk-surface);max-width:75ch}
  .sci-faq .faq-a b{color:var(--color-pure-white)}
  #science .sci-faq.pxcard[open]{--pxbg:var(--color-ink-charcoal);--pxborder:var(--color-coral-flame);transform:translateY(-3px)}
  #science .sci-faq.pxcard[open]::before{background:var(--pxborder)}
  #science .sci-faq.pxcard[open]::after{content:"";display:block;position:absolute;inset:0;width:auto;height:auto;z-index:0;background:var(--pxbg);clip-path:polygon(4px 16px,10px 16px,10px 10px,16px 10px,16px 4px,calc(100% - 16px) 4px,calc(100% - 16px) 10px,calc(100% - 10px) 10px,calc(100% - 10px) 16px,calc(100% - 4px) 16px,calc(100% - 4px) calc(100% - 16px),calc(100% - 10px) calc(100% - 16px),calc(100% - 10px) calc(100% - 10px),calc(100% - 16px) calc(100% - 10px),calc(100% - 16px) calc(100% - 4px),16px calc(100% - 4px),16px calc(100% - 10px),10px calc(100% - 10px),10px calc(100% - 16px),4px calc(100% - 16px))}

  /* 2026-10-21 redesign (hero vibe): copy left, a living voxel observatory right; chips; a full-width expander;
     the deep-dive link is the band's secondary action (DS .btn-ghost, light on the night band) */
  #science .sci-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(var(--spacing-32),5vw,var(--spacing-64));align-items:center}
  #science .sci-obs{position:relative;aspect-ratio:4/3;margin-block:calc(-1 * var(--spacing-32))}
  #science .sci-obs video{display:block;width:100%;height:100%;object-fit:cover;
    -webkit-mask-image:radial-gradient(closest-side,#000 82%,transparent);mask-image:radial-gradient(closest-side,#000 82%,transparent)}
  #science .sci-pet{position:absolute;left:var(--px,50%);top:var(--py,70%);height:var(--ph,16%);width:auto;translate:-50% -100%;animation:sci-bob 1.4s steps(1) infinite}
  @keyframes sci-bob{0%{translate:-50% -100%}50%{translate:-50% -103%}}
  #science .sci-faq{max-width:none}
  #science .sci-faq summary{font-size:var(--text-body)}
  #science .sci-more{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--spacing-16);margin-top:var(--spacing-24);color:var(--color-cloud-border);font-size:var(--text-body-sm)}
  /* the deep-dive is a text link in the DS link style; on the night band the accent is coral-glow */
  #science .sci-more .sci-link{font-family:var(--font-onest);font-weight:800;font-size:var(--text-body);color:var(--color-coral-glow);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:var(--spacing-4);transition:color 150ms var(--ease-out-strong),text-underline-offset 150ms var(--ease-out-strong)}
  #science .sci-more .sci-link:hover{color:var(--color-pure-white);text-underline-offset:var(--spacing-8)}
  #science .sci-more .sci-link:focus-visible{outline:2px solid var(--color-coral-glow);outline-offset:5px}
  @media(max-width:860px){#science .sci-top{grid-template-columns:1fr}#science .sci-obs{width:min(100%,480px);margin:var(--spacing-24) auto 0}}
  @media(prefers-reduced-motion:reduce){#science .sci-pet{animation:none}}
  /* the night sky is drawn in code: a pixel crescent moon (14-cell grid, parchment + amber shade) with a stepped
     drift, and DS spark sprites twinkling on the stepped clock */
  #science .sci-sky{position:absolute;inset:0;pointer-events:none}
  #science .sci-moon{position:absolute;left:66%;top:6%;width:13%;height:auto;animation:sci-drift 4s steps(1) infinite}
  #science .sci-moon .b{fill:var(--color-warm-parchment)}
  #science .sci-moon .s{fill:var(--color-pastel-amber)}
  @keyframes sci-drift{0%,100%{translate:0 0}50%{translate:0 -4px}}
  #science .sci-sky i{position:absolute;left:var(--x);top:var(--y);image-rendering:pixelated;background:no-repeat center/100% 100%;opacity:0;animation:sci-tw 2.8s steps(1) infinite var(--d)}
  #science .sci-sky .sp{width:15px;height:15px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJElEQVR4nGNggIL3nrb/YWwmGAMZMMJUCGw7xPDByw5VlqB2AGQECmJSS5OSAAAAAElFTkSuQmCC")}
  #science .sci-sky .gl{width:9px;height:9px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGklEQVR4nGNgYGBg+FFV+B9EgxkggCIAkgAALqwPhfe5js0AAAAASUVORK5CYII=")}
  @keyframes sci-tw{0%{opacity:0}15%{opacity:.6}30%{opacity:1}45%{opacity:.6}60%{opacity:0}}
  @media(prefers-reduced-motion:reduce){#science .sci-moon{animation:none}#science .sci-sky i{animation:none;opacity:.8}}

/* ---- nowa-mechanic ---- */

  /* ---- care loop ---- */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-16);margin-top:var(--spacing-48);counter-reset:step;padding-right:var(--spacing-12);padding-bottom:var(--spacing-12)}
  .step{background:var(--surface-pure-white);border:1px solid var(--color-chalk-surface);border-radius:var(--radius-cards);padding:var(--card-padding);position:relative;transition:transform 350ms var(--ease-out-strong),box-shadow 350ms var(--ease-out-strong)}
  .step .n{font-family:var(--font-pixel);font-size:var(--text-heading);color:var(--color-coral-flame);margin-bottom:var(--spacing-12)}
  .step h3{font-size:var(--text-heading-sm);margin-bottom:var(--spacing-8)}
  .step p{font-size:var(--text-body-sm);color:var(--color-slate-mid)}
  .step::after{content:"";position:absolute;right:10px;top:50%;width:14px;height:14px;transform:translateY(-50%);background:var(--color-coral-glow);clip-path:polygon(0 32%,44% 32%,44% 8%,100% 50%,44% 92%,44% 68%,0 68%);animation:nudge 1.2s steps(2) infinite;z-index:2}
  .step:last-child::after{display:none}
  @keyframes nudge{0%,100%{transform:translateY(-50%)}50%{transform:translateY(-50%) translateX(3px)}}
  @media(max-width:860px){.steps{grid-template-columns:1fr 1fr}.step::after{display:none}}
  @media(max-width:560px){.steps{grid-template-columns:1fr}}
  .step.pxcard{filter:drop-shadow(3px 3px 0 rgba(22,28,36,.12))}
  .dark .step.pxcard{filter:drop-shadow(3px 3px 0 rgba(0,0,0,.18))}
  /* how-it-works system strip — the whole machine before the care loop */
  .sysrow{margin-top:var(--spacing-32)}
  .sysrow .step .n{font-size:var(--text-heading-sm);letter-spacing:.06em}
  .sysrow .step h3{font-size:var(--text-subheading)}
  .sysrow .step p a{color:var(--color-coral-flame);font-weight:700}
  .sysrow .step p a:hover{text-decoration:underline}

  /* ---- the care loop: island hub + four steps on a dotted ring (amber - coral stays for actions) ---- */
  .care-orbit{position:relative;margin-top:var(--spacing-48);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"s1 isl s2" "s4 isl s3";gap:var(--spacing-48) var(--spacing-24);align-items:center}
  .care-orbit .co-steps{display:contents;list-style:none;margin:0;padding:0}
  /* the ring is centred on the island (rows 1-2), not on the whole orbit: the "and around again" row below
     (its line + the row gap = spacing-32 + spacing-48) would otherwise push it down, and its top arc slid under the
     island clip's opaque middle */
  .care-orbit .co-ring{position:absolute;left:14%;top:calc(50% - (var(--spacing-48) + var(--spacing-32)) / 2);width:72%;height:auto;aspect-ratio:1000/560;translate:0 -50%;z-index:0;overflow:visible}
  .care-orbit .co-ring ellipse{fill:none;stroke:var(--color-amber-signal);stroke-width:6;stroke-dasharray:6 12;vector-effect:non-scaling-stroke;animation:co-march 900ms linear infinite}
  .care-orbit .co-runner{image-rendering:pixelated}
  @keyframes co-march{to{stroke-dashoffset:-18}}
  .care-orbit .co-island{grid-area:isl;position:relative;z-index:1;aspect-ratio:1}
  .care-orbit .co-island video{display:block;width:100%;height:100%;object-fit:cover;-webkit-mask-image:radial-gradient(closest-side,#000 84%,transparent);mask-image:radial-gradient(closest-side,#000 84%,transparent)}
  .care-orbit .co-pet{position:absolute;left:var(--px,50%);top:var(--py,52%);height:var(--ph,20%);width:auto;translate:-50% -100%;animation:co-bob 1.1s steps(1) infinite}
  @keyframes co-bob{0%{translate:-50% -100%}50%{translate:-50% -103%}}
  .care-orbit .co-again{grid-column:1 / -1;justify-self:center;margin:var(--spacing-8) 0 0;font-family:var(--font-pixel);font-size:var(--text-body-sm);letter-spacing:.08em;color:var(--color-slate-mid);white-space:nowrap}
  /* the sprout sits where the watering can pours, just in front of Flori (a smooth half-scale of the icon) */
  .care-orbit .co-sprout{position:absolute;left:57.5%;top:58%;width:9.5%;height:auto;translate:-50% -100%;z-index:1}
  .care-orbit .co-again span{display:inline-block;animation:spin 6s linear infinite}
  .care-orbit .co-step{position:relative;z-index:1;display:flex;gap:var(--spacing-16);align-items:flex-start;padding:var(--spacing-24)}
  .care-orbit .co-step.s1{grid-area:s1}.care-orbit .co-step.s2{grid-area:s2}.care-orbit .co-step.s3{grid-area:s3}.care-orbit .co-step.s4{grid-area:s4}
  .care-orbit .co-step .sicon{flex:none;width:auto;height:auto;image-rendering:pixelated}
  /* step 03: Taro's official evolution (baby over grown, in-game avatars) at 1:1 native pixels */
  .care-orbit .co-step .sicon.evo{width:auto;height:auto;image-rendering:pixelated}
  /* every step icon sits in the same 96px column (a real box, so .pxcard>* lifts it above the card fill) and
     the four texts start on one line; card 03's evolution stacks vertically (baby over grown) to fit it */
  .care-orbit .co-step{align-items:center}
  .care-orbit .co-step .sicon-col{flex:0 0 96px;display:flex;justify-content:center}
  .care-orbit .co-step .step-body{flex:1;min-width:0}
  .care-orbit .co-step .n{font-family:var(--font-pixel);font-size:var(--text-body);color:var(--color-ember-deep);margin-bottom:var(--spacing-4);line-height:1}
  .care-orbit .co-step h3{font-size:var(--text-subheading);margin-bottom:var(--spacing-4);line-height:1.2}
  .care-orbit .co-step p{font-size:var(--text-body-sm);color:var(--color-slate-mid);line-height:1.5;margin:0}
  @keyframes spin{to{transform:rotate(360deg)}}
  @media(max-width:860px){
    .care-orbit{grid-template-columns:1fr;grid-template-areas:"isl" "s1" "s2" "s3" "s4" "again";gap:var(--spacing-16)}
    .care-orbit .co-ring{display:none}
    .care-orbit .co-island{width:min(100%,380px);justify-self:center;margin-bottom:var(--spacing-16)}
  }
  /* tablet: the four steps sit two by two under the island instead of one long column */
  @media(min-width:601px) and (max-width:860px){
    .care-orbit{grid-template-columns:1fr 1fr;grid-template-areas:"isl isl" "s1 s2" "s3 s4"}
    .care-orbit .co-step{height:100%}
  }
  @media(prefers-reduced-motion:reduce){.care-orbit .co-ring ellipse,.care-orbit .co-pet,.care-orbit .co-again span{animation:none}.care-orbit .co-runner{display:none}}

  /* marching pixels + care loopback */
  @keyframes march{to{background-position:12px 0}}
  .loopback{display:flex;align-items:center;gap:var(--spacing-16);margin-top:var(--spacing-32)}
  .lb-line{flex:1;height:6px;background:repeating-linear-gradient(90deg,var(--color-coral-flame) 0 6px,transparent 6px 12px);background-size:12px 6px;animation:march 700ms linear infinite}
  .lb-line.r{animation-direction:reverse}
  .lb-txt{font-family:var(--font-pixel);font-size:var(--text-body);color:var(--color-coral-flame);letter-spacing:.08em;white-space:nowrap}

  /* ---- advisor pull-quote ---- */
  .pullq{display:flex;gap:var(--spacing-16);align-items:flex-start;max-width:680px;margin-top:var(--spacing-48);padding:var(--spacing-16) var(--spacing-24);background:var(--surface-pure-white);border:1px solid var(--color-chalk-surface)}
  .pullq img{width:52px;height:52px;border-radius:0;clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px));object-fit:cover;flex:none}
  .pullq .qt{font-family:var(--font-onest);font-weight:700;font-size:var(--text-subheading);line-height:1.45;color:var(--color-deep-ink)}
  .pullq .who{margin-top:var(--spacing-8);font-family:var(--font-onest);font-weight:700;font-size:var(--text-caption);color:var(--color-deep-ink)}
  .pullq.pxcard{filter:drop-shadow(3px 3px 0 rgba(22,28,36,.12))}
  .dark .pullq.pxcard{filter:drop-shadow(3px 3px 0 rgba(0,0,0,.18))}
  /* the learn-through-play study is a highlighted research-finding callout: soft coral-blush
     fill + oversized decorative quote marks, kept lighter than the care-loop ring above it */
  #mechanic .pullq{margin-left:auto;margin-right:auto;align-items:center;gap:var(--spacing-24);max-width:640px;--pxbg:color-mix(in srgb,var(--color-coral-blush) 55%,var(--surface-pure-white))}
  #mechanic .pullq img{width:auto;height:auto;flex:none;clip-path:none;image-rendering:pixelated}
  #mechanic .pullq .qt b{font-weight:800;color:var(--color-deep-ink)}
  #mechanic .pullq .qd{font-family:var(--font-onest);font-weight:900;color:var(--color-coral-glow);font-size:1.7em;line-height:0;vertical-align:-.42em}
  #mechanic .pullq .qd.ql{margin-right:.04em}
  #mechanic .pullq .qd.qr{margin-left:.02em}
  /* the how-it-works loop: the clip's canvas IS the page cream, so it sits on the section with no frame */
  #mechanic .mc-loop{margin:var(--spacing-48) auto 0;max-width:960px}
  #mechanic .mc-loop video{display:block;width:100%;height:auto;aspect-ratio:16/10}
  /* phones: the loop clip runs edge to edge and loses the empty cream above/below its content */
  @media(max-width:600px){
    #mechanic .mc-loop{max-width:none;margin-inline:calc(var(--spacing-24) * -1)}
    #mechanic .mc-loop video{aspect-ratio:2/1;object-fit:cover}
    #mechanic .pullq{flex-direction:column;align-items:center;gap:var(--spacing-16);text-align:center}
    #mechanic .pullq img{width:180px;height:174px}
  }

  /* 2026-10-24: the care loop folds into a FAQ-style toggle; opened it stays white so the island reads */
  #mechanic .co-fold{margin-top:var(--spacing-48);max-width:none;width:100%}
  #mechanic .co-fold .faq-a{padding:0 clamp(var(--spacing-16),3vw,var(--spacing-48)) var(--spacing-32)}
  #mechanic .co-fold>summary{padding-inline:clamp(var(--spacing-16),3vw,var(--spacing-48))}
  #mechanic .co-fold>summary{font-size:var(--text-subheading)}
  #mechanic .co-fold.pxcard[open]{--pxbg:var(--surface-pure-white);--pxborder:var(--color-chalk-surface);transform:none}
  #mechanic .co-fold .co-lead{font-size:var(--text-body);color:var(--color-slate-mid);max-width:54ch;margin:0 0 var(--spacing-24)}
  #mechanic .co-fold .care-orbit{margin-top:0}
  #mechanic .co-fold + .pullq{margin-top:var(--spacing-32)!important}
  /* phones and tablets: the loop animation first, then the four steps (Home only: .shopify-section keeps it off the /for LPs, which reuse this CSS via home-2026.css) */
  @media(max-width:860px){
    .shopify-section #mechanic .wrap{display:flex;flex-direction:column}
    .shopify-section #mechanic .wrap>*{min-width:0}
    .shopify-section #mechanic .mc-loop{order:1;margin-top:var(--spacing-24)}
    .shopify-section #mechanic .sysrow{order:2;margin-top:var(--spacing-24)}
    .shopify-section #mechanic .co-fold,.shopify-section #mechanic .pullq{order:3}
  }
  /* phones and tablets: the mission clip first, then its description */
  @media(max-width:860px){#learnings .mpanel .mission-art{order:-1}}

/* ---- nowa-photos ---- */

  /* lifestyle photo mosaic: alternate family scenes and product details */
/* 2026-10-21: full-bleed voxel + pixel sky world behind the wall (open sky in the middle, islands on the edges,
   hills along the bottom); the top fades in from the page cream so the band starts softly */
.photo-sec{padding:clamp(var(--spacing-48),5vw,var(--spacing-96)) 0 clamp(var(--spacing-96),12vw,calc(var(--spacing-96) * 2));
  background:linear-gradient(var(--surface-warm-parchment),rgb(253 245 221 / 0) 9%) no-repeat,var(--sky) center bottom/cover no-repeat,var(--surface-warm-parchment)}
.photo-mosaic{margin-top:var(--spacing-24);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--spacing-24) var(--spacing-16)}
.lifeshot{margin:0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-12);grid-column:span 6}
.lifeshot:nth-child(1),.lifeshot:nth-child(5){grid-column:span 7}
.lifeshot:nth-child(2),.lifeshot:nth-child(6){grid-column:span 5}
.lifeshot:nth-child(3){grid-column:6/-1;grid-row:2}
.lifeshot:nth-child(4){grid-column:1/6;grid-row:2}
.lifeshot .ph{align-self:stretch;height:clamp(260px,32vw,420px);overflow:hidden;border-radius:var(--radius-cards)}
.lifeshot img{width:100%;height:100%;object-fit:cover;display:block}
.lifeshot--product .ph{background:var(--surface-ghost-white)}
/* captions sit on small cream chips so they read on the sky */
/* captions = DS pixel chips: a stepped (8px notch) cream plate with a hard 2px shadow; the copy stays Noto (DS: Tiny5 never sets captions) */
.lifeshot figcaption{position:relative;isolation:isolate;font-family:var(--font-noto-sans);font-size:var(--text-body-sm);line-height:1.4;color:var(--color-slate-mid);text-align:center;text-wrap:pretty;padding:var(--spacing-4) var(--spacing-12);filter:drop-shadow(2px 2px 0 rgba(22,28,36,.12))}
.lifeshot figcaption::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--surface-warm-parchment);clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px))}
@media(max-width:700px){
 .photo-mosaic{grid-template-columns:minmax(0,1fr);gap:var(--spacing-24)}
 .photo-mosaic .lifeshot{grid-column:1;grid-row:auto}
 .lifeshot .ph{height:auto;aspect-ratio:1/1}
 .lifeshot--product .ph{aspect-ratio:4/3}
}

/* ---- nowa-founder-quote ---- */

  /* founder quote on the sage band (DS sage tokens only): pixel pet + feeling bubble left, the line right */
  .founder-quote{background:var(--surface-sage-calm);padding:clamp(var(--spacing-64),9vw,calc(var(--spacing-96) + var(--spacing-48))) 0}
  .founder-quote .fq-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(var(--spacing-32),5vw,var(--spacing-96));align-items:center}
  .founder-quote .fq-stage{position:relative;width:min(100%,320px);aspect-ratio:1;justify-self:center}
  .founder-quote .fq-pet{position:absolute;left:50%;bottom:8%;width:62%;height:auto;translate:-50% 0;animation:fq-bob .8s steps(1) infinite}
  .founder-quote .fq-shadow{position:absolute;left:50%;bottom:6%;width:36%;height:5%;translate:-50% 0;background:var(--color-sage-tint);border-radius:50%}
  @keyframes fq-bob{0%{translate:-50% 0}50%{translate:-50% -3%}}
  /* the feeling bubble: a stepped white card with a tail, one emote at a time (4 × 1.2 s, stepped) */
  .founder-quote .fq-bubble{position:absolute;right:2%;top:0;width:34%;aspect-ratio:1.15;background:var(--surface-pure-white);
    clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(84% - 8px),calc(100% - 4px) calc(84% - 8px),calc(100% - 4px) calc(84% - 4px),calc(100% - 8px) calc(84% - 4px),calc(100% - 8px) 84%,36% 84%,24% 100%,24% 84%,8px 84%,8px calc(84% - 4px),4px calc(84% - 4px),4px calc(84% - 8px),0 calc(84% - 8px));
    filter:drop-shadow(3px 3px 0 rgb(30 58 44 / .16))}
  .founder-quote .fq-bubble .e{position:absolute;left:50%;top:42%;translate:-50% -50%;image-rendering:pixelated;background:no-repeat center/100% 100%;opacity:0;animation:fq-cyc 4.8s steps(1) infinite}
  .founder-quote .fq-bubble .ht{width:42px;height:36px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAGCAYAAAAPDoR2AAAAO0lEQVR4nGNgYGBgeO9p+x+E0dmMIIbAtkMMH7zsQHwUwAQisEmAJQW3H2bEJgESB+tEV4BVA8whMAAARkgZaIwbpOoAAAAASUVORK5CYII=")}
  .founder-quote .fq-bubble .note{width:40px;height:40px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEFUlEQVR4nO2b30sVQRTHz45DBirkg7egoJvoSz8JE5Je6ikoH0L68eQ/0EMW+BQ9lr0IQuBLjz4ERUiBWBbhQ5hBCt78lT8ozSx/9AuTTLMfzN47t3Gc3Z3de/beXbcPyA57987s95wzs3vnHAEijgEhJbaj7I/utXPvxo3QGCDmQpgXZGMQiDhGWD17v3dY67onD/rhxpWzlpFgBE2krrBPU8vaffYNjJpH0RDcABQCRrxIb1Y2dX4zjwfi+ZbXJCaSRtq0at2nAVn2vJOHxxZ+mcepvu+Z31jKCOOD3Wa75mg8HQUoERCThOuEr1Potml4VhceAZxXH9ZHAgUkmHgevr1DS5bXtTgIxBAui6/atxW6+2dhaOS1fwaIFxF4PP3TbE+9WbG8DkugG8/bQbG8z8S33fuSFYFY4tFehJj3mfhc41Y8mgF46OfS+17Eb5hXYSa+68VQ+k9m/ncplO2pUj7BKISEmx3/ptj2Hw/T7ZnpSfPIY2+55LirfikETJzM6sLEunMz80nRGFDIIXzeqkTmz3eYxzyL7y6Otao/GGuF6msDZlNnYaYQoPC1w1JwhlCMThoSS7Df5j08b/J5+twMkjirXR62uNUf2wuNnckoyGoEJCaWtR6FfnnTC9Svjt+/HYbxwVl0DwfSAJ8vVgLUPQ2cOBUXrt5ZszFCIGLIP4lJtm8gl95nyD+JCVbH1aeKIYwQiDgEIg6BiEMg4hCIOAQiDoGIQ2GDICZpdH8JMv5HAIQEvwonKAQYr0lXnmANvQGsSIyOgB0bwgAxm8wzT8NhQCHgcOFiWr22ogBq67fBuUbVDiOiAWI+V2w5jcnEc+E8rc44WVGANh6FAMOSrrwUxi8oVuVHU8vHNbvDJQQv6aoCI/yVBpBDkKFT+ZFpllaGjS0a9bYw57HEO04BLly38gNLvDg2Nl+FJM0aA6g8L1d9XD5dDA131Y8fWXwyJV2artDKNPwxve4YAfGU9XkIMuEc3hYNgel5p3SbF+ycQFXer2ueM9vc81ysKgJ0xMvJiFwiZ6lIJnNP1/Oq+rygQJzqfcTw9xr2zx7d8pRue7lrM2CGv7wAar0IqRY9HfFeFz+Rlebr0JUqeTlSudv19/k9qIRziNtO/VjwcgnNhng36XGeO2QLM/teYep8T3sHHDpxyXXkid4X78OyWLrBptoDa965gd90YXkN9LQ3pc9v2XlYeb1qPJVw2wjoMuvtAM6fOejZ85kKz1b/1O5Dt8IxFj7RU+L7iTkdymsymnqq1LzBG+JgfCBWdKi7+lqFPb8Jr3UBVnsSVsZQrTda/zYXUwwkGoIhG8PuMWM377zidoNGZ1wCEcdwsrLbeeeX9/3CyMW8C+2L0GKAChyxMJwu8LIzHBbvw38A/gL4EiRsPHQpfQAAAABJRU5ErkJggg==");animation-delay:1.2s}
  .founder-quote .fq-bubble .zz{font-family:var(--font-pixel);font-style:normal;font-size:var(--text-heading-lg);line-height:1;color:var(--color-sage-muted);animation-delay:2.4s}
  .founder-quote .fq-bubble .sp{width:35px;height:35px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJElEQVR4nGNggIL3nrb/YWwmGAMZMMJUCGw7xPDByw5VlqB2AGQECmJSS5OSAAAAAElFTkSuQmCC");animation-delay:3.6s}
  @keyframes fq-cyc{0%{opacity:1}25%,100%{opacity:0}}
  .founder-quote .fq-tw{position:absolute;left:var(--x);top:var(--y);image-rendering:pixelated;background:no-repeat center/100% 100%;opacity:0;animation:fq-tw 2.8s steps(1) infinite var(--d)}
  .founder-quote .fq-tw.sp{width:15px;height:15px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJElEQVR4nGNggIL3nrb/YWwmGAMZMMJUCGw7xPDByw5VlqB2AGQECmJSS5OSAAAAAElFTkSuQmCC")}
  .founder-quote .fq-tw.gl{width:9px;height:9px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGklEQVR4nGNgYGBg+FFV+B9EgxkggCIAkgAALqwPhfe5js0AAAAASUVORK5CYII=")}
  @keyframes fq-tw{0%{opacity:0}15%{opacity:.6}30%{opacity:1}45%{opacity:.6}60%{opacity:0}}
  /* the line: big, sage ink; the key phrase sits on an amber marker band */
  .founder-quote .fq-copy{margin:0}
  .founder-quote-text{position:relative;margin:0;font-family:var(--font-onest);font-weight:800;font-size:clamp(var(--text-heading-lg),3.4vw,var(--text-display-alt));line-height:1.18;letter-spacing:-.015em;color:var(--color-sage-ink);text-wrap:pretty}
  .founder-quote-text em{font-style:normal;background:linear-gradient(transparent 64%,var(--color-amber-signal) 64%,var(--color-amber-signal) 92%,transparent 92%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
  .founder-quote .fq-mark{position:absolute;left:0;top:0;translate:0 -62%;font-family:var(--font-pixel);font-size:var(--text-display);line-height:1;color:var(--color-sage-border)}
  .founder-attribution{margin-top:var(--spacing-32);display:flex;align-items:center;gap:var(--spacing-16)}
  .founder-attribution img{width:64px;height:64px;display:block;object-fit:cover;background:var(--surface-pure-white);clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px));filter:drop-shadow(3px 3px 0 rgb(30 58 44 / .18))}
  .founder-attribution-text{display:flex;flex-direction:column;font-family:var(--font-noto-sans);font-size:var(--text-body-sm);color:var(--color-sage-muted)}
  .founder-attribution-text b{font-family:var(--font-onest);font-weight:800;font-size:var(--text-body);color:var(--color-sage-ink)}
  @media(max-width:860px){.founder-quote .fq-grid{grid-template-columns:1fr;text-align:center}.founder-quote .fq-stage{width:min(70%,240px)}.founder-attribution{justify-content:center}.founder-attribution-text{text-align:left}.founder-quote .fq-mark{position:static;display:block;translate:none;margin-bottom:calc(-1 * var(--spacing-16))}}
  /* stacked: pet and line sit close together (the stage's own empty floor + a big pixel quote mark had opened ~100px between them) */
  @media(max-width:860px){.founder-quote .fq-grid{gap:0}.founder-quote .fq-stage{margin-bottom:calc(var(--spacing-24) * -1)}.founder-quote .fq-mark{font-size:var(--text-heading-xl);margin-bottom:calc(var(--spacing-8) * -1)}}
  @media(prefers-reduced-motion:reduce){.founder-quote .fq-pet,.founder-quote .fq-tw{animation:none}.founder-quote .fq-bubble .e{animation:none}.founder-quote .fq-bubble .ht{opacity:1}}

/* ---- nowa-world ---- */

  /* ---- world (dark, species + egg) ---- */
  .world h2{font-size:clamp(var(--text-heading-lg),3.6vw,var(--text-display-alt));max-width:18ch}
  .world .lead{margin-top:var(--spacing-16)}
  .world-row{display:grid;grid-template-columns:340px 1fr;gap:var(--spacing-32);margin-top:var(--spacing-48);align-items:stretch}
  .egg-card{background:var(--color-ink-charcoal);border-radius:var(--radius-cards-lg);padding:var(--spacing-32);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;border:1px solid rgba(255,255,255,.06);transition:transform 160ms var(--ease-out-strong)}
  .egg-card{--pxbg:var(--color-ink-charcoal);--pxborder:rgba(255,255,255,.06)}
  .egg-card:active{transform:scale(.98)}
  .egg-wrap{width:130px;height:150px;position:relative;display:flex;align-items:center;justify-content:center}
  .egg{width:96px;height:114px;background:var(--color-warm-parchment);border-radius:0;position:relative;display:flex;align-items:center;justify-content:center;transition:transform 200ms var(--ease-out-strong);clip-path:polygon(36px 0,60px 0,60px 8px,72px 8px,72px 16px,80px 16px,80px 24px,88px 24px,88px 40px,96px 40px,96px 80px,88px 80px,88px 96px,80px 96px,80px 106px,64px 106px,64px 114px,32px 114px,32px 106px,16px 106px,16px 96px,8px 96px,8px 80px,0 80px,0 40px,8px 40px,8px 24px,16px 24px,16px 16px,24px 16px,24px 8px,36px 8px)}
  .egg .spot{position:absolute;width:12px;height:12px;background:var(--color-coral-blush)}
  .egg .q{font-family:var(--font-pixel);font-size:34px;color:var(--color-coral-flame)}
  .egg-card.shaking .egg{animation:shake .5s ease-in-out}
  @keyframes shake{0%,100%{transform:rotate(0)}20%{transform:rotate(-7deg)}40%{transform:rotate(6deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(3deg)}}
  .hatch{position:absolute;width:120px;opacity:0;transform:translateY(14px) scale(.92)}
  .egg-card.hatched .egg{opacity:0;transform:scale(.9);transition:opacity 200ms ease,transform 200ms ease}
  .egg-card.hatched .hatch{opacity:1;transform:none;transition:opacity 450ms var(--ease-expo) 120ms,transform 450ms var(--ease-expo) 120ms}
  .egg-card .ehead{font-family:var(--font-onest);font-weight:800;font-size:var(--text-heading-sm);color:var(--color-pure-white);margin-top:var(--spacing-24)}
  .egg-card .esub{font-size:var(--text-body-sm);color:var(--color-cloud-border);margin-top:var(--spacing-8)}
  @media(hover:hover) and (pointer:fine){.egg-card:not(.hatched):hover .egg{animation:eggtease 1s steps(2) infinite}}
  @keyframes eggtease{0%,100%{transform:rotate(0)}50%{transform:rotate(-5deg)}}

  .fun-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-16)}
  .fun{background:var(--color-ink-charcoal);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-cards);padding:var(--card-padding)}
  .fun h3{font-size:var(--text-heading-sm);margin-bottom:var(--spacing-8)}
  .fun p{font-size:var(--text-body-sm);color:var(--color-chalk-surface)}
  .fun.pxcard{--pxbg:var(--color-ink-charcoal);--pxborder:rgba(255,255,255,.06)}
  .fun.pxcard{--pxbg:var(--surface-pure-white);--pxborder:var(--color-chalk-surface)}
  .fun.pxcard::before{background:linear-gradient(var(--pxbg),var(--pxbg)) 3px 3px/calc(100% - 6px) calc(100% - 6px) no-repeat,var(--pxborder)}
  .fun.pxcard h3{color:var(--color-deep-ink)}
  .fun.pxcard p{color:var(--color-slate-mid)}
  .dark .fun.pxcard{filter:drop-shadow(3px 3px 0 rgba(0,0,0,.18))}
  @media(max-width:980px){.world-row{grid-template-columns:1fr}.fun-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:600px){.fun-grid{grid-template-columns:1fr}}

  /* species strip — scrubbed sideways on scroll */
  .species-strip{margin-top:var(--spacing-48);overflow:hidden;padding:var(--spacing-24) 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
  .species-track{display:flex;gap:clamp(var(--spacing-32),4vw,var(--spacing-64));width:max-content;will-change:transform}
  .sp{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-12)}
  .sp img{width:clamp(84px,9vw,128px);height:auto;transition:transform 420ms var(--ease-expo);will-change:transform}
  .sp .spname{font-family:var(--font-pixel);font-size:var(--text-subheading);color:var(--color-warm-parchment);letter-spacing:.06em}
  @media(hover:hover) and (pointer:fine){
    .sp:hover img{transform:translateY(-8px) scale(1.08)}
    .species-track.walk-rev .sp:hover img{transform:scaleX(-1) translateY(-8px) scale(1.08)}
  }
  .species-track.walk-rev .sp img{transform:scaleX(-1)}
  .world .who{margin-top:var(--spacing-24);color:var(--color-cloud-border);font-size:var(--text-body-sm)}

  /* ---- library ---- */
  .libs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-16);margin-top:var(--spacing-48);padding-right:var(--spacing-12);padding-bottom:var(--spacing-12)}
  .lib{background:var(--surface-pure-white);border:1px solid var(--color-chalk-surface);border-radius:var(--radius-cards);padding:var(--card-padding)}
  .lib.pxcard{filter:drop-shadow(3px 3px 0 rgba(22,28,36,.12))}
  .dark .lib.pxcard{filter:drop-shadow(3px 3px 0 rgba(0,0,0,.18))}
  .lib .licon{width:44px;height:44px;border-radius:0;clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px));display:flex;align-items:center;justify-content:center;font-family:var(--font-pixel);font-size:var(--text-heading);margin-bottom:var(--spacing-16)}
  .lib h3{font-size:var(--text-subheading);margin-bottom:var(--spacing-8)}
  .lib p{font-size:var(--text-body-sm);color:var(--color-slate-mid)}
  .lib-note{margin-top:var(--spacing-24);font-size:var(--text-body-sm);color:var(--color-mist-body)}

  /* library players */
  .tracks{margin-top:var(--spacing-16);display:flex;flex-direction:column;gap:var(--spacing-8)}
  .trk{display:flex;align-items:center;gap:var(--spacing-12)}
  .pbtn{width:30px;height:30px;flex:none;background:var(--color-deep-ink);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 0 rgba(22,28,36,.4);transition:background 150ms ease,transform 70ms steps(2),box-shadow 70ms steps(2)}
  .pbtn:active{transform:translateY(3px);box-shadow:0 0 0 rgba(22,28,36,.4)}
  .trk.playing .pbtn{background:var(--color-coral-flame);transform:translateY(3px);box-shadow:0 0 0 rgba(22,28,36,.4)}
  .pb-ico{width:10px;height:12px;background:var(--color-pure-white);clip-path:polygon(0 0,100% 50%,0 100%)}
  .trk.playing .pb-ico{clip-path:none;background:linear-gradient(90deg,var(--color-pure-white) 0 35%,transparent 35% 65%,var(--color-pure-white) 65% 100%)}
  .trk .ttl{font-size:var(--text-body-sm);font-weight:600;color:var(--color-deep-ink);flex:1}
  .trk .dur{font-family:var(--font-pixel);font-size:var(--text-body-sm);color:var(--color-mist-body)}
  .pbar{margin-top:var(--spacing-12);height:6px;background:var(--color-chalk-surface);display:none}
  .lib.active .pbar{display:block}
  .pbar i{display:block;height:100%;width:0;background:var(--color-coral-flame)}

  /* why-it-works: library unlocks live on the dark world band */
  .unlock-head{font-family:var(--font-pixel);font-size:var(--text-subheading);color:var(--color-coral-glow);letter-spacing:.05em;margin-top:var(--spacing-48);margin-bottom:var(--spacing-16);display:flex;align-items:center;gap:var(--spacing-12)}
  .unlock-head .ln{flex:1;height:5px;background:repeating-linear-gradient(90deg,var(--color-coral-glow) 0 6px,transparent 6px 12px);background-size:12px 5px}
  .world .libs .lib{--pxbg:var(--color-ink-charcoal);--pxborder:rgba(255,255,255,.06)}
  .world .libs .lib h3{color:var(--color-pure-white)}
  .world .libs .lib p{color:var(--color-chalk-surface)}
  .world .libs .lib .trk .ttl{color:var(--color-warm-parchment)}

  /* explainer FAQ inside the dark world band */
  .world .world-faq{--pxbg:var(--color-ink-charcoal);--pxborder:rgba(255,255,255,.08);max-width:var(--page-max-width-content);margin-top:var(--spacing-32)}
  .world .world-faq summary{color:var(--color-pure-white)}
  .world .world-faq .fplus{color:var(--color-coral-glow)}
  .world .world-faq .faq-a p{color:var(--color-chalk-surface);text-wrap:pretty}
  .world .world-faq.pxcard[open]{--pxbg:var(--color-ink-charcoal);--pxborder:var(--color-coral-flame);transform:translateY(-3px)}
  .world .world-faq.pxcard[open]::before{background:var(--pxborder)}
  .world .world-faq.pxcard[open]::after{content:"";display:block;position:absolute;inset:0;width:auto;height:auto;z-index:0;background:var(--pxbg);clip-path:polygon(4px 16px,10px 16px,10px 10px,16px 10px,16px 4px,calc(100% - 16px) 4px,calc(100% - 16px) 10px,calc(100% - 10px) 10px,calc(100% - 10px) 16px,calc(100% - 4px) 16px,calc(100% - 4px) calc(100% - 16px),calc(100% - 10px) calc(100% - 16px),calc(100% - 10px) calc(100% - 10px),calc(100% - 16px) calc(100% - 10px),calc(100% - 16px) calc(100% - 4px),16px calc(100% - 4px),16px calc(100% - 10px),10px calc(100% - 10px),10px calc(100% - 16px),4px calc(100% - 16px))}

  /* ---- faq (shared accordion pattern, reused by the world-faq expander) ---- */
  .faq{background:var(--surface-pure-white);border:1px solid var(--color-chalk-surface)}
  .faq.pxcard{filter:drop-shadow(3px 3px 0 rgba(22,28,36,.12))}
  .dark .faq.pxcard{filter:drop-shadow(3px 3px 0 rgba(0,0,0,.18))}
  .faq.pxcard[open]{--pxbg:var(--color-coral-mist);--pxborder:var(--color-coral-blush);filter:drop-shadow(5px 5px 0 rgba(239,73,61,.32))}
  .reveal-group.in>.faq.pxcard[open],.faq.pxcard[open]{transform:translateY(-3px)}
  .faq.pxcard[open]::after{display:none}
  .faq.pxcard[open]::before{background:linear-gradient(var(--pxbg),var(--pxbg)) 1px 1px/calc(100% - 2px) calc(100% - 2px) no-repeat,var(--pxborder)}
  .faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-16);padding:var(--spacing-16) var(--spacing-24);font-family:var(--font-onest);font-weight:700}
  .faq summary::-webkit-details-marker{display:none}
  .fplus{font-family:var(--font-pixel);font-size:var(--text-heading-sm);color:var(--color-coral-flame);transition:transform 200ms var(--ease-out-strong);flex:none}
  .faq[open] .fplus{transform:rotate(45deg)}
  .faq-a{padding:0 var(--spacing-24) var(--spacing-16)}
  .faq-a p{font-size:var(--text-body-sm);color:var(--color-slate-mid);text-wrap:pretty}

  /* pixel plus-sparkles (egg-card confetti spend the same shape) */
  .spark{position:absolute;width:14px;height:14px;background:var(--color-amber-signal);clip-path:polygon(40% 0,60% 0,60% 40%,100% 40%,100% 60%,60% 60%,60% 100%,40% 100%,40% 60%,0 60%,0 40%,40% 40%);animation:twinkle 2.8s ease-in-out infinite}
  .spark.s2{animation-delay:.9s;background:var(--color-coral-glow)}
  .spark.s3{animation-delay:1.7s;width:10px;height:10px}
  @keyframes twinkle{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}

  /* GAME JUICE — confetti + "PET HATCHED!" celebration */
  .conf{position:absolute;left:50%;top:46%;width:9px;height:9px;opacity:0;pointer-events:none}
  .egg-card.hatched .conf{animation:confetti 700ms steps(5) forwards}
  @keyframes confetti{0%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(90deg)}}
  .plusone{position:absolute;left:50%;top:8%;transform:translateX(-50%);font-family:var(--font-pixel);font-size:var(--text-heading-sm);letter-spacing:.06em;color:var(--color-amber-signal);opacity:0;pointer-events:none;white-space:nowrap}
  .egg-card.hatched .plusone{animation:plusone 900ms steps(6) forwards}
  @keyframes plusone{0%{opacity:0;transform:translateX(-50%) translateY(14px)}25%{opacity:1}100%{opacity:0;transform:translateX(-50%) translateY(-26px)}}
  /* 2026-10-20: the egg card is a light card in the dark band, carrying the voxel egg loop (DS tokens) */
  #world .egg-card{background:var(--surface-warm-parchment);--pxbg:var(--surface-warm-parchment);--pxborder:var(--color-cloud-border);padding:var(--spacing-24)}
  #world .egg-wrap{width:min(100%,280px);height:auto;aspect-ratio:1}
  #world .egg{width:100%;height:100%;background:none;clip-path:none}
  #world .egg video{display:block;width:100%;height:100%;object-fit:cover;-webkit-mask-image:radial-gradient(closest-side,#000 80%,transparent);mask-image:radial-gradient(closest-side,#000 80%,transparent)}
  #world .hatch{width:min(70%,190px);height:auto;aspect-ratio:1;object-fit:contain}
  /* hover: no card lift / coral outline here - the egg itself rocks, as if something inside wants out */
  #world .egg-card:hover{transform:none;filter:none;--pxborder:var(--color-cloud-border)}
  #world .egg-card:hover::before{background:linear-gradient(var(--pxbg),var(--pxbg)) 1px 1px/calc(100% - 2px) calc(100% - 2px) no-repeat,var(--pxborder)}
  #world .egg-card:hover::after{display:none}
  @media(hover:hover) and (pointer:fine){#world .egg-card:not(.hatched):not(.shaking):not(.bursting):hover .egg{animation:egg-wobble 1.1s var(--ease-out-strong) infinite;transform-origin:50% 82%}}
  @keyframes egg-wobble{0%,100%{transform:rotate(0)}12%{transform:rotate(-4deg)}26%{transform:rotate(3.5deg)}40%{transform:rotate(-2.5deg)}54%{transform:rotate(1.5deg)}66%{transform:rotate(0)}}
  /* the expander spans the full content row (cards and rewards above), not the narrow text measure */
  #world .world-faq{max-width:none}
  #world .egg-card .ehead{color:var(--color-deep-ink);margin-top:var(--spacing-16)}
  #world .egg-card .esub{color:var(--color-slate-mid);margin-top:var(--spacing-8)}
  /* hatch sequence (2026-10-21): rock → burst (scale-up flash, then gone) → pixel spray → the pet pops in */
  #world .egg-card.bursting .egg{animation:egg-burst 240ms var(--ease-out-strong) forwards}
  @keyframes egg-burst{0%{transform:scale(1);filter:none;opacity:1}45%{transform:scale(1.12);filter:brightness(1.6);opacity:1}100%{transform:scale(1.3);filter:brightness(2.2);opacity:0}}
  #world .egg-bit{position:absolute;left:50%;top:50%;z-index:4;pointer-events:none;translate:-50% -50%;animation:egg-bit 760ms steps(8) forwards}
  @keyframes egg-bit{0%{transform:translate(0,0);opacity:1}70%{opacity:1}100%{transform:translate(var(--dx),var(--dy));opacity:0}}
  #world .egg-card.hatched .hatch{animation:pet-pop 560ms cubic-bezier(.34,1.56,.64,1) both}
  @keyframes pet-pop{0%{opacity:0;transform:translateY(24px) scale(.4)}60%{opacity:1}100%{opacity:1;transform:none}}
  /* reward cards: the type icons are big nowa-graphic-icon objects (1:1 native pixels), not small tinted chips */
  .world .lib .licon-px{display:block;width:auto;height:auto;image-rendering:pixelated;filter:drop-shadow(0 6px 0 rgb(0 0 0 / .25))}
  /* reward card = icon on the left (one 96px column so the three line up), title + line beside it, the sample below */
  .world .libs .lib{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:var(--spacing-16)}
  .world .lib .licon-px{grid-column:1;grid-row:1 / span 2;justify-self:center;align-self:center}
  .world .lib h3{grid-column:2;align-self:end;margin-bottom:var(--spacing-4)}
  .world .lib>p{grid-column:2;align-self:start}
  .world .lib .tracks,.world .lib .pbar{grid-column:1 / -1}
  /* the sample sits under a pixel dotted rule so it reads as its own row */
  .world .lib .tracks{margin-top:var(--spacing-16);padding-top:var(--spacing-16);align-self:end;background:repeating-linear-gradient(90deg,var(--color-mist-body) 0 4px,transparent 4px 8px) top left/100% 2px no-repeat}
  /* tablet: one card per row, the sample moves up beside the text */
  @media(min-width:601px) and (max-width:1100px){
    .libs{grid-template-columns:1fr}
    .world .libs .lib{grid-template-columns:96px minmax(0,1fr) minmax(200px,280px)}
    .world .lib .tracks{grid-column:3;grid-row:1 / span 2;align-self:stretch;justify-content:center;margin-top:0;padding-top:0;padding-left:var(--spacing-24);background:repeating-linear-gradient(180deg,var(--color-mist-body) 0 4px,transparent 4px 8px) top left/2px 100% no-repeat}
  }
  @media(max-width:600px){.libs{grid-template-columns:1fr}}
  /* phones: the pixel label stays on one line (DS: Tiny5 labels are short and unwrapped) */
  @media(max-width:600px){.unlock-head{font-size:var(--text-body-sm);white-space:nowrap;gap:var(--spacing-8)}.unlock-head .ln{min-width:var(--spacing-12)}}
  /* 320px phones: the two 12px dashes pushed the nowrap heading 3px past the screen edge; there they shrink to whatever room is left */
  @media(max-width:360px){.unlock-head .ln{min-width:0}}

/* ---- nowa-midcta ---- */

  /* 2026-10-25 (Amy): the film band carries the founding-price countdown, the top banner run across its top edge */
  .midcta.mc-film .mc-deal{position:absolute;top:0;left:0;right:0;z-index:2}
  .midcta.mc-film:has(.mc-deal){padding-top:calc(clamp(var(--spacing-48),6vw,var(--spacing-96)) + var(--spacing-48))}
  @media(max-width:620px){.midcta.mc-film:has(.mc-deal){padding-top:calc(var(--spacing-48) + var(--spacing-64))}}

  .midcta{background:var(--color-warm-sand);text-align:center;padding:clamp(var(--spacing-48),6vw,var(--spacing-96)) 0 clamp(var(--spacing-32),4vw,var(--spacing-48))}
  .midcta .geyebrow{justify-content:center;color:var(--color-deep-ink)}
  .midcta h3{font-family:var(--font-onest);font-weight:800;font-size:clamp(var(--text-heading),3.2vw,var(--text-heading-xl));color:var(--color-deep-ink);max-width:20ch;margin:var(--spacing-8) auto 0}
  .midcta .mc-fine{font-size:var(--text-body-sm);font-family:var(--font-onest);font-weight:600;color:var(--color-deep-ink);max-width:62ch;margin:var(--spacing-16) auto var(--spacing-24);text-wrap:pretty}
  .mc-fine s{text-decoration-thickness:3px;text-decoration-color:var(--color-coral-flame);color:var(--color-mist-body)}
  .midcta .btn{margin:0 auto}
  .midcta .mc-more{font-size:var(--text-body-sm);color:var(--color-slate-mid);margin-top:var(--spacing-16)}
  .midcta .mc-more a{color:var(--color-coral-flame);font-weight:700}
  /* world band: the unboxing film full-bleed, tall enough to read as footage (40vw ≈ the file's 2.54:1, capped on wide
     screens), the copy centred on it in white; an ink veil (deeper behind the type) on top of the already-flat grade */
  .midcta.mc-film{position:relative;isolation:isolate;overflow:hidden;background:var(--surface-deep-ink);min-height:min(40vw,calc(var(--spacing-96) * 7));display:flex;flex-direction:column;justify-content:center;padding:clamp(var(--spacing-64),8vw,calc(var(--spacing-96) + var(--spacing-32))) 0}
  .midcta.mc-film .mc-bg{position:absolute;inset:0;z-index:-1}
  .midcta.mc-film .mc-bg video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
  .midcta.mc-film .mc-bg .m{display:none}
  .midcta.mc-film .mc-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 46% 58% at 50% 50%,color-mix(in srgb,var(--color-deep-ink) 45%,transparent),transparent 74%),color-mix(in srgb,var(--color-deep-ink) 36%,transparent)}
  /* the dividers either side meet the film, not warm sand: dark → ink above, ink → sage into Safety below
     (sibling-safe inside Shopify's per-section wrappers; !important beats the safety divider's inline vars) */
  .dither.dith-world:has(+ .midcta.mc-film){--dith-light:var(--surface-deep-ink)}
  body:has(.midcta.mc-film) .dither:has(+ #parent-app){--dith-dark:var(--surface-deep-ink) !important;--dith-light:var(--surface-warm-parchment) !important}
  .midcta.mc-film .geyebrow{color:var(--color-chalk-surface)}
  .midcta.mc-film h3{color:var(--color-pure-white)}
  .midcta.mc-film .mc-fine{color:var(--color-chalk-surface)}
  .midcta.mc-film .mc-fine s{color:var(--color-cloud-border)}
  .midcta.mc-film .mc-more{color:var(--color-chalk-surface)}   /* slate-mid is unreadable on the darkened film */
  .midcta.mc-film .mc-more a{color:var(--color-pure-white);text-decoration:underline;text-underline-offset:3px}
  @media(max-width:1023px){.midcta.mc-film{min-height:56vw}}
  @media(max-width:600px){
    .midcta.mc-film{min-height:133vw}
    .midcta.mc-film .mc-bg .d{display:none}
    .midcta.mc-film .mc-bg .m{display:block}
  }
  /* Day-One Bundle band: generous padding so the flat lay shows; the copy on a cream stepped card in the middle */
  .midcta.mc-lay{position:relative;overflow:hidden;padding:clamp(var(--spacing-64),9vw,calc(var(--spacing-96) + var(--spacing-64))) 0}
  .midcta.mc-lay .mc-bg{position:absolute;inset:0;z-index:0}
  .midcta.mc-lay .mc-bg video{display:block;width:100%;height:100%;object-fit:cover}
  .midcta.mc-lay .mc-bg .m{display:none}
  .midcta.mc-lay .wrap{position:relative;z-index:1;max-width:620px;padding:clamp(var(--spacing-24),3vw,var(--spacing-48));background:var(--surface-warm-parchment);
    clip-path:polygon(0 16px,8px 16px,8px 8px,16px 8px,16px 0,calc(100% - 16px) 0,calc(100% - 16px) 8px,calc(100% - 8px) 8px,calc(100% - 8px) 16px,100% 16px,100% calc(100% - 16px),calc(100% - 8px) calc(100% - 16px),calc(100% - 8px) calc(100% - 8px),calc(100% - 16px) calc(100% - 8px),calc(100% - 16px) 100%,16px 100%,16px calc(100% - 8px),8px calc(100% - 8px),8px calc(100% - 16px),0 calc(100% - 16px))}
  @media(min-width:360px){.midcta.mc-lay .btn{white-space:nowrap}}
  @media(max-width:760px){.midcta.mc-lay .wrap{margin-inline:var(--spacing-16)}.midcta.mc-lay .mc-bg video{object-position:20% 50%}}
  /* phones: a 4:3 close-up (device + box, big) as a band above the card; the card overlaps its grass-only bottom edge */
  @media(max-width:600px){
    .midcta.mc-lay{padding:calc(75vw - var(--spacing-64)) 0 var(--spacing-32)}
    .midcta.mc-lay .mc-bg{bottom:auto;height:auto;aspect-ratio:4/3}
    .midcta.mc-lay .mc-bg .d{display:none}
    .midcta.mc-lay .mc-bg .m{display:block;object-position:50% 50%}
    /* the CTA stays on one line: the card gives its side padding back (24 → 16) so the button fits from 360 px up */
    .midcta.mc-lay .wrap{padding-inline:var(--spacing-16)}
  }

/* ---- nowa-parent-app ---- */

  /* THE PARENT APP */
  .parent-app{background:transparent}
  .parent-app h2{color:var(--color-deep-ink)}
  .parent-app .lead{color:var(--color-slate-mid)}
  .papp-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(var(--spacing-32),4vw,var(--spacing-64));margin-top:var(--spacing-48);align-items:start}
  @media(max-width:860px){.papp-grid{grid-template-columns:1fr}}
  .papp-feats{display:grid;gap:var(--spacing-16)}
  .papp-feat{position:relative;background:transparent;border:0;border-radius:0;padding:var(--card-padding);cursor:pointer;--pxbg:var(--surface-pure-white);--pxborder:var(--color-chalk-surface);filter:drop-shadow(3px 3px 0 rgba(22,28,36,.14));transition:filter 110ms var(--ease-out-strong),transform 110ms var(--ease-out-strong)}
  .papp-feat::before{content:"";position:absolute;inset:0;z-index:0;clip-path:polygon(0 12px,6px 12px,6px 6px,12px 6px,12px 0,calc(100% - 12px) 0,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 12px,100% 12px,100% calc(100% - 12px),calc(100% - 6px) calc(100% - 12px),calc(100% - 6px) calc(100% - 6px),calc(100% - 12px) calc(100% - 6px),calc(100% - 12px) 100%,12px 100%,12px calc(100% - 6px),6px calc(100% - 6px),6px calc(100% - 12px),0 calc(100% - 12px));background:linear-gradient(var(--pxbg),var(--pxbg)) 1px 1px/calc(100% - 2px) calc(100% - 2px) no-repeat,var(--pxborder)}
  .papp-feat>*{position:relative;z-index:1}
  .papp-feat h3{color:var(--color-deep-ink);font-size:var(--text-subheading)}
  .papp-feat p{color:var(--color-slate-mid);margin-top:var(--spacing-8);font-size:var(--text-body-sm);line-height:1.5}
  .papp-trust{margin:var(--spacing-4) 0 0;padding-left:var(--spacing-16);border-left:3px solid var(--color-cloud-border);color:var(--color-slate-mid);font-size:var(--text-body-sm);line-height:1.5}
  /* desktop: the feature cards pick the set, and two arrows at the phone's sides (vertically centred, no dots) step
     through its screens; the nav overlays the stage at the phone's width + one arrow and a gap on each side */
  @media(min-width:861px){
    .parent-app .papp-stage{position:relative}
    .parent-app .pf-nav{position:absolute;left:50%;top:50%;translate:-50% -50%;width:calc(min(300px,100vw - 80px) + var(--spacing-24) + (40px + var(--spacing-16)) * 2);justify-content:space-between;pointer-events:none}
    .parent-app .pf-nav .pf-arrow{pointer-events:auto}
    .parent-app .pf-dots{display:none}
  }
  .papp-trust a{color:var(--color-coral-flame);text-decoration:none;white-space:nowrap}
  /* showcase film: full width of the section (lines up with the grid above), 16:9, DS photo radius; the handwritten
     label sits over its top-right corner, its arrow pointing down at the film (same as the LPs' "Nowa in action") */
  #parent-app{--font-hand:'Nanum Pen Script',cursive}
  .papp-film{margin-top:var(--spacing-48)}
  .papp-vs-label{display:flex;justify-content:flex-end;align-items:flex-start;gap:var(--spacing-8);margin:0 0 var(--spacing-8);padding-right:var(--spacing-32)}
  .papp-vs-label span{font-family:var(--font-hand);font-size:var(--text-heading-lg);line-height:1;color:var(--color-coral-flame)}
  .papp-vs-arrow{flex:none;width:var(--spacing-32);height:auto;aspect-ratio:32/38;color:var(--color-coral-flame);margin-top:var(--spacing-8)}
  .papp-show{aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-images);background:var(--color-ink-charcoal)}
  .papp-show video{display:block;width:100%;height:100%;object-fit:cover}
  @media(max-width:860px){.papp-film{margin-top:var(--spacing-32)}.papp-vs-label{padding-right:var(--spacing-16)}}
  .papp-trust a:hover{text-decoration:underline}

  /* ── parent-app showcase carousel ─────────────────────────── */
  .papp-stage{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-16)}
  .pf-phone{position:relative;margin:0 auto;width:max-content;background:linear-gradient(150deg,var(--color-ink-charcoal),var(--color-deep-ink) 62%);border-radius:var(--radius-4xl);padding:var(--spacing-12);
    box-shadow:6px 6px 0 rgba(22,28,36,.12),0 0 0 1px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.06)}
  .pf-btn{position:absolute;width:3px;background:var(--color-deep-ink);border-radius:var(--radius-sm)}
  .pf-btn.r{right:-3px;top:172px;height:80px}
  .pf-btn.u{left:-3px;top:150px;height:48px}
  .pf-btn.d{left:-3px;top:210px;height:48px}
  /* Preserve the complete iPhone screenshot inside the phone frame. */
  .pf-screen{position:relative;width:min(300px,calc(100vw - 80px));aspect-ratio:1170/2532;overflow:hidden;background:var(--surface-warm-parchment);border-radius:calc(var(--radius-4xl) - var(--spacing-12))}
  .pf-track{position:relative;display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;touch-action:pan-y}
  .pf-track::-webkit-scrollbar{display:none}
  .pf-track:active{cursor:grabbing}
  .pf-slide{flex:0 0 100%;min-width:0;height:100%;scroll-snap-align:start;overflow:hidden;position:relative}
  .pf-slide.pf-hide{display:none}
  .pf-slide img,.pf-slide video,.pf-slide iframe{width:100%;height:100%;display:block;background:var(--color-pure-white)}
  .pf-slide img,.pf-slide video{object-fit:contain}
  .pf-slide iframe{border:0}
.pf-arrow:disabled{opacity:.35;cursor:default}
  .pf-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-onest);font-weight:600;font-size:var(--text-caption);color:var(--color-mist-body);letter-spacing:.08em}
  .pf-nav{display:flex;align-items:center;gap:var(--spacing-16)}
  .pf-arrow{width:40px;height:40px;background:var(--color-ink-charcoal);border:2px solid var(--color-slate-mid);color:var(--color-pure-white);cursor:pointer;display:flex;align-items:center;justify-content:center;
    clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px));
    transition:border-color 150ms ease,transform 70ms steps(2)}
  @media(hover:hover) and (pointer:fine){.pf-arrow:hover{border-color:var(--color-coral-glow)}}
  .pf-arrow:active{transform:translateY(2px)}
  .pf-arrow svg{width:18px;height:18px}
  .pf-dots{display:flex;gap:var(--spacing-8);align-items:center}
  .pf-dot{width:9px;height:9px;background:var(--color-slate-mid);border:0;padding:0;cursor:pointer;transition:background 150ms ease,transform 150ms ease}
  .pf-dot.on{background:var(--color-coral-flame);transform:scale(1.25)}
  .papp-feat .papp-go{font-family:var(--font-onest);font-weight:700;font-size:var(--text-body-sm);color:var(--color-coral-flame);opacity:0;display:inline-block;margin-top:var(--spacing-8);transition:opacity 200ms ease}
  @media(hover:hover) and (pointer:fine){
    /* lift the layers, not the box, so the hit area stays put (no hover flicker on the bottom edge) */
    .papp-feat::before,.papp-feat::after,.papp-feat>*{transition:transform 110ms var(--ease-out-strong)}
    .papp-feat:hover::before,.papp-feat:hover::after,.papp-feat:hover>*{transform:translateY(-5px)}
    .papp-feat.on:hover::before,.papp-feat.on:hover::after,.papp-feat.on:hover>*{transform:translateY(-2px)}
    .papp-feat:hover{--pxborder:var(--color-coral-flame);filter:drop-shadow(6px 6px 0 var(--color-coral-blush))}
    .papp-feat:hover::before{background:var(--pxborder)}
    .papp-feat:hover::after{content:"";position:absolute;inset:0;width:auto;height:auto;z-index:0;background:var(--pxbg);clip-path:polygon(4px 16px,10px 16px,10px 10px,16px 10px,16px 4px,calc(100% - 16px) 4px,calc(100% - 16px) 10px,calc(100% - 10px) 10px,calc(100% - 10px) 16px,calc(100% - 4px) 16px,calc(100% - 4px) calc(100% - 16px),calc(100% - 10px) calc(100% - 16px),calc(100% - 10px) calc(100% - 10px),calc(100% - 16px) calc(100% - 10px),calc(100% - 16px) calc(100% - 4px),16px calc(100% - 4px),16px calc(100% - 10px),10px calc(100% - 10px),10px calc(100% - 16px),4px calc(100% - 16px))}}
  /* selected: coral background + lifted, NO coral line (the click "commits") */
  .papp-feat.on{--pxbg:var(--color-coral-mist);--pxborder:var(--color-coral-blush);transform:translateY(-3px);filter:drop-shadow(5px 5px 0 rgba(239,73,61,.32))}
  .papp-feat.on::after{display:none}
  .papp-feat.on::before{background:linear-gradient(var(--pxbg),var(--pxbg)) 1px 1px/calc(100% - 2px) calc(100% - 2px) no-repeat,var(--pxborder)}
  .papp-feat.on .papp-go{opacity:1}
  .papp-feat:focus-visible{outline:2px solid var(--color-coral-glow);outline-offset:3px}
  @media(prefers-reduced-motion:reduce){.pf-track{scroll-behavior:auto}.papp-feat,.pf-arrow,.pf-dot,.papp-go{transition:none}}

/* ---- nowa-safety ---- */

  /* 2026-10-25: the 3D holo canvas is drawn 124% wide on purpose; clip it at the section edge so phones don't get a wider page (the /for LPs measured 438px on a 390px screen) */
  .safety{overflow-x:clip}

  /* 2026-10-24: Home now runs safety straight into reviews (compare + the Day-One band were removed),
     so the next section's divider pairs safety's sage with that section's white */
  .shopify-section:has(#safety) + .shopify-section > .dither:first-child{--dith-dark:var(--color-sage-calm) !important;--dith-light:var(--surface-pure-white) !important}

  /* SAFETY — sage band */
  .safety{background:var(--color-sage-calm);--band-ink:var(--color-sage-ink);--band-note:var(--color-sage-muted);--band-muted:var(--color-sage-muted);--band-accent:var(--color-coral-flame)}
  .safety h2{color:var(--band-ink)}
  .safety .lead{color:var(--band-note)}
  .safety .geyebrow{color:var(--color-sage-muted)}
  .safety-grid{display:grid;grid-template-columns:1fr;gap:clamp(var(--spacing-48),6vw,var(--spacing-96));margin-top:var(--spacing-48)}
  .safe-col h3{font-size:clamp(var(--text-heading),2.4vw,var(--text-heading-lg));color:var(--band-ink,var(--color-pure-white));max-width:20ch}
  .safe-copy>p{margin-top:var(--spacing-16);color:var(--band-note,var(--color-cloud-border));max-width:52ch}
  .safe-list{list-style:none;margin:var(--spacing-16) 0 0;padding:0;display:grid;gap:var(--spacing-12)}
  .safe-list li{position:relative;padding-left:var(--spacing-24);color:var(--band-muted,var(--color-chalk-surface));font-size:var(--text-body-sm);line-height:1.45}
  .safe-list .cell{position:absolute;left:0;top:6px;width:10px;height:10px;background:var(--band-accent,var(--color-coral-glow))}
  .safe-col .talk-demo{margin-top:var(--spacing-24)}

  /* "A day with Nowa" — three storybook chapters with typing missions */
  .day-rhythm.pxcard{position:relative;margin-top:var(--spacing-24);padding:var(--spacing-32) var(--spacing-32) var(--spacing-24);overflow:hidden;filter:drop-shadow(3px 3px 0 rgba(0,0,0,.18));--pxbg:var(--color-ink-charcoal);--pxborder:rgba(255,255,255,.06)}
  .dr-label{font-family:var(--font-onest);font-weight:600;font-size:var(--text-body-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--color-cloud-border)}
  .dr-caption{margin-top:var(--spacing-16);color:var(--color-cloud-border);font-size:var(--text-body-sm)}
  .ch-row{display:flex;align-items:stretch;margin-top:var(--spacing-24)}
  .ch-tile{position:relative;flex:1;min-width:0}
  .ch-scene{position:relative;height:140px;overflow:hidden;clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px))}
  .ch-tile.morning .ch-scene{background:linear-gradient(180deg,var(--color-pastel-amber) 0%,var(--color-pastel-coral) 100%)}
  .ch-tile.afternoon .ch-scene{background:linear-gradient(180deg,var(--color-pastel-sky) 0%,var(--color-pastel-leaf) 100%)}
  .ch-tile.evening .ch-scene{background:linear-gradient(180deg,var(--color-deep-ink) 0%,var(--color-ink-charcoal) 100%)}
  .ch-gap{width:34px;flex:0 0 34px;display:flex;align-items:center;justify-content:center}
  .ch-dots{width:100%;height:2px;background-image:linear-gradient(90deg,rgba(255,255,255,.35) 2px,transparent 2px);background-size:7px 2px}
  .ch-sun{position:absolute;top:12px;left:12px;width:12px;height:12px;background:var(--color-amber-signal);box-shadow:0 -14px 0 -4px var(--color-amber-signal),0 14px 0 -4px var(--color-amber-signal),-14px 0 0 -4px var(--color-amber-signal),14px 0 0 -4px var(--color-amber-signal)}
  .ch-cloud{position:absolute;top:14px;right:12px;width:26px;height:10px;background:var(--color-pure-white);box-shadow:-6px 4px 0 -2px var(--color-pure-white),6px 4px 0 -2px var(--color-pure-white);opacity:.85;animation:chDrift 7s ease-in-out infinite}
  .ch-moon{position:absolute;top:12px;left:12px;width:14px;height:14px;background:var(--color-chalk-surface);box-shadow:inset -5px 2px 0 var(--color-deep-ink)}
  .ch-star{position:absolute;width:2px;height:2px;background:var(--color-chalk-surface);animation:twinkle 3s ease-in-out infinite}
  .ch-pet{position:absolute;bottom:-4px;left:50%;width:58px;height:58px;transform:translateX(-50%);animation:chBob 2.4s ease-in-out infinite}
  .ch-zz{position:absolute;bottom:44px;left:calc(50% + 20px);font-family:var(--font-pixel);font-size:var(--text-body-sm);color:var(--color-chalk-surface);animation:twinkle 2.4s ease-in-out infinite}
  .ch-meta{text-align:center;margin-top:var(--spacing-12)}
  .ch-time{font-family:var(--font-pixel);font-size:var(--text-body-sm);color:var(--color-coral-glow)}
  .ch-part{font-size:var(--text-caption);color:var(--color-cloud-border);opacity:.8;margin-top:var(--spacing-4)}
  @keyframes chDrift{0%,100%{transform:translateX(0)}50%{transform:translateX(-8px)}}
  @keyframes chBob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-6px)}}
  @keyframes twinkle{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}
  /* mission lines type out across the day on a shared 12s cycle, then tick green */
  .ch-missions{position:absolute;left:12px;top:34px;display:flex;flex-direction:column;gap:var(--spacing-8)}
  .day-rhythm .mq{display:flex;align-items:center;gap:var(--spacing-8)}
  .day-rhythm .mq .chk{width:9px;height:9px;flex:0 0 9px;box-shadow:inset 0 0 0 2px rgba(22,28,36,.5)}
  .ch-tile.evening .mq .chk{box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}
  .day-rhythm .mq .txt{font-family:var(--font-pixel);font-size:var(--text-body-sm);letter-spacing:.02em;color:var(--color-deep-ink);white-space:nowrap;overflow:hidden;max-width:0}
  .ch-tile.evening .mq .txt{color:var(--color-sage-tint)}
  .ch-tile.morning .mq:nth-child(1) .txt{animation:chQM1 12s infinite}
  .ch-tile.morning .mq:nth-child(2) .txt{animation:chQM2 12s infinite}
  .ch-tile.afternoon .mq:nth-child(1) .txt{animation:chQA1 12s infinite}
  .ch-tile.afternoon .mq:nth-child(2) .txt{animation:chQA2 12s infinite}
  .ch-tile.evening .mq:nth-child(1) .txt{animation:chQE1 12s infinite}
  .ch-tile.evening .mq:nth-child(2) .txt{animation:chQE2 12s infinite}
  .ch-tile.morning .mq:nth-child(1) .chk{animation:chCM1 12s infinite}
  .ch-tile.morning .mq:nth-child(2) .chk{animation:chCM2 12s infinite}
  .ch-tile.afternoon .mq:nth-child(1) .chk{animation:chCA1 12s infinite}
  .ch-tile.afternoon .mq:nth-child(2) .chk{animation:chCA2 12s infinite}
  .ch-tile.evening .mq:nth-child(1) .chk{animation:chCE1 12s infinite}
  .ch-tile.evening .mq:nth-child(2) .chk{animation:chCE2 12s infinite}
  @keyframes chQM1{0%{max-width:0;opacity:1}3%{max-width:0;animation-timing-function:steps(10,end)}11%,94%{max-width:120px;opacity:1}97%,100%{max-width:120px;opacity:0}}
  @keyframes chQM2{0%{max-width:0;opacity:1}14%{max-width:0;animation-timing-function:steps(10,end)}22%,94%{max-width:120px;opacity:1}97%,100%{max-width:120px;opacity:0}}
  @keyframes chQA1{0%{max-width:0;opacity:1}32%{max-width:0;animation-timing-function:steps(10,end)}40%,94%{max-width:120px;opacity:1}97%,100%{max-width:120px;opacity:0}}
  @keyframes chQA2{0%{max-width:0;opacity:1}43%{max-width:0;animation-timing-function:steps(10,end)}51%,94%{max-width:120px;opacity:1}97%,100%{max-width:120px;opacity:0}}
  @keyframes chQE1{0%{max-width:0;opacity:1}61%{max-width:0;animation-timing-function:steps(10,end)}69%,94%{max-width:120px;opacity:1}97%,100%{max-width:120px;opacity:0}}
  @keyframes chQE2{0%{max-width:0;opacity:1}72%{max-width:0;animation-timing-function:steps(10,end)}80%,94%{max-width:120px;opacity:1}97%,100%{max-width:120px;opacity:0}}
  @keyframes chCM1{0%,11.5%{background:transparent}12%,94%{background:var(--color-leaf-success)}96.5%,100%{background:transparent}}
  @keyframes chCM2{0%,22.5%{background:transparent}23%,94%{background:var(--color-leaf-success)}96.5%,100%{background:transparent}}
  @keyframes chCA1{0%,40.5%{background:transparent}41%,94%{background:var(--color-leaf-success)}96.5%,100%{background:transparent}}
  @keyframes chCA2{0%,51.5%{background:transparent}52%,94%{background:var(--color-leaf-success)}96.5%,100%{background:transparent}}
  @keyframes chCE1{0%,69.5%{background:transparent}70%,94%{background:var(--color-leaf-success)}96.5%,100%{background:transparent}}
  @keyframes chCE2{0%,80.5%{background:transparent}81%,94%{background:var(--color-leaf-success)}96.5%,100%{background:transparent}}
  @media(max-width:640px){
    .ch-row{flex-direction:column}
    .ch-gap{width:auto;height:26px;flex:0 0 26px}
    .ch-dots{width:2px;height:100%;background-image:linear-gradient(180deg,rgba(255,255,255,.35) 2px,transparent 2px);background-size:2px 7px}
  }
  @media(prefers-reduced-motion:reduce){
    .ch-cloud,.ch-star,.ch-pet,.ch-zz,.day-rhythm .mq .txt,.day-rhythm .mq .chk{animation:none}
    .day-rhythm .mq .txt{max-width:none}
    .day-rhythm .mq .chk{background:var(--color-leaf-success)}
  }

  /* ---- talk demo (pet speaks only in sound/motion) ---- */
  .talk-demo{position:relative;border-radius:var(--radius-cards-lg);background:var(--color-ink-charcoal);padding:var(--spacing-40);overflow:hidden}
  .talk-demo.pxcard{--pxbg:var(--color-ink-charcoal);--pxborder:rgba(255,255,255,.06);filter:drop-shadow(3px 3px 0 rgba(22,28,36,.12))}
  .dark .talk-demo.pxcard{filter:drop-shadow(3px 3px 0 rgba(0,0,0,.18))}
  .talk-demo .bubble{font-family:var(--font-pixel);font-size:clamp(var(--text-heading),2.4vw,var(--text-heading-lg));color:var(--color-amber-signal);letter-spacing:.06em}
  .talk-demo .label{margin-top:var(--spacing-16);font-size:var(--text-body-sm);color:var(--color-cloud-border)}
  .talk-demo .pet-row{display:flex;align-items:flex-end;justify-content:space-between;margin-top:var(--spacing-32)}
  .talk-demo img{width:120px}
  .eq{display:flex;gap:5px;align-items:flex-end;height:46px}
  .eq i{width:7px;background:var(--color-coral-glow);animation:eq 1.1s ease-in-out infinite}
  .eq i:nth-child(2){animation-delay:.15s}.eq i:nth-child(3){animation-delay:.3s}.eq i:nth-child(4){animation-delay:.45s}.eq i:nth-child(5){animation-delay:.6s}
  @keyframes eq{0%,100%{height:12px}50%{height:46px}}

  /* ---- "No open internet · COPPA..." trust line (also used on the science section) ---- */
  /* holographic cards (2026-10-21): a 5:4 stage; the 2D face shows first (and stays without WebGL), the WebGL
     card fades in over it. The original markup is kept for screen readers only. */
  .safety .holo{position:relative;aspect-ratio:5/4;margin-top:var(--spacing-24)}
  .safety .holo canvas{position:absolute;display:block}
  .safety .holo .holo-face{inset:7% 6%;width:88%;height:86%;transition:opacity 500ms var(--ease-out-strong);clip-path:polygon(0 16px,8px 16px,8px 8px,16px 8px,16px 0,calc(100% - 16px) 0,calc(100% - 16px) 8px,calc(100% - 8px) 8px,calc(100% - 8px) 16px,100% 16px,100% calc(100% - 16px),calc(100% - 8px) calc(100% - 16px),calc(100% - 8px) calc(100% - 8px),calc(100% - 16px) calc(100% - 8px),calc(100% - 16px) 100%,16px 100%,16px calc(100% - 8px),8px calc(100% - 8px),8px calc(100% - 16px),0 calc(100% - 16px))}
  .safety .holo .holo-gl{inset:-12%;width:124%;height:124%;opacity:0;filter:drop-shadow(0 22px 22px rgb(30 58 44 / .22));transition:opacity 600ms var(--ease-out-strong);touch-action:pan-y}
  .safety .holo.live .holo-gl{opacity:1}
  .safety .holo.live .holo-face{opacity:0}
  .safety .holo-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  /* the two cards sit level: each column is a flex stack and its card drops to the bottom */
  /* one panel per row (2026-10-24): copy | card, then video | copy, inside the content measure (896). Both media are
     the same visible 384 px (5:4) and sit the same --spacing-64 from their copy:
     - the 3D card is drawn inside a stage 1/.873 of its visible width (camera fov 30 at 2.65, GL canvas inset -12 %),
       so the stage is widened and pulled back by its empty margins: -7.27 % sideways, -5.83 % (landscape) / -9.1 %
       (portrait) top and bottom, all % of the media column;
     - the video is a white stepped Notch-12 pxcard frame of exactly that size.
     Phones/tablets portrait (<= 860): copy on top, media under it, left-aligned with the copy. */
  /* the whole band reads as one centred column: the wrap narrows to the content measure (896 + its gutters), so the
     heading, both panels and the alert share one left and one right edge in the middle of the page */
  #safety .wrap{max-width:calc(var(--page-max-width-content) + var(--spacing-24) * 2)}
  .safety .safety-grid{gap:var(--spacing-64)}
  .safety .safe-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,calc(var(--spacing-96) * 4));gap:var(--spacing-64);align-items:center}
  .safety .safe-col.flip{grid-template-columns:minmax(0,calc(var(--spacing-96) * 4)) minmax(0,1fr)}
  .safety .safe-col.flip .safe-media{order:-1}
  /* side by side the copy fills its column (so both media sit exactly --spacing-64 off it); stacked it keeps the 52ch measure */
  @media(min-width:861px){.safety .safe-copy>p,.safety .safe-copy .safe-list{max-width:none}}
  @media(max-width:860px){.safety .safe-copy .safe-list{max-width:60ch}}
  .safety .safe-media{width:100%;max-width:calc(var(--spacing-96) * 4);container-type:inline-size}
  .safety .safe-media .holo{width:calc(100% / .873);margin:-5.83% -7.27%;padding:0}
  /* portrait (stage < 400 px, set by the script): a 4:5 stage + face, the same empty-margin pull-back */
  .safety .holo.portrait{aspect-ratio:4/5}.safety .holo.portrait .holo-face{inset:6% 5%;width:90%;height:88%}
  .safety .safe-media .holo.portrait{margin:-9.1% -7.27%}
  @media(max-width:860px){
    .safety .safety-grid{gap:var(--spacing-48)}
    .safety .safe-col,.safety .safe-col.flip{grid-template-columns:minmax(0,1fr);gap:var(--spacing-32)}
    .safety .safe-col.flip .safe-media{order:0}
  }
  .safety .safe-vid{--pxbg:var(--surface-pure-white);--pxborder:var(--color-sage-border);aspect-ratio:5/4;padding:var(--spacing-12);filter:drop-shadow(var(--px-shadow))}
  .safety .safe-vid video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;background:var(--color-sage-tint);clip-path:polygon(0 12px,6px 12px,6px 6px,12px 6px,12px 0,calc(100% - 12px) 0,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 12px,100% 12px,100% calc(100% - 12px),calc(100% - 6px) calc(100% - 12px),calc(100% - 6px) calc(100% - 6px),calc(100% - 12px) calc(100% - 6px),calc(100% - 12px) 100%,12px 100%,12px calc(100% - 6px),6px calc(100% - 6px),6px calc(100% - 12px),0 calc(100% - 12px))}
  /* the card turns portrait when its stage is < 400 px (column < 349 px, the script); the video frame follows */
  @container (max-width:349px){.safety .safe-vid{aspect-ratio:4/5}}
  @media(hover:hover) and (pointer:fine){.safety .safe-vid.pxcard:hover::before,.safety .safe-vid.pxcard:hover>*{transform:none}}
  /* safety facts: a DS Inline Alert, Warning kind (APP-UI 11.23): Notch-8 pixel frame = ::before in the warning border
     at inset 0 + ::after in the warning surface at inset 1px, both stepped; no shadow, no title, no accent bar; 24 px
     pixel-line glyph + deep-ink message, sized down here to the 18 px glyph + Noto 14 pair. Four facts on one row; phones/tablets: a marquee */
  #safety{--color-warning-surface:#fff8e8;--color-warning-border:#f3dca0}
  /* desktop: the strip spans the section's column and the facts are spread space-evenly, so the space at each end equals
     the space between facts; --sn-pad is that equal space on the phone marquee */
  .safety .safe-note{--sn-pad:var(--spacing-32);position:relative;isolation:isolate;margin-top:var(--spacing-64);padding:var(--spacing-12) 0}
  .safety .safe-note::before,.safety .safe-note::after{content:"";position:absolute;z-index:-1;clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px))}
  .safety .safe-note::before{inset:0;background:var(--color-warning-border)}
  .safety .safe-note::after{inset:1px;background:var(--color-warning-surface)}
  .safety .sn-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:space-evenly;gap:var(--spacing-8) 0}
  .safety .sn-list li{display:inline-flex;align-items:center;gap:var(--spacing-8);font-family:var(--font-noto-sans);font-size:var(--text-body-sm);line-height:var(--leading-body-sm);color:var(--color-deep-ink);white-space:nowrap}
  /* DS icon size 18 (stroke 1.5) beside 14 px text */
  .safety .sn-ic{flex:none;width:18px;height:18px;color:var(--color-deep-ink)}
  .safety .sn-list.dup{display:none}
  @keyframes sn-marq{to{transform:translateX(-50%)}}
  @media(max-width:860px){
    .safety .safe-note{--sn-pad:var(--spacing-24);margin-top:var(--spacing-48);padding-inline:var(--sn-pad)}
    .safety .sn-viewport{overflow:hidden;margin-inline:calc(var(--sn-pad) * -1);-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--sn-pad),#000 calc(100% - var(--sn-pad)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--sn-pad),#000 calc(100% - var(--sn-pad)),transparent)}
    .safety .sn-marq{display:flex;width:max-content;animation:sn-marq 24s linear infinite}
    .safety .sn-list,.safety .sn-list.dup{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:var(--sn-pad);padding-right:var(--sn-pad)}
  }
  @media(max-width:860px) and (prefers-reduced-motion:reduce){
    .safety .sn-marq{animation:none;width:auto}
    .safety .sn-list.dup{display:none}
    .safety .sn-list{flex-wrap:wrap}
    .safety .sn-viewport{margin-inline:0;-webkit-mask-image:none;mask-image:none}
  }

/* ---- nowa-compare ---- */

  /* comparison — a real matrix */
  /* compare sits on the same bright grid-paper band as the missions section */
  .compare-band{background-color:var(--surface-warm-parchment)}
  /* the matrix carries the design-system pixel card: stepped corners + hard offset shadow */
  .compare-band .cmptbl.pxcard{--pxbg:var(--surface-pure-white);max-width:960px;margin:var(--spacing-48) auto 0;padding:clamp(var(--spacing-16),2vw,var(--spacing-32));filter:drop-shadow(3px 3px 0 rgba(22,28,36,.12))}
  .cmptbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cmptbl{margin-top:var(--spacing-48)}
  .cmptbl table{border-collapse:collapse;width:100%;min-width:340px;max-width:920px;margin:0 auto}
  .cmptbl th,.cmptbl td{padding:var(--spacing-12) var(--spacing-4);text-align:center;border-bottom:1px solid var(--color-chalk-surface);font-size:var(--text-caption)}
  .cmptbl tbody th{padding-left:var(--spacing-8)}
  .cmptbl thead th{font-family:var(--font-onest);font-weight:800;color:var(--color-slate-mid);font-size:var(--text-caption)}
  .cmptbl tbody th{text-align:left;font-weight:600;color:var(--color-deep-ink);font-family:var(--font-noto-sans);font-size:var(--text-body-sm)}
  .cmptbl .col-us{background:var(--color-coral-blush)}
  .cmptbl thead .col-us{background:var(--color-coral-flame);color:var(--color-pure-white);font-family:var(--font-pixel);letter-spacing:.06em;font-size:var(--text-body-sm)}
  /* pixel category icons + the Nowa device itself heading its column */
  .cmptbl thead th{vertical-align:bottom}
  .cmptbl .cmp-ic{width:34px;height:34px;object-fit:contain;display:block;margin:0 auto var(--spacing-8)}
  .cmptbl thead th:nth-child(2) .cmp-ic{color:var(--color-tint-coral)}
  .cmptbl thead th:nth-child(3) .cmp-ic{color:var(--color-tint-amber)}
  .cmptbl thead th:nth-child(4) .cmp-ic{color:var(--color-tint-sky)}
  .cmptbl .cmp-ic-dev{width:auto;height:48px;animation:pbob 1.6s steps(2) infinite}
  @keyframes pbob{0%,100%{transform:none}50%{transform:translateY(-6px)}}
  @media(prefers-reduced-motion:reduce){.cmptbl .cmp-ic-dev{animation:none}}
  /* frame the NOWA column in coral so the winner reads at a glance */
  .cmptbl th.col-us,.cmptbl td.col-us{border-left:2px solid var(--color-coral-flame);border-right:2px solid var(--color-coral-flame)}
  .cmptbl thead th.col-us{border-top:2px solid var(--color-coral-flame)}
  .cmptbl tbody tr:last-child td.col-us{border-bottom:2px solid var(--color-coral-flame)}
  .cmptbl .y{color:var(--color-coral-flame);font-weight:900;font-size:var(--text-subheading)}
  .cmptbl .n{color:var(--color-cloud-border);font-size:var(--text-body)}
  .cmptbl .p{color:var(--color-mist-body);font-size:var(--text-subheading)}
  .cmptbl tbody tr:last-child th,.cmptbl tbody tr:last-child td{border-bottom:0}
  /* desktop has the room for comfortable rows + larger marks */
  @media(min-width:861px){
    .cmptbl th,.cmptbl td{padding:var(--spacing-16) var(--spacing-12);font-size:var(--text-body-sm)}
    .cmptbl thead th{font-size:var(--text-body-sm)}
    .cmptbl tbody th{font-size:var(--text-body)}
    .cmptbl thead .col-us{font-size:var(--text-body)}
    .cmptbl .y{font-size:var(--text-heading)}
    .cmptbl .n{font-size:var(--text-heading-sm)}
    .cmptbl .p{font-size:var(--text-heading-sm)}
    .cmptbl .cmp-ic{width:46px;height:46px;margin-bottom:var(--spacing-8)}
    .cmptbl .cmp-ic-pet{width:56px;height:56px}
  }
  /* 2026-10-21: the comparison reads on one centre line - heading and table share it - and each column keeps its DS
     pixel-line icon, with the real device heading Nowa's */
  .compare-band .wrap{text-align:center}
  .compare-band .geyebrow{justify-content:center}
  .compare-band h2{margin-inline:auto}
  .compare-band .cmptbl{text-align:left}
  .cmptbl thead th{height:1px}
  .cmptbl .cmp-ic-dev{height:96px;width:auto}
  @media(max-width:860px){.cmptbl .cmp-ic-dev{height:52px;width:auto}}
  /* phones: all four columns fit - fixed layout, a 34 % label column, compact header icons and marks */
  /* phones: the card widens into the page gutter (12px from the screen edge = its own inner padding) so the four
     product columns get ~55-60px and their one-word heads ("Play kits") hold one line; the row labels take 30% */
  @media(max-width:600px){
    .compare-band .cmptbl.pxcard{padding:var(--spacing-12);margin-inline:calc(-1 * var(--spacing-12))}
    .cmptbl table{table-layout:fixed;min-width:0}
    .cmptbl thead th:first-child,.cmptbl tbody th{width:30%}
    .cmptbl th,.cmptbl td{padding:var(--spacing-12) var(--spacing-4);font-size:var(--text-caption)}
    .cmptbl tbody th{font-size:var(--text-caption);line-height:1.4;padding-left:var(--spacing-8)}
    .cmptbl .cmp-ic{width:24px;height:24px;margin-bottom:var(--spacing-4)}
    .cmptbl .cmp-ic-dev{height:36px;width:auto}
    .cmptbl thead .col-us{font-size:var(--text-caption)}
    .cmptbl .y{font-size:var(--text-body)}.cmptbl .n{font-size:var(--text-body-sm)}.cmptbl .p{font-size:var(--text-body)}
  }
  @media(min-width:360px) and (max-width:600px){.cmptbl thead th{white-space:nowrap}}

/* ---- nowa-reviews ---- */

  /* beta reviews */
  .reviews{background:var(--surface-pure-white)}
  .rev-rows{display:flex;flex-direction:column;gap:var(--spacing-16);margin-top:var(--spacing-48);overflow:hidden}
  .rev-row{overflow:hidden;padding:0 var(--spacing-12) var(--spacing-12) 0}
  .rev-track{display:flex;gap:var(--spacing-16);width:max-content;will-change:transform;padding:var(--spacing-4) 0}
  .revcard{--pxbg:var(--surface-warm-parchment);background:var(--surface-warm-parchment);border:1px solid var(--color-chalk-surface);padding:var(--card-padding);position:relative;width:360px;flex:none;white-space:normal}
  .revcard.pxcard{filter:drop-shadow(3px 3px 0 rgba(22,28,36,.12))}
  .dark .revcard.pxcard{filter:drop-shadow(3px 3px 0 rgba(0,0,0,.18))}
  @media(max-width:600px){.revcard{width:300px}}
  .revcard .mark{font-family:var(--font-pixel);font-size:var(--text-display-alt);line-height:.5;color:var(--color-coral-flame);display:block;margin:var(--spacing-12) 0 var(--spacing-4)}
  .rq{font-family:var(--font-onest);font-weight:600;font-size:var(--text-subheading);line-height:1.45;margin-top:var(--spacing-12)}
  .rwho{margin-top:var(--spacing-16);font-size:var(--text-body-sm);color:var(--color-slate-mid)}
  .beta-chip{font-family:var(--font-pixel);font-size:11px;letter-spacing:.06em;background:var(--color-leaf-success);color:var(--color-deep-ink);padding:2px 7px;margin-left:var(--spacing-8);white-space:nowrap}

/* ---- nowa-preorder ---- */

  .final{overflow:clip}
  .final{position:relative;padding-bottom:calc(clamp(var(--spacing-48),6vw,var(--spacing-96)) + calc(var(--spacing-96) + var(--spacing-48)))}
  .final .pre-ground{position:absolute;left:0;right:0;bottom:0;height:144px;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCAxOCIgd2lkdGg9IjY0IiBoZWlnaHQ9IjE4IiBzaGFwZS1yZW5kZXJpbmc9ImNyaXNwRWRnZXMiPjxyZWN0IHg9IjAiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSIwIiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjAiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMCIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIwIiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjAiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMCIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSIwIiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjAiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMCIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIxIiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMSIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIxIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjEiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMSIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIxIiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjEiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMSIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIxIiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjIiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyIiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMiIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjIiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMiIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIyIiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjIiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMiIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyIiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjMiIHk9IjciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzIiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMyIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjMiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMyIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzIiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjMiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMyIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIzIiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjMiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMyIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI0IiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNCIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI0IiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjQiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNCIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI0IiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNSIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI1IiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjUiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNSIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI1IiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjUiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iNSIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI1IiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjUiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNiIgeT0iNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjYiIHk9IjciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI2IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNiIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjYiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNiIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI2IiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjYiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNiIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI2IiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjYiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNiIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI3IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNyIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjciIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNyIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI3IiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjciIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNyIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI3IiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjciIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNyIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI4IiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjgiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iOCIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI4IiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjgiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iOCIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI4IiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjgiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjkiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iOSIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI5IiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjkiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iOSIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI5IiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjkiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iOSIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIxMCIgeT0iOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjEwIiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTAiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTAiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTAiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTAiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMTAiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMTAiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iMTAiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTAiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTAiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTEiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTEiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTEiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTEiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMTEiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMTEiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTEiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTEiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTIiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSIxMiIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjEyIiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjEyIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjEyIiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjEyIiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjEyIiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjEyIiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjEyIiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjEyIiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjEzIiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTMiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTMiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTMiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTMiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMTMiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMTMiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTMiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTMiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTQiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTQiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTQiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTQiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMTQiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMTQiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTQiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTQiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTUiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTUiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTUiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTUiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMTUiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMTUiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iMTUiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTUiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTUiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMTYiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSIxNiIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjE2IiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjE2IiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjE2IiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjE2IiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjE2IiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjE2IiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjE2IiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjE2IiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjE3IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMTciIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIxNyIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIxNyIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIxNyIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIxNyIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIxNyIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIxNyIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIxNyIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIxNyIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIxOCIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIxOCIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIxOCIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIxOCIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIxOCIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIxOCIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIxOCIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIxOCIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIxOSIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjE5IiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjE5IiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjE5IiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjE5IiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjE5IiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjE5IiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjE5IiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjE5IiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjIwIiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjIwIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjIwIiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjIwIiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjIwIiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjIwIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjIwIiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjIwIiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjIwIiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjIxIiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjEiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyMSIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyMSIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyMSIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyMSIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIyMSIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIyMSIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyMSIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyMSIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyMiIgeT0iOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjIyIiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjIiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjIiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjIiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjIiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMjIiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMjIiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMjIiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMjIiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMjMiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjMiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjMiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjMiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMjMiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMjMiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMjMiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMjMiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMjQiIHk9IjYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSIyNCIgeT0iNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjI0IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iMjQiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSIyNCIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyNCIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyNCIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyNCIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIyNCIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIyNCIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyNCIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyNCIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyNSIgeT0iOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjI1IiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjUiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjUiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjUiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjUiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMjUiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMjUiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iMjUiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMjUiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMjUiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMjYiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjYiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjYiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjYiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMjYiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMjYiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMjYiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMjYiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMjciIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyNyIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyNyIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyNyIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyNyIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIyNyIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIyNyIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyNyIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyNyIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyOCIgeT0iNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjI4IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iMjgiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSIyOCIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyOCIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyOCIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyOCIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIyOCIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIyOCIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyOCIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyOCIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyOSIgeT0iNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjI5IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMjkiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyOSIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyOSIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyOSIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIyOSIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIyOSIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIyOSIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyOSIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIyOSIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIzMCIgeT0iOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjMwIiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzAiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzAiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzAiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzAiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMzAiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMzAiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iMzAiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzAiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzAiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzEiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzEiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzEiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzEiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMzEiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMzEiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzEiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzEiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzIiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSIzMiIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjMyIiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjMyIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjMyIiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjMyIiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjMyIiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjMyIiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjMyIiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjMyIiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjMzIiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzMiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzMyIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzMyIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzMyIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzMyIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIzMyIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIzMyIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIzMyIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIzMyIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIzNCIgeT0iOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjM0IiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzQiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzQiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzQiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzQiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMzQiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMzQiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzQiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzQiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzUiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzUiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzUiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzUiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMzUiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMzUiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iMzUiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzUiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzUiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzYiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSIzNiIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzNiIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzNiIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzNiIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIzNiIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIzNiIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIzNiIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIzNiIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIzNyIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzNyIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzNyIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzNyIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIzNyIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIzNyIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIzNyIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIzNyIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIzOCIgeT0iOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjM4IiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzgiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzgiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzgiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzgiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMzgiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iMzgiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzgiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzgiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iMzkiIHk9IjYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzOSIgeT0iNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjM5IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iMzkiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzOSIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzOSIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzOSIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSIzOSIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIzOSIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSIzOSIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIzOSIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIzOSIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI0MCIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjQwIiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQwIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQwIiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQwIiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjQwIiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjQwIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjQwIiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQwIiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQwIiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQxIiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNDEiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNDEiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNDEiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNDEiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNDEiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNDEiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNDEiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNDEiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNDIiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI0MiIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQyIiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQyIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQyIiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQyIiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjQyIiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjQyIiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQyIiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQyIiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQzIiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNDMiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNDMiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNDMiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNDMiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNDMiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNDMiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNDMiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNDMiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNDQiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSI0NCIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjQ0IiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ0IiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ0IiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ0IiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjQ0IiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjQ0IiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQ0IiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQ0IiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQ1IiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ1IiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ1IiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ1IiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjQ1IiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjQ1IiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjQ1IiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQ1IiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQ1IiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQ2IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNDYiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI0NiIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI0NiIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI0NiIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI0NiIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI0NiIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI0NiIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI0NiIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI0NiIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI0NyIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ3IiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ3IiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ3IiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ3IiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjQ3IiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjQ3IiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQ3IiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQ3IiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQ4IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iNDgiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSI0OCIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI0OCIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI0OCIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI0OCIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI0OCIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI0OCIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI0OCIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI0OCIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI0OSIgeT0iNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ5IiB5PSI3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNDkiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI0OSIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ5IiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ5IiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ5IiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjQ5IiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjQ5IiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjQ5IiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQ5IiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjQ5IiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjUwIiB5PSI3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTAiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI1MCIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjUwIiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjUwIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjUwIiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjUwIiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjUwIiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjUwIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjUwIiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjUwIiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjUwIiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjUxIiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTEiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTEiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTEiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTEiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNTEiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNTEiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNTEiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNTEiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNTIiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTIiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTIiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTIiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNTIiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNTIiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNTIiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNTIiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNTMiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI1MyIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjUzIiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjUzIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjUzIiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjUzIiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjUzIiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjUzIiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjUzIiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjUzIiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjU0IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTQiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI1NCIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI1NCIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI1NCIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI1NCIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI1NCIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI1NCIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI1NCIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI1NCIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI1NSIgeT0iNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjU1IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTUiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI1NSIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI1NSIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI1NSIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI1NSIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI1NSIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI1NSIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSI1NSIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI1NSIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI1NSIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI1NiIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjU2IiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjU2IiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjU2IiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjU2IiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjU2IiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjU2IiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjU2IiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjU2IiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjU3IiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTciIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTciIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTciIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTciIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNTciIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNTciIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNTciIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNTciIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNTgiIHk9IjEwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTgiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTgiIHk9IjEyIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNTgiIHk9IjEzIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNTgiIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjYzlkZWMzIi8+PHJlY3QgeD0iNTgiIHk9IjE1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNTgiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNTgiIHk9IjE3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmRmNWRkIi8+PHJlY3QgeD0iNTkiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI1OSIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjU5IiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjU5IiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjU5IiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjU5IiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjU5IiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjU5IiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjU5IiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjU5IiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjYwIiB5PSI3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iNjAiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSI2MCIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjYwIiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjYwIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjYwIiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjYwIiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjYwIiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjYwIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjYwIiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjYwIiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjYwIiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjYxIiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjYxIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjYxIiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzlmZDRhMyIvPjxyZWN0IHg9IjYxIiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjYxIiB5PSIxNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2M5ZGVjMyIvPjxyZWN0IHg9IjYxIiB5PSIxNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjYxIiB5PSIxNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjYxIiB5PSIxNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZkZjVkZCIvPjxyZWN0IHg9IjYyIiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjOWZkNGEzIi8+PHJlY3QgeD0iNjIiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI2MiIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI2MiIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI2MiIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI2MiIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI2MiIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI2MiIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI2MiIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI2MiIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI2MyIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI2MyIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI2MyIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM5ZmQ0YTMiLz48cmVjdCB4PSI2MyIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI2MyIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNjOWRlYzMiLz48cmVjdCB4PSI2MyIgeT0iMTUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI2MyIgeT0iMTYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSI2MyIgeT0iMTciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZGY1ZGQiLz48cmVjdCB4PSIzIiB5PSI3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iMyIgeT0iOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjMiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmZjMTA3Ii8+PHJlY3QgeD0iMiIgeT0iNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZmYzEwNyIvPjxyZWN0IHg9IjQiIHk9IjYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZmMxMDciLz48cmVjdCB4PSIzIiB5PSI3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmZjMTA3Ii8+PHJlY3QgeD0iMyIgeT0iNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZmZmZmZiIvPjxyZWN0IHg9IjE1IiB5PSI3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iMTUiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSIxNSIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjE1IiB5PSI1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZjBjZDgzIi8+PHJlY3QgeD0iMTQiIHk9IjYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmMGNkODMiLz48cmVjdCB4PSIxNiIgeT0iNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2YwY2Q4MyIvPjxyZWN0IHg9IjE1IiB5PSI3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZjBjZDgzIi8+PHJlY3QgeD0iMTUiIHk9IjYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZmMxMDciLz48cmVjdCB4PSIyNiIgeT0iNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjI2IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iMjYiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSIyNiIgeT0iNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2YwY2Q4MyIvPjxyZWN0IHg9IjI1IiB5PSI2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZjBjZDgzIi8+PHJlY3QgeD0iMjciIHk9IjYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmMGNkODMiLz48cmVjdCB4PSIyNiIgeT0iNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2YwY2Q4MyIvPjxyZWN0IHg9IjI2IiB5PSI2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmZjMTA3Ii8+PHJlY3QgeD0iMzkiIHk9IjciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSIzOSIgeT0iOCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjM5IiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iMzkiIHk9IjUiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmMGNkODMiLz48cmVjdCB4PSIzOCIgeT0iNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2YwY2Q4MyIvPjxyZWN0IHg9IjQwIiB5PSI2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZjBjZDgzIi8+PHJlY3QgeD0iMzkiIHk9IjciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmMGNkODMiLz48cmVjdCB4PSIzOSIgeT0iNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZmYzEwNyIvPjxyZWN0IHg9IjUwIiB5PSI3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iNTAiIHk9IjgiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSI1MCIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjUwIiB5PSI1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmZmZmZmIi8+PHJlY3QgeD0iNDkiIHk9IjYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZmZmZmYiLz48cmVjdCB4PSI1MSIgeT0iNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZmZmZmZiIvPjxyZWN0IHg9IjUwIiB5PSI3IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmZmZmZmIi8+PHJlY3QgeD0iNTAiIHk9IjYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZmMxMDciLz48cmVjdCB4PSI2MCIgeT0iNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iIzU0ZDYyYyIvPjxyZWN0IHg9IjYwIiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjNTRkNjJjIi8+PHJlY3QgeD0iNjAiIHk9IjkiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiM1NGQ2MmMiLz48cmVjdCB4PSI2MCIgeT0iNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZmYzEwNyIvPjxyZWN0IHg9IjU5IiB5PSI2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmZjMTA3Ii8+PHJlY3QgeD0iNjEiIHk9IjYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmZmMxMDciLz48cmVjdCB4PSI2MCIgeT0iNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iI2ZmYzEwNyIvPjxyZWN0IHg9IjYwIiB5PSI2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZmZmZmZmIi8+PHJlY3QgeD0iMzEiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZThkY2MwIi8+PHJlY3QgeD0iMTAiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZThkY2MwIi8+PHJlY3QgeD0iMzgiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZThkY2MwIi8+PHJlY3QgeD0iNjMiIHk9IjE2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjZThkY2MwIi8+PC9zdmc+") repeat-x left bottom/512px 144px;image-rendering:pixelated}

  #preorder{--band:var(--color-warm-sand);--band-ink:var(--color-deep-ink);--band-muted:var(--color-slate-mid);--band-accent:var(--color-coral-flame);--band-note:var(--color-mist-body)}
  #preorder .geyebrow{color:var(--color-deep-ink)}

  .offer-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(var(--spacing-32),5vw,var(--spacing-64));text-align:left}
  .offer-media{position:sticky;top:92px}
  .bundle-photo{padding:var(--spacing-16);--pxbg:var(--surface-pure-white);--pxborder:var(--color-deep-ink);transform:rotate(-1.2deg);position:relative}
  .bundle-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;image-rendering:auto}
  .bundle-stamp{position:absolute;left:-6px;top:-14px;z-index:2;font-family:var(--font-pixel);font-size:var(--text-body);letter-spacing:.06em;color:var(--color-deep-ink);background:var(--color-amber-signal);border:2px solid var(--color-deep-ink);padding:var(--spacing-4) var(--spacing-12);transform:rotate(-2.6deg)}
  .bundle-caption{margin:var(--spacing-24) 0 0;text-align:center;font-family:var(--font-onest);font-weight:700;font-size:var(--text-body-sm);color:var(--color-slate-mid)}

  .offer-copy{min-width:0}
  #preorder .offer-title{font-family:var(--font-onest);font-weight:900;font-size:clamp(var(--text-heading-lg),3.8vw,var(--text-display-alt));letter-spacing:-.025em;line-height:1.04;margin:0 0 var(--spacing-16);max-width:none;color:var(--color-deep-ink)}
  .offer-price{font-family:var(--font-onest);font-weight:900;font-size:clamp(var(--text-display-alt),7vw,var(--text-display));line-height:1;letter-spacing:-.045em;color:var(--color-coral-flame);margin:0}
  #preorder .offer-copy .retail{margin:var(--spacing-12) 0 0;font-size:var(--text-body-sm);line-height:1.55;color:var(--color-slate-mid)}
  #preorder .offer-copy .save-badge{display:flex;width:max-content;align-items:center;font-family:var(--font-onest);font-weight:800;font-size:var(--text-caption);letter-spacing:.02em;background:var(--color-amber-signal);color:var(--color-deep-ink);padding:var(--spacing-4) var(--spacing-12);margin:var(--spacing-16) 0 0}

  #preorder .offer-copy .bundle-list{list-style:none;margin:var(--spacing-32) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-12)}
  .bundle-list li{position:relative;padding-left:var(--spacing-32);font-size:var(--text-body-sm);line-height:1.5;color:var(--color-deep-ink)}
  .bundle-list li::before{content:"";position:absolute;left:0;top:4px;width:14px;height:14px;background:var(--color-coral-flame);clip-path:polygon(14% 46%,0 60%,40% 100%,100% 22%,86% 8%,40% 72%)}

  #preorder .offer-copy .subscription{margin:var(--spacing-32) 0 0;font-size:var(--text-body-sm);line-height:1.75;color:var(--color-slate-mid);max-width:52ch}
  .subscription strong{color:var(--color-deep-ink);font-weight:700}

  #preorder .offer-copy .offer-action-stack{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-24);margin-top:var(--spacing-32)}
  #preorder .offer-action-stack .offer-cta{display:flex;width:max-content;margin:0}
  #preorder .offer-action-stack .offer-fine{max-width:52ch;margin:0;font-size:var(--text-body-sm);font-family:var(--font-onest);font-weight:600;color:var(--color-deep-ink);text-wrap:pretty;text-align:left;line-height:1.75}
  .offer-links{display:flex;flex-wrap:wrap;gap:var(--spacing-12) var(--spacing-24);margin:0;font-family:var(--font-onest);font-weight:700;font-size:var(--text-caption)}
  .offer-links a{color:var(--color-slate-mid);text-decoration:underline;text-underline-offset:var(--spacing-4)}
  .offer-links a:hover{color:var(--color-coral-flame)}

  @media(max-width:900px){
    .offer-grid{grid-template-columns:1fr}
    .offer-media{position:static}
    .bundle-photo{max-width:440px;margin:0 auto}
  }

  @media(max-width:560px){
    #preorder .offer-action-stack .offer-cta{width:100%;justify-content:center}
  }
  @media(max-width:600px){.final{padding-bottom:calc(var(--spacing-48) + var(--spacing-96))}.final .pre-ground{height:96px;background-size:341px 96px}}

/* ---- nowa-faq ---- */

  /* faq */
  .faqs{max-width:var(--page-max-width-content);margin-top:var(--spacing-48);display:flex;flex-direction:column;gap:var(--spacing-12)}
  /* Give the container room so the pxcard right+bottom shadow isn't clipped */
  .faqs{padding-right:var(--spacing-12);padding-bottom:var(--spacing-12)}
  .faq{background:var(--surface-pure-white);border:1px solid var(--color-chalk-surface)}
  .faq.pxcard{filter:drop-shadow(3px 3px 0 rgba(22,28,36,.12))}
  .dark .faq.pxcard{filter:drop-shadow(3px 3px 0 rgba(0,0,0,.18))}
  /* opened: coral background + lifted, NO coral line (the click "commits") */
  .faq.pxcard[open]{--pxbg:var(--color-coral-mist);--pxborder:var(--color-coral-blush);filter:drop-shadow(5px 5px 0 rgba(239,73,61,.32))}
  .reveal-group.in>.faq.pxcard[open],.faq.pxcard[open]{transform:translateY(-3px)}
  .faq.pxcard[open]::after{display:none}
  .faq.pxcard[open]::before{background:linear-gradient(var(--pxbg),var(--pxbg)) 1px 1px/calc(100% - 2px) calc(100% - 2px) no-repeat,var(--pxborder)}
  .faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-16);padding:var(--spacing-16) var(--spacing-24);font-family:var(--font-onest);font-weight:700}
  .faq summary::-webkit-details-marker{display:none}
  .fplus{font-family:var(--font-pixel);font-size:var(--text-heading-sm);color:var(--color-coral-flame);transition:transform 200ms var(--ease-out-strong);flex:none}
  .faq[open] .fplus{transform:rotate(45deg)}
  .faq-a{padding:0 var(--spacing-24) var(--spacing-16)}
  .faq-a p{font-size:var(--text-body-sm);color:var(--color-slate-mid);text-wrap:pretty}
  /* two columns on desktop: the questions left, the reading nook right (sticky); DS token spacing */
  /* one centred column: header and the list share the page's centre line; answers stay left-aligned */
  /* the closing scene follows right on: keep the gap to it short */
  #faq.faqsec{padding-bottom:var(--spacing-24)}
  .faqsec .wrap{text-align:center}
  .faqsec .geyebrow{justify-content:center}
  .faqsec h2{margin-inline:auto}
  .faqsec .faqs{margin-inline:auto;text-align:left}

/* ---- nowa-closing-cta ---- */

  /* ---- closing CTA: DS LP regime (token spacing, fluid type on the ladder); the reading-nook loop sits above the last call
     to the tower (x 28–72% of the frame) and reuses the hero's pet coordinates, which are % of that frame ---- */
  #closing-cta{text-align:center;padding:var(--spacing-16) 0 clamp(var(--spacing-48),6vw,var(--spacing-96));background:var(--surface-warm-parchment)}
  /* the reading-nook loop (voxel, cream plate) with Taro in the armchair: the day winds down, the last call */
  #closing-cta .cc-scene{position:relative;width:min(100%,380px);aspect-ratio:3/4;margin:0 auto var(--spacing-24);
    -webkit-mask-image:radial-gradient(closest-side,#000 80%,transparent);mask-image:radial-gradient(closest-side,#000 80%,transparent)}
  #closing-cta .cc-plate{display:block;width:100%;height:100%;object-fit:cover}
  #closing-cta .cc-pet{position:absolute;left:51%;top:55%;height:21%;width:auto;translate:-50% -100%;animation:cc-bob 1.2s steps(1) infinite}
  @keyframes cc-bob{0%{translate:-50% -100%}50%{translate:-50% -103%}}
  #closing-cta h3{font-family:var(--font-onest);font-weight:800;font-size:clamp(var(--text-heading),2.8vw,var(--text-heading-xl));max-width:22ch;margin:0 auto var(--spacing-24);text-wrap:balance}
  #closing-cta .cc-fine{margin-top:var(--spacing-16);font-size:var(--text-body-sm);color:var(--color-slate-mid)}
  @media(prefers-reduced-motion:reduce){#closing-cta .cc-pet{animation:none}}
  /* ONE rhythm on every page that ends FAQ -> nook (home, short, pre-order, the /for LPs and their version-b): the loop is
     empty cream over the top 26.25% and the bottom 18.4% of its 3:4 frame (= .35 and .245 of the frame's width), so the
     frame is pulled into the gaps to put the DRAWING --spacing-64 under the FAQ's last line and whatever follows it
     (heading, button) --spacing-24 under the drawing. Both section paddings at that seam are therefore zero. */
  #faq.faqsec{padding-bottom:0;position:relative;z-index:2}   /* the pulled-up frame's empty cream top slides UNDER the FAQ */
  #closing-cta{padding-top:0}
  #closing-cta .cc-scene{margin:calc(var(--spacing-64) - min(100%, 380px) * .35) auto calc(var(--spacing-24) - min(100%, 380px) * .245)}
  #closing-cta .cc-scene ~ *{position:relative;z-index:1}

/* ---- nowa-footer ---- */

  .nowa-footer{position:relative;background:var(--surface-deep-ink);color:var(--color-chalk-surface);font-family:var(--font-noto-sans);padding:var(--spacing-64) 0 var(--spacing-32);overflow-x:clip;overflow-y:visible}
  .nowa-footer *{box-sizing:border-box}
  .nowa-footer .nf-wrap{max-width:var(--page-max-width);margin:0 auto;padding:0 var(--spacing-24)}

  /* --- top row: link clusters + subscribe --- */
  .nowa-footer .nf-top{display:flex;flex-wrap:wrap;gap:var(--spacing-48);justify-content:space-between;padding-bottom:var(--spacing-48)}
  /* reset in case a host page styles the bare <nav> element (sticky header, blur, bg) */
  .nowa-footer .nf-links{display:flex;flex-wrap:wrap;gap:var(--spacing-48);position:static;top:auto;z-index:auto;background:none;backdrop-filter:none;border:0;box-shadow:none;padding:0;margin:0}
  .nowa-footer .nf-col{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-12);min-width:140px}
  .nowa-footer .nf-label{font-family:var(--font-onest);font-size:var(--text-caption);font-weight:var(--font-weight-bold);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:var(--spacing-4)}
  .nowa-footer .nf-col a{color:var(--color-chalk-surface);font-size:var(--text-body-sm);line-height:1.4;text-decoration:none;transition:color var(--duration-fast) var(--ease-out-strong)}
  .nowa-footer .nf-social a{display:inline-flex;align-items:center;gap:var(--spacing-8)}
  .nowa-footer .nf-social svg{width:16px;height:16px;flex:none}

  /* --- subscribe card (white pixel card on ink) --- */
  .nowa-footer .nf-sub{flex:1 1 400px;max-width:560px;align-self:flex-start;background:var(--color-pure-white);color:var(--color-deep-ink);padding:var(--spacing-24);clip-path:polygon(0 12px,12px 12px,12px 0,calc(100% - 12px) 0,calc(100% - 12px) 12px,100% 12px,100% calc(100% - 12px),calc(100% - 12px) calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,12px calc(100% - 12px),0 calc(100% - 12px));filter:drop-shadow(4px 4px 0 rgba(0,0,0,.28))}
  .nowa-footer .nf-sub h3{font-family:var(--font-onest);font-weight:var(--font-weight-bold);font-size:var(--text-heading-sm);line-height:1.2;letter-spacing:-.01em;margin:0 0 var(--spacing-8)}
  .nowa-footer .nf-sub p{font-size:var(--text-body-sm);color:var(--color-slate-mid);line-height:1.45;margin:0 0 var(--spacing-16)}
  .nowa-footer .nf-form{display:flex;gap:var(--spacing-8)}
  .nowa-footer .nf-form[hidden]{display:none}
  .nowa-footer .nf-form input[type=email]{flex:1;min-width:0;font:inherit;font-size:var(--text-body-sm);padding:var(--spacing-12) var(--spacing-12);border:2px solid var(--color-cloud-border);border-radius:var(--radius-inputs);background:var(--color-ghost-white);color:var(--color-deep-ink)}
  .nowa-footer .nf-form input[type=email]::placeholder{color:var(--color-mist-body)}
  .nowa-footer .nf-form input[type=email]:focus-visible{outline:2px solid var(--color-coral-flame);outline-offset:1px;border-color:var(--color-coral-flame)}
  /* coral action — the site's extruded pixel button (matches .btn) */
  .nowa-footer .nf-btn{--side:5px;--top:var(--color-coral-flame);--face:var(--color-ember-deep);flex:none;display:inline-flex;align-items:center;gap:var(--spacing-8);font-family:var(--font-onest);font-weight:var(--font-weight-bold);font-size:var(--text-body-sm);color:var(--color-pure-white);background:linear-gradient(var(--top),var(--top)) no-repeat 0 0/100% calc(100% - var(--side)),var(--face);padding:var(--spacing-12) var(--spacing-16) var(--spacing-16);border:0;border-radius:0;cursor:pointer;clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px));transition:transform 70ms steps(2)}
  .nowa-footer .nf-btn:active{--side:2px;transform:translateY(3px)}
  .nowa-footer .nf-btn[disabled]{cursor:not-allowed;opacity:.7}
  .nowa-footer .nf-btn[disabled]:active{--side:5px;transform:none}
  .nowa-footer .nf-btn-spin{display:none;width:13px;height:13px;flex:none;border:2px solid rgba(255,255,255,.4);border-top-color:var(--color-pure-white);border-radius:50%}
  .nowa-footer .nf-btn[data-loading] .nf-btn-arr{display:none}
  .nowa-footer .nf-btn[data-loading] .nf-btn-spin{display:inline-block;animation:nf-spin 800ms steps(8) infinite}
  @keyframes nf-spin{to{transform:rotate(360deg)}}
  .nowa-footer .nf-msg{display:flex;align-items:center;gap:var(--spacing-8);margin:var(--spacing-12) 0 0;font-size:var(--text-body-sm);font-weight:var(--font-weight-semibold);color:var(--color-deep-ink)}
  .nowa-footer .nf-msg[hidden]{display:none}
  .nowa-footer .nf-msg-ic{width:8px;height:8px;flex:none;background:var(--color-leaf-success)}
  .nowa-footer .nf-msg[data-nf-error] .nf-msg-ic{background:var(--color-amber-signal)}

  /* --- mark: the wordmark pixel field (full bleed) + legal --- */
  .nowa-footer .nf-mark{position:relative;border-top:1px solid rgba(255,255,255,.08);padding-top:var(--spacing-32)}
  .nowa-footer .nf-field{position:relative;margin-inline:calc(50% - 50vw);height:clamp(180px,26vw,400px)}
  .nowa-footer .nf-field canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 600ms var(--ease-out-strong)}
  .nowa-footer .nf-field.live canvas{opacity:1}
  .nowa-footer .nf-word-img{position:absolute;left:50%;top:50%;translate:-50% -50%;width:min(88vw,1200px);height:auto;user-select:none;transition:opacity 400ms var(--ease-out-strong)}
  .nowa-footer .nf-field.live .nf-word-img{opacity:0}
  .nowa-footer .nf-legal-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-16);margin-top:var(--spacing-24)}
  .nowa-footer .nf-legal-row .nf-legal{margin-top:0}
  .nowa-footer .nf-totop-row{position:relative;height:0}
  .nowa-footer .nf-totop{position:absolute;right:var(--spacing-24);top:calc(-1 * var(--spacing-64) - 24px);z-index:2;flex:none;display:grid;place-items:center;width:48px;height:48px;border:0;cursor:pointer;color:var(--color-warm-parchment);background:var(--color-ink-charcoal);
    clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px));
    transition:transform 150ms var(--ease-out-strong),color 150ms var(--ease-out-strong),background-color 150ms var(--ease-out-strong)}
  .nowa-footer .nf-totop:hover{transform:translateY(-3px);color:var(--color-deep-ink);background:var(--color-amber-signal)}
  .nowa-footer .nf-totop:focus-visible{outline:2px solid var(--color-amber-signal);outline-offset:3px}
  .nowa-footer .nf-legal{margin-top:var(--spacing-24);font-size:var(--text-caption);color:rgba(255,255,255,.6)}
  .nowa-footer .nf-legal a{color:inherit;text-decoration:underline;text-underline-offset:var(--spacing-4)}
  .nowa-footer .nf-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

  /* hover only on fine pointers (touch taps shouldn't stick hover) */
  @media (hover:hover) and (pointer:fine){
    .nowa-footer .nf-col a:hover,.nowa-footer .nf-legal a:hover{color:var(--color-coral-glow)}
    /* off-index counter for the .nf-legal mailto link (this footer renders theme-wide, so
       it isn't always inside body.nowa-home): Horizon's paragraph-link hover trap and its
       :is()-max-arg specificity are documented at assets/nowa-base.css:84-135 — this
       mirrors that same :is(arm1,arm2) shape, prefixed with .nowa-footer instead of
       .nowa-home, to win at (0,4,2) > Horizon's (0,3,2) order-independently. text-decoration
       is untouched on purpose: .nf-legal a is underlined at rest (text-decoration:underline
       above) and never changes on hover in source — only the color does, same as the
       .nf-legal a:hover rule right above; text-decoration-color:currentcolor just pins the
       underline to keep following that color, matching what the shorthand already implies. */
    .nowa-footer :is(p:not(.h1,.h2,.h3,.h4,.h5,.h6), .rte :is(p,ul,ol,table):not(.h1,.h2,.h3,.h4,.h5,.h6)) a:where(:not(.button,.button-secondary)):hover{color:var(--color-coral-glow);text-decoration-color:currentcolor}
  }
  @media (max-width:640px){
    .nowa-footer .nf-sub{max-width:none}
  }
  /* mobile + tablet: the card takes the DS two-step notch-12 (a single 12px step reads as an offset box at this
     size) and the form stacks - email field on its own row, the button full width under it */
  @media (max-width:1024px){
    .nowa-footer .nf-sub{clip-path:polygon(0 12px,6px 12px,6px 6px,12px 6px,12px 0,calc(100% - 12px) 0,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 12px,100% 12px,100% calc(100% - 12px),calc(100% - 6px) calc(100% - 12px),calc(100% - 6px) calc(100% - 6px),calc(100% - 12px) calc(100% - 6px),calc(100% - 12px) 100%,12px 100%,12px calc(100% - 6px),6px calc(100% - 6px),6px calc(100% - 12px),0 calc(100% - 12px))}
    .nowa-footer .nf-form{flex-direction:column;align-items:stretch;gap:var(--spacing-12)}
    .nowa-footer .nf-btn{justify-content:center}
  }
  @media (prefers-reduced-motion:reduce){
    .nowa-footer .nf-btn,.nowa-footer .nf-col a,.nowa-footer .nf-legal a{transition:none}
    .nowa-footer .nf-btn-spin{animation:none}
  }

  /* =====================================================================
     NOWA — EXIT-INTENT POPUP  ·  site-wide, lives in this one section
     ---------------------------------------------------------------------
     A calm re-frame, not a "WAIT! don't go!" overlay: it validates the
     hesitation and offers ongoing value (newsletter + expert parenting
     reads). Same visual language as the footer subscribe card. Behaviour,
     triggers and dedupe live in this section's javascript block.
     ===================================================================== */
  .nowa-exit{position:fixed;inset:0;z-index:var(--z-modal,95);display:flex;align-items:center;justify-content:center;padding:var(--spacing-24);font-family:var(--font-noto-sans);opacity:0;visibility:hidden;transition:opacity var(--duration-base) var(--ease-out-strong),visibility 0s linear var(--duration-base)}
  .nowa-exit[hidden]{display:none}
  .nowa-exit *{box-sizing:border-box}
  .nowa-exit.is-open{opacity:1;visibility:visible;transition:opacity var(--duration-base) var(--ease-out-strong)}
  .nowa-exit__scrim{position:absolute;inset:0;background:rgba(22,28,36,.62)}

  /* the card — white stepped-corner pixel surface + hard offset shadow */
  .nowa-exit__card{position:relative;width:100%;max-width:440px;background:var(--color-pure-white);color:var(--color-deep-ink);
    padding:var(--spacing-24);
    clip-path:polygon(0 12px,12px 12px,12px 0,calc(100% - 12px) 0,calc(100% - 12px) 12px,100% 12px,100% calc(100% - 12px),calc(100% - 12px) calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,12px calc(100% - 12px),0 calc(100% - 12px));
    filter:drop-shadow(6px 6px 0 rgba(0,0,0,.32));
    transform:translateY(16px);transition:transform var(--duration-base) var(--ease-expo)}
  .nowa-exit.is-open .nowa-exit__card{transform:translateY(0)}

  .nowa-exit__close{position:absolute;top:8px;right:8px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;color:var(--color-slate-mid);font-family:var(--font-onest);font-size:var(--text-heading);line-height:1;border-radius:var(--radius-inputs);transition:color var(--duration-fast) var(--ease-out-strong)}
  .nowa-exit__eyebrow{font-family:var(--font-onest);font-size:var(--text-caption);font-weight:var(--font-weight-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-coral-flame);margin:0 0 var(--spacing-8)}
  .nowa-exit__title{font-family:var(--font-onest);font-weight:var(--font-weight-bold);font-size:var(--text-heading-sm);line-height:1.18;letter-spacing:-.01em;margin:0 0 var(--spacing-8)}
  .nowa-exit__body{font-size:var(--text-body-sm);color:var(--color-slate-mid);line-height:1.5;margin:0 0 var(--spacing-16)}
  .nowa-exit .nf-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .nowa-exit__form{display:flex;flex-wrap:wrap;gap:var(--spacing-8)}
  .nowa-exit__form[hidden]{display:none}
  .nowa-exit__form input[type=email]{flex:1 1 200px;min-width:0;font:inherit;font-size:var(--text-body-sm);padding:var(--spacing-12) var(--spacing-12);border:2px solid var(--color-cloud-border);border-radius:var(--radius-inputs);background:var(--color-ghost-white);color:var(--color-deep-ink)}
  .nowa-exit__form input[type=email]::placeholder{color:var(--color-mist-body)}
  .nowa-exit__form input[type=email]:focus-visible{outline:2px solid var(--color-coral-flame);outline-offset:1px;border-color:var(--color-coral-flame)}
  /* coral action — same extruded pixel button as the footer .nf-btn */
  .nowa-exit__btn{--side:5px;--top:var(--color-coral-flame);--face:var(--color-ember-deep);flex:none;display:inline-flex;align-items:center;gap:var(--spacing-8);font-family:var(--font-onest);font-weight:var(--font-weight-bold);font-size:var(--text-body-sm);color:var(--color-pure-white);background:linear-gradient(var(--top),var(--top)) no-repeat 0 0/100% calc(100% - var(--side)),var(--face);padding:var(--spacing-12) var(--spacing-16) var(--spacing-16);border:0;border-radius:0;cursor:pointer;clip-path:polygon(0 8px,4px 8px,4px 4px,8px 4px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px));transition:transform 70ms steps(2)}
  .nowa-exit__btn:active{--side:2px;transform:translateY(3px)}
  .nowa-exit__btn[disabled]{cursor:not-allowed;opacity:.7}
  .nowa-exit__btn[disabled]:active{--side:5px;transform:none}
  .nowa-exit__btn-spin{display:none;width:13px;height:13px;flex:none;border:2px solid rgba(255,255,255,.4);border-top-color:var(--color-pure-white);border-radius:50%}
  .nowa-exit__btn[data-loading] .nowa-exit__btn-arr{display:none}
  .nowa-exit__btn[data-loading] .nowa-exit__btn-spin{display:inline-block;animation:nf-spin 800ms steps(8) infinite}
  .nowa-exit__fine{font-size:var(--text-caption);color:var(--color-mist-body);line-height:1.4;margin:var(--spacing-12) 0 0}
  .nowa-exit__msg{display:none;align-items:center;gap:var(--spacing-8);margin:0;font-size:var(--text-body-sm);font-weight:var(--font-weight-semibold);color:var(--color-deep-ink)}
  .nowa-exit__msg.is-shown{display:flex}
  .nowa-exit__msg-ic{width:8px;height:8px;flex:none;background:var(--color-leaf-success)}
  .nowa-exit__msg[data-exit-error] .nowa-exit__msg-ic{background:var(--color-amber-signal)}

  @media (hover:hover) and (pointer:fine){
    .nowa-exit__close:hover{color:var(--color-coral-flame)}
  }
  /* mobile: still centered (clears the bottom-left cookie button + sticky CTA),
     just wider with a scroll guard for short screens */
  @media (max-width:560px){
    .nowa-exit{padding:var(--spacing-16)}
    .nowa-exit__card{max-width:none;max-height:calc(100vh - (2 * var(--spacing-16)));overflow-y:auto}
  }
  @media (prefers-reduced-motion:reduce){
    .nowa-exit,.nowa-exit__card{transition:opacity var(--duration-base) linear}
    .nowa-exit__card{transform:none!important}
    .nowa-exit__btn,.nowa-exit__close,.nowa-exit__later{transition:none}
    .nowa-exit__btn[data-loading] .nowa-exit__btn-spin{animation:none}
  }
