
  :root {
    --ink: #15131B; --navy: #1E1B26; --navy2: #201D29; --ivory: #F4F1EA; --paper: #F4F1EA; --mist: #B5B0C2; --lav: #B7AEDA; --lav2: #8E83C0; --violet: #6B4FD0;
    --rule: rgba(244,241,234,.13); --nk-bird: var(--lav);
    --serif: "Bodoni Moda", "Noto Sans Devanagari", "Noto Sans Gujarati", Georgia, serif;
    --sans: "Instrument Sans", "Noto Sans Devanagari", "Noto Sans Gujarati", system-ui, sans-serif;
    --gutter: clamp(18px, 4vw, 64px);
    --lw: min(86vw, 1180px);
    --mk-glass: rgba(244,241,234,.62); --mk-sheet: radial-gradient(130% 80% at 85% 0%, #E4DDF5, #F4F1EA 62%); --mk-fg: #15131B; --mk-muted: #5E5868; --mk-line: rgba(21,19,27,.14);
    --mk-accent: #15131B; --mk-accent-ink: #F4F1EA; --mk-font: var(--sans); --mk-link-font: 500 38px/1.05 var(--serif);
  }
  * { box-sizing: border-box; }
  html { background: var(--ink); }
  body { margin: 0; background: var(--ink); color: var(--ivory); font: 400 17px/1.6 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
  a { color: inherit; }
  img, video, canvas { display: block; }
  :focus-visible { outline: 2px solid var(--lav); outline-offset: 4px; border-radius: 4px; }
  em { font-style: italic; }
  .lavtext { color: var(--lav); }

  .nav { position: fixed; top: 0; left: 0; right: 0; z-index: 60; display: flex; align-items: center; gap: 28px; padding: 18px var(--gutter); color: var(--ink); --nk-bird: var(--violet); transition: transform .6s cubic-bezier(.2,.8,.2,1); }
  .nav.away { transform: translateY(-140%); }
  .nav.pill { top: 16px; left: 50%; right: auto; gap: 22px; padding: 8px 8px 8px 20px; border-radius: 999px; transform: translate(-50%, -140%); background: rgba(244,241,234,.72); backdrop-filter: blur(16px) saturate(1.4); -webkit-backdrop-filter: blur(16px) saturate(1.4); border: 1px solid rgba(255,255,255,.6); box-shadow: 0 20px 44px -24px rgba(21,19,27,.45), inset 0 1px 0 rgba(255,255,255,.7); }
  .nav.pill.show { transform: translate(-50%, 0); }
  .nav.pill .logo svg { height: 22px; }
  .nav.pill .links { margin-left: 0; gap: 20px; }
  .nav.pill .btn { height: 40px; padding: 0 18px; }
  .logo svg { height: 28px; width: auto; display: block; color: var(--ink); }
  .links { display: flex; gap: 26px; list-style: none; padding: 0; margin: 0 0 0 auto; }
  .links a { white-space: nowrap; text-decoration: none; font-size: 14.5px; color: #4A4556; transition: color .2s; }
  .links a:hover { color: var(--ink); }
  .lang { font: 500 13px var(--sans); color: var(--ink); background: transparent; border: 1px solid rgba(21,19,27,.18); border-radius: 999px; padding: 8px 12px; }
  .lang option { color: var(--navy); }
  .btn { display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 0 26px; border-radius: 999px; font: 600 15px/1 var(--sans); text-decoration: none; white-space: nowrap; transition: transform .35s cubic-bezier(.2,.8,.2,1), background .25s, color .25s, box-shadow .35s; }
  .btn:hover { transform: translateY(-2px); }
  .btn svg { width: 18px; height: 18px; }
  .btn-ivory { background: var(--ivory); color: var(--navy); box-shadow: 0 10px 30px -14px rgba(0,0,0,.6); }
  .btn-ivory:hover { background: #fff; }
  .btn-line { border: 1px solid rgba(244,241,234,.35); color: var(--ivory); background: rgba(244,241,234,.06); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
  .btn-line:hover { border-color: var(--lav); color: var(--lav); }
  .nav .btn { height: 42px; padding: 0 20px; font-size: 14px; background: var(--ink); color: var(--paper); }
  .nav .btn:hover { background: #2B2735; }
  .ctas { display: flex; flex-wrap: wrap; gap: 12px; }

  section.block { padding: clamp(100px, 15vh, 170px) var(--gutter); position: relative; overflow-x: clip; }
  .sec-h { font: 500 clamp(44px, 6vw, 104px)/0.98 var(--serif); letter-spacing: -0.02em; margin: 0 0 24px; max-width: 16ch; }
  .sec-h em { font-weight: 400; }
  .sec-p { color: var(--mist); max-width: 56ch; margin: 0 0 56px; font-size: 18px; }

  /* ── hero: the full logo is the window; the towers turn inside it, then you fall through the l ── */
  .hero { height: 380vh; position: relative; }
  .stage { position: sticky; top: 0; height: 100svh; overflow: hidden; background: #000; }
  .stage canvas, .stage .hvid { position: absolute; inset: 0; width: 100%; height: 100%; }
  .stage .hvid { object-fit: cover; }
  .glow { position: absolute; inset: -20%; background: radial-gradient(40% 35% at 50% 52%, rgba(115,69,218,.32), transparent 70%), radial-gradient(30% 30% at 70% 40%, rgba(183,174,218,.16), transparent 70%); pointer-events: none; mix-blend-mode: screen; }
  .zoomer { position: absolute; inset: 0; will-change: transform; transform-origin: calc(50% - 0.0538 * var(--lw)) calc(50% + 0.00662 * var(--lw)); }
  .smoke { z-index: 1; }
  .lmask { display: none; position: absolute; inset: 0; background: var(--paper);
    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjExNDAgMjU0MCAxMjY1IDMzNSIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJOaW1ibGVraW5kIj48ZyBjbGFzcz0ibmstbGV0dGVycyIgZmlsbD0iIzAwMCI+PHBhdGggZD0iTTExNzQuNiwyNzAwLjFDMTE2OS4xLDI3MDIuOCwxMTYxLDI3MDYuMywxMTU2LjYsMjcwNy44TDExNDguNiwyNzEwLjRMMTE1Mi43LDI3MTAuOUMxMTU3LjcsMjcxMS41LDExNjEuMSwyNzEzLjcsMTE2My4xLDI3MTcuOEMxMTY0LjUsMjcyMC42LDExNjQuNiwyNzIzLjYsMTE2NC44LDI3NTkuOEMxMTY1LjEsMjgwMiwxMTY1LDI4MDMuNCwxMTYwLjksMjgwOEMxMTU3LjgsMjgxMS42LDExNTYuMSwyODEyLjUsMTE1MC42LDI4MTMuN0MxMTQ2LjksMjgxNC41LDExNTAuNiwyODE0LjcsMTE3NS40LDI4MTQuN0MxMjAwLjIsMjgxNC43LDEyMDMuOSwyODE0LjUsMTIwMC4xLDI4MTMuN0MxMTk1LDI4MTIuNiwxMTkwLjcsMjgwOS43LDExODguMywyODA1LjhDMTE4NS4zLDI4MDAuOCwxMTg0LjksMjc5NS4zLDExODUuMiwyNzYwLjhMMTE4NS40LDI3MjhMMTE4Ny42LDI3MjMuNUMxMTk4LjIsMjcwMiwxMjI4LjgsMjY5Ny45LDEyMzguNCwyNzE2LjdDMTI0Mi43LDI3MjUuMiwxMjQyLjgsMjcyNi4zLDEyNDMuMywyNzYzLjJMMTI0My44LDI3OTcuNkwxMjQ2LjUsMjgwMi42QzEyNTQuNCwyODE3LjEsMTI3Mi45LDI4MjEuNywxMjgzLjQsMjgxMS43QzEyODUuMiwyODEwLDEyODYuNiwyODA4LjIsMTI4Ni42LDI4MDcuNkMxMjg2LjYsMjgwNy4xLDEyODUuMiwyODA4LjEsMTI4My40LDI4MDkuOUMxMjc3LjQsMjgxNi4xLDEyNjkuNywyODE1LDEyNjUuNiwyODA3LjNDMTI2My44LDI4MDQuMSwxMjYzLjgsMjgwMy4xLDEyNjMuMywyNzY2LjRDMTI2Mi44LDI3MjUsMTI2Mi41LDI3MjIuMSwxMjU3LjcsMjcxMy4yQzEyNTQuNSwyNzA3LjIsMTI1MC40LDI3MDMuNCwxMjQzLjUsMjcwMC4xQzEyMzYsMjY5Ni42LDEyMjQsMjY5Ni41LDEyMTQuMiwyNjk5LjlDMTIwNS44LDI3MDIuOCwxMTk2LjcsMjcwOC4zLDExOTAuNiwyNzE0LjFDMTE4Ny45LDI3MTYuNywxMTg1LjYsMjcxOC44LDExODUuNSwyNzE4LjhDMTE4NS40LDI3MTguOCwxMTg1LjIsMjcxMy41LDExODUuMSwyNzA3QzExODUsMjcwMC42LDExODQuOSwyNjk1LjIsMTE4NC44LDI2OTUuMkMxMTg0LjcsMjY5NS4xLDExODAuMSwyNjk3LjMsMTE3NC42LDI3MDAuMVoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0xMzEwLjYsMjY5OS43QzEzMDQuNywyNzAyLjcsMTI5Ni45LDI3MDYuMSwxMjkzLjQsMjcwNy4zQzEyODUuOSwyNzA5LjgsMTI4NC40LDI3MTAuOCwxMjg4LjIsMjcxMC44QzEyOTMuMywyNzEwLjgsMTI5Ny43LDI3MTMuNSwxMjk5LjYsMjcxNy44QzEzMDEuNCwyNzIxLjUsMTMwMS40LDI3MjIuMywxMzAxLjYsMjc2MC4zQzEzMDEuOSwyODAzLjksMTMwMS44LDI4MDUuNCwxMjk2LjYsMjgwOS45QzEyOTMuOSwyODEyLjMsMTI4OS41LDI4MTQsMTI4NiwyODE0QzEyODUsMjgxNCwxMjg0LjIsMjgxNC40LDEyODQuMiwyODE0LjhDMTI4NC4yLDI4MTUuMywxMjkzLjksMjgxNS42LDEzMTEuOCwyODE1LjZDMTMyOS43LDI4MTUuNiwxMzM5LjQsMjgxNS4zLDEzMzkuNCwyODE0LjhDMTMzOS40LDI4MTQuNCwxMzM4LjQsMjgxNCwxMzM3LjEsMjgxNEMxMzMxLjYsMjgxNCwxMzI1LjksMjgxMC43LDEzMjMuNywyODA2LjJDMTMyMi4zLDI4MDMuNCwxMzIyLjIsMjc5OS45LDEzMjEuOCwyNzQ4LjhMMTMyMS40LDI2OTQuM0wxMzEwLjYsMjY5OS43WiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTEzMDIuMiwyNjQ3LjFDMTI5Ny4zLDI2NTAuMSwxMjk1LjEsMjY1NC41LDEyOTUuNiwyNjYwLjlDMTI5NS44LDI2NjQuNCwxMjk2LjQsMjY2Ni43LDEyOTcuNSwyNjY4LjJDMTMwOC42LDI2ODMuMiwxMzMxLjYsMjY2OC45LDEzMjMsMjY1Mi40QzEzMTkuNSwyNjQ1LjcsMTMwOC45LDI2NDMsMTMwMi4yLDI2NDcuMVoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0xMzY5LjQsMjcwMC4xQzEzNjMuNywyNzAyLjksMTM1NS45LDI3MDYuMiwxMzUyLjIsMjcwNy40QzEzNDQuMywyNzA5LjksMTM0Mi44LDI3MTAuOCwxMzQ2LjYsMjcxMC44QzEzNTAuNSwyNzEwLjgsMTM1NS42LDI3MTMuNCwxMzU3LjcsMjcxNi4yQzEzNjAuOCwyNzIwLjYsMTM2MS4xLDI3MjQuNywxMzYwLjgsMjc2NC40QzEzNjAuNiwyODAxLjksMTM2MC42LDI4MDIuNCwxMzU4LjgsMjgwNS43QzEzNTYuNywyODA5LjgsMTM1MywyODEyLjIsMTM0Ny4xLDI4MTMuNEMxMzQ0LjYsMjgxMy45LDEzNDIuNiwyODE0LjYsMTM0Mi42LDI4MTVDMTM0Mi42LDI4MTUuMywxMzU1LjYsMjgxNS42LDEzNzEuNCwyODE1LjZDMTM4Ny4yLDI4MTUuNiwxNDAwLjIsMjgxNS4zLDE0MDAuMiwyODE1QzE0MDAuMiwyODE0LjYsMTM5OCwyODEzLjksMTM5NS40LDI4MTMuM0MxMzkxLjgsMjgxMi42LDEzODkuNywyODExLjYsMTM4Ny40LDI4MDkuNUMxMzgxLjgsMjgwNC41LDEzODEuNywyODAzLjQsMTM4MiwyNzYxLjVMMTM4Mi4yLDI3MjQuOEwxMzg0LjUsMjcyMC4xQzEzODksMjcxMSwxMzk2LjUsMjcwNS45LDE0MDYsMjcwNS4zQzE0MTguOCwyNzA0LjYsMTQyNy4zLDI3MTIuNiwxNDI5LjcsMjcyNy42QzE0MzAuOSwyNzM0LjgsMTQzMC45LDI3OTguMiwxNDI5LjcsMjgwMi40QzE0MjcuOSwyODA4LjksMTQyMy4yLDI4MTIuNywxNDE1LjgsMjgxMy43QzE0MDYuNSwyODE1LDE0MTQuNiwyODE1LjYsMTQ0MS40LDI4MTUuNkMxNDY4LjIsMjgxNS42LDE0NzYuMywyODE1LDE0NjcsMjgxMy43QzE0NjAuNSwyODEyLjgsMTQ1Ni4zLDI4MTAsMTQ1My4zLDI4MDQuNEMxNDUxLjksMjgwMS44LDE0NTEuOCwyNzk5LjIsMTQ1MS44LDI3NjIuOEMxNDUxLjgsMjcxOC4zLDE0NTEuNCwyNzIxLjIsMTQ1OS40LDI3MTMuMUMxNDcwLjgsMjcwMS42LDE0ODkuMywyNzAyLjYsMTQ5NywyNzE1LjJDMTUwMS4yLDI3MjIuMSwxNTAxLjMsMjcyMy4yLDE1MDEuOCwyNzYwLjhDMTUwMi40LDI4MDAsMTUwMi4zLDI3OTkuNywxNTA4LDI4MDcuMUMxNTE2LDI4MTcuNiwxNTMyLjksMjgyMC42LDE1NDEuNSwyODEzQzE1NDQuNSwyODEwLjMsMTU0Ni45LDI4MDYuNCwxNTQ2LjQsMjgwNC45QzE1NDYuMiwyODA0LjQsMTU0NS41LDI4MDUuMSwxNTQ0LjgsMjgwNi41QzE1NDAuMSwyODE1LjQsMTUyOS4xLDI4MTUuNiwxNTI0LjgsMjgwNi44QzE1MjMsMjgwMy4zLDE1MjMsMjgwMi41LDE1MjIuNiwyNzY0LjRDMTUyMi4yLDI3MjYuNSwxNTIyLjEsMjcyNS41LDE1MjAuMywyNzIwLjRDMTUxNC43LDI3MDQuNSwxNTA0LjksMjY5Ny4yLDE0ODkuMSwyNjk3LjJDMTQ3NS43LDI2OTcuMiwxNDYwLDI3MDUuMywxNDUyLjIsMjcxNi4xTDE0NDkuNywyNzE5LjZMMTQ0Ni45LDI3MTRDMTQ0MS42LDI3MDMuNCwxNDMyLjgsMjY5Ny45LDE0MjAuMSwyNjk3LjRDMTQwNy40LDI2OTYuOCwxMzk3LjgsMjcwMC42LDEzODcuNiwyNzEwLjNMMTM4MS44LDI3MTUuOEwxMzgxLjgsMjcwNS4zQzEzODEuOCwyNjk3LjQsMTM4MS42LDI2OTQuOCwxMzgwLjgsMjY5NC45QzEzODAuMiwyNjk0LjksMTM3NS4xLDI2OTcuMiwxMzY5LjQsMjcwMC4xWiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTE1NzAuOSwyNjE1LjZDMTU2OS4yLDI2MTcuMywxNTU0LjIsMjYyNS45LDE1NDUuNiwyNjMwLjJDMTU0MC41LDI2MzIuNywxNTM1LjUsMjYzNS44LDE1MzQuNiwyNjM2LjlDMTUzMi40LDI2MzkuOCwxNTMzLjMsMjY0MC4zLDE1MzUuNywyNjM3LjVDMTUzOC41LDI2MzQuMiwxNTQzLjksMjYzNC4yLDE1NDcuNCwyNjM3LjZDMTU1Mi40LDI2NDIuMywxNTUyLjIsMjYzOS40LDE1NTIuMiwyNzMyLjZMMTU1Mi4yLDI4MTcuM0wxNTU0LDI4MTYuOEMxNTU3LjUsMjgxNS43LDE1NjMuMSwyODEyLDE1NjcuMywyODA3LjlMMTU3MS42LDI4MDMuOEwxNTc2LjUsMjgwNy4yQzE1ODguMiwyODE1LjMsMTU5NS41LDI4MTcuNiwxNjA5LjgsMjgxNy42QzE2MjIuOSwyODE3LjYsMTYyNy42LDI4MTYuNSwxNjM5LjQsMjgxMC43QzE2NTQuMSwyODAzLjUsMTY2Ni41LDI3ODksMTY3MC45LDI3NzQuMkMxNjgxLDI3MzkuNiwxNjU5LjUsMjcwNC4yLDE2MjQsMjY5Ni45QzE2MDcuOCwyNjkzLjUsMTU5Mi40LDI2OTcsMTU3OC4yLDI3MDcuMkMxNTczLjgsMjcxMC4zLDE1NzMuMSwyNzEwLjYsMTU3Mi44LDI3MDkuM0MxNTcyLjYsMjcwOC41LDE1NzIuNiwyNjg3LjEsMTU3Mi43LDI2NjEuOEMxNTcyLjksMjYzNi40LDE1NzIuNywyNjE1LjUsMTU3Mi4zLDI2MTUuM0MxNTcyLDI2MTUuMSwxNTcxLjMsMjYxNS4yLDE1NzAuOSwyNjE1LjZaTTE1OTguMiwyNzAyLjNDMTYwMC4xLDI3MDEuNywxNjA0LjMsMjcwMS4zLDE2MDguNiwyNzAxLjRDMTYyMi42LDI3MDEuOCwxNjM0LjQsMjcxMC4xLDE2NDIsMjcyNUMxNjU1LjUsMjc1MS4xLDE2NTIuNiwyNzg0LjYsMTYzNS40LDI4MDNDMTYxOS4yLDI4MjAuNCwxNTkyLjcsMjgxOC40LDE1NzkuNiwyNzk4LjlDMTU3My4xLDI3ODkuMywxNTcyLDI3ODEuNSwxNTcyLjcsMjc1Mi40QzE1NzMuMiwyNzI4LjQsMTU3My45LDI3MjUuMSwxNTc5LjMsMjcxNi43QzE1ODMuOCwyNzA5LjgsMTU5MC4xLDI3MDQuOSwxNTk4LjIsMjcwMi4zWiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTE3MTMuNCwyNjE3LjFDMTcxMi44LDI2MTguMSwxNjk4LjIsMjYyNi42LDE2ODkuOCwyNjMwLjhDMTY4MywyNjM0LjMsMTY4MywyNjM0LjMsMTY4NS41LDI2MzQuOUMxNjg5LjUsMjYzNiwxNjkyLjgsMjYzOS44LDE2OTMuOCwyNjQ0LjZDMTY5NC40LDI2NDcuNiwxNjk0LjYsMjY3MC44LDE2OTQuNCwyNzI2QzE2OTQuMiwyODAyLjQsMTY5NC4yLDI4MDMuMiwxNjkyLjUsMjgwNi40QzE2OTAuNSwyODEwLjMsMTY4NS45LDI4MTMuMSwxNjgwLjMsMjgxMy43QzE2NzguMSwyODE0LDE2NzYuNCwyODE0LjUsMTY3Ni43LDI4MTQuOUMxNjc3LjMsMjgxNS45LDE3MzMsMjgxNS44LDE3MzMsMjgxNC44QzE3MzMsMjgxNC40LDE3MzEuOCwyODE0LDE3MzAuNCwyODE0QzE3MjQuMiwyODEzLjksMTcxOS4zLDI4MTAuOCwxNzE2LjksMjgwNS42QzE3MTUuNSwyODAyLjYsMTcxNS40LDI3OTcuOSwxNzE1LjQsMjcwOS40QzE3MTUuNCwyNjUxLjgsMTcxNS4xLDI2MTYuNCwxNzE0LjYsMjYxNi40QzE3MTQuMiwyNjE2LjQsMTcxMy43LDI2MTYuNywxNzEzLjQsMjYxNy4xWiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTE3OTMuMywyNjk2LjRDMTc3OS4yLDI2OTguNSwxNzY0LDI3MDYuMSwxNzU0LDI3MTYuM0MxNzI1LjIsMjc0NS40LDE3MzQsMjc5Mi4xLDE3NzEuNywyODExLjJDMTc4My45LDI4MTcuMywxODAwLjIsMjgxOS42LDE4MTMsMjgxNi45QzE4MjksMjgxMy41LDE4NDMuMSwyODAyLjksMTg1Mi41LDI3ODcuMkMxODU2LjUsMjc4MC42LDE4NTYuMSwyNzc5LDE4NTIuMSwyNzg1LjNDMTg0MSwyODAyLjUsMTgxOS40LDI4MTEuOSwxODAwLjEsMjgwOEMxNzc5LjgsMjgwNCwxNzY1LjgsMjc4OS4zLDE3NjAuNiwyNzY2LjhDMTc1OS4zLDI3NjEsMTc1OC43LDI3NDQsMTc1OS44LDI3NDIuOUMxNzYwLjEsMjc0Mi42LDE3ODEuNywyNzQyLjMsMTgwNy45LDI3NDIuMkMxODYxLjgsMjc0MS45LDE4NTYuNCwyNzQyLjgsMTg1NC4yLDI3MzQuNkMxODQ3LjcsMjcwOS42LDE4MjAuMywyNjkyLjQsMTc5My4zLDI2OTYuNFpNMTc5MS44LDI2OTkuOUMxODAwLjYsMjY5Ny42LDE4MTEuNiwyNjk5LjcsMTgxOC40LDI3MDQuOUMxODI1LjUsMjcxMC4zLDE4MzEuNSwyNzIyLjEsMTgzMi44LDI3MzMuMUwxODMzLjUsMjczOC44TDE3OTYuOSwyNzM4LjhMMTc2MC40LDI3MzguOEwxNzYwLjgsMjczN0MxNzY0LjksMjcxOC4yLDE3NzcuMSwyNzAzLjYsMTc5MS44LDI2OTkuOVoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0yMDY1LjgsMjcwMS42QzIwNTguNSwyNzA1LjgsMjA1Mi4yLDI3MDkuMiwyMDUxLjYsMjcwOS4yQzIwNDkuOSwyNzA5LjIsMjA1MC40LDI3MTAuMSwyMDUzLjcsMjcxMi45QzIwNTguNSwyNzE3LDIwNTguNSwyNzE3LjQsMjA1OC43LDI3NjJDMjA1OC45LDI4MDEuNywyMDU4LjksMjgwMi41LDIwNTcuMywyODA1LjZDMjA1NC40LDI4MTEsMjA0OS43LDI4MTMuOSwyMDQzLjYsMjgxNEMyMDQyLjIsMjgxNCwyMDQxLDI4MTQuNCwyMDQxLDI4MTQuOEMyMDQxLDI4MTUuMywyMDUwLjksMjgxNS42LDIwNjksMjgxNS42QzIwODcuMSwyODE1LjYsMjA5NywyODE1LjMsMjA5NywyODE0LjhDMjA5NywyODE0LjQsMjA5NS44LDI4MTQsMjA5NC40LDI4MTRDMjA5MS4xLDI4MTMuOSwyMDg2LjIsMjgxMi4yLDIwODQuMSwyODEwLjNDMjA3OS43LDI4MDYuMywyMDc5LjgsMjgwOC41LDIwNzkuNCwyNzQ5TDIwNzksMjY5NC4xTDIwNjUuOCwyNzAxLjZaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMjA2MC4yLDI2NDYuOUMyMDQ5LjYsMjY1MywyMDUwLjMsMjY2OC4zLDIwNjEuNCwyNjczLjNDMjA3Ni40LDI2ODAuMSwyMDg5LjMsMjY2MC41LDIwNzcuMywyNjQ5QzIwNzIuOCwyNjQ0LjgsMjA2NS4zLDI2NDMuOSwyMDYwLjIsMjY0Ni45WiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTIxMzEuNCwyNzAwLjFDMjEyNS45LDI3MDIuOSwyMTE3LjgsMjcwNi4zLDIxMTMuNCwyNzA3LjhMMjEwNS40LDI3MTAuM0wyMTEwLjIsMjcxMUMyMTE2LDI3MTEuNywyMTE4LjQsMjcxMy4zLDIxMjAuOCwyNzE4QzIxMjIuNiwyNzIxLjUsMjEyMi42LDI3MjEuNiwyMTIyLjYsMjc2MkMyMTIyLjYsMjgwMi40LDIxMjIuNiwyODAyLjUsMjEyMC44LDI4MDZDMjExOC43LDI4MTAuMiwyMTE0LjUsMjgxMi45LDIxMDguOCwyODEzLjdDMjA5OS4zLDI4MTUsMjEwNy4yLDI4MTUuNiwyMTMzLjQsMjgxNS42QzIxNTkuNSwyODE1LjYsMjE2OCwyODE1LDIxNTcuNywyODEzLjdDMjE1Mi4zLDI4MTMuMSwyMTQ3LjIsMjgxMCwyMTQ1LjMsMjgwNi4yQzIxNDMuOSwyODAzLjQsMjE0My44LDI4MDAuOCwyMTQzLjgsMjc2NS4yTDIxNDMuOCwyNzI3LjJMMjE0NS44LDI3MjMuMkMyMTU0LjEsMjcwNi4yLDIxNzkuMSwyNjk5LjQsMjE5Mi4xLDI3MTAuNUMyMTk0LDI3MTIuMSwyMTk2LjMsMjcxNSwyMTk3LjMsMjcxNy4xQzIyMDEuMiwyNzI0LjksMjIwMS40LDI3MjYuNywyMjAxLjQsMjc2MkMyMjAxLjQsMjc5OC42LDIyMDEuNSwyNzk4LjksMjIwNi43LDI4MDYuNkMyMjE1LjYsMjgxOS40LDIyMzUuMiwyODIwLjksMjI0NCwyODA5LjNDMjI0Ny41LDI4MDQuNywyMjQ3LjMsMjgwMy4xLDIyNDMuNywyODA3LjRDMjIzNy4xLDI4MTUuMywyMjI4LjIsMjgxNS4zLDIyMjQsMjgwNy40QzIyMjIuMiwyODA0LDIyMjIuMiwyODAzLjUsMjIyMS43LDI3NjQuOEMyMjIxLjIsMjcyNC4xLDIyMjEuMSwyNzIyLjcsMjIxNy41LDI3MTQuNkMyMjA3LjIsMjY5MS4zLDIxNzEuNSwyNjkxLjIsMjE0Ny44LDI3MTQuNEwyMTQzLjQsMjcxOC43TDIxNDMuNCwyNzA2LjdDMjE0My40LDI2OTcuNiwyMTQzLjIsMjY5NC44LDIxNDIuNCwyNjk0LjlDMjE0MS44LDI2OTUsMjEzNi45LDI2OTcuMywyMTMxLjQsMjcwMC4xWiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTIzNjcsMjYxOS43QzIzNjIuNiwyNjIyLjQsMjM1NC4xLDI2MjYuOSwyMzQ4LjIsMjYyOS44QzIzMzguNCwyNjM0LjUsMjMzNC43LDI2MzcsMjMzNC42LDI2MzkuMkMyMzM0LjYsMjYzOS42LDIzMzUuNiwyNjM4LjksMjMzNi44LDI2MzcuOEMyMzQxLjQsMjYzMy40LDIzNDgsMjYzNC41LDIzNTEuNiwyNjQwLjNDMjM1My40LDI2NDMuMiwyMzUzLjQsMjY0My41LDIzNTMuNiwyNjc3TDIzNTMuOSwyNzEwLjhMMjM0Ny41LDI3MDYuNUMyMzIxLjEsMjY4OC44LDIyODYuOSwyNjkzLjMsMjI2NC42LDI3MTcuM0MyMjU4LjQsMjcyNC4xLDIyNTIuMiwyNzM1LjcsMjI1MC4yLDI3NDQuN0MyMjQ4LjUsMjc1MS45LDIyNDguNSwyNzY1LjcsMjI1MC4yLDI3NzIuOUMyMjU2LjMsMjc5OS40LDIyODAuMywyODE4LjEsMjMwOC41LDI4MTguMUMyMzI0LjgsMjgxOC4xLDIzMzguMywyODEyLjYsMjM0OS41LDI4MDEuNEwyMzUzLjcsMjc5Ny4zTDIzNTQuMiwyODAwLjRDMjM1NS45LDI4MTAuNywyMzY3LjEsMjgxNS43LDIzODcuNiwyODE1LjVDMjM5Ni4xLDI4MTUuNCwyMzk2LDI4MTUuMywyMzg3LjQsMjgxMy4xQzIzODIuOCwyODEyLDIzNzcuOCwyODA3LDIzNzYuMywyODAyQzIzNzUuMywyNzk5LDIzNzUuMiwyNzgyLjYsMjM3NS4zLDI3MDYuNkMyMzc1LjQsMjY1Ni4xLDIzNzUuNCwyNjE0LjgsMjM3NS4zLDI2MTQuOEMyMzc1LjEsMjYxNC45LDIzNzEuNCwyNjE3LjEsMjM2NywyNjE5LjdaTTIzMDUuOCwyNjk5LjdDMjMyNC43LDI2OTYsMjM0Mi4yLDI3MDUuNiwyMzQ5LjYsMjcyMy44QzIzNTMuMywyNzMyLjksMjM1My44LDI3MzguNSwyMzUzLjgsMjc2Ni45TDIzNTMuOCwyNzkzLjJMMjM0OS40LDI3OTcuNUMyMzM2LDI4MTEsMjMxMi42LDI4MTQuOCwyMjk2LjcsMjgwNi4yQzIyNzIuNywyNzkzLjEsMjI2NCwyNzUyLjYsMjI3OC42LDI3MjIuM0MyMjg0LjQsMjcxMC40LDIyOTQuNywyNzAxLjgsMjMwNS44LDI2OTkuN1oiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48ZyBmaWxsPSIjMDAwIj48cGF0aCBjbGFzcz0ibmstYmlyZCIgZD0iTTE4NzUuOCwyNjk4LjNDMTg3My42LDI2OTkuMywxODY5LjksMjcwMS41LDE4NjcuNSwyNzAzLjFDMTg2NS4xLDI3MDQuNywxODYyLjQsMjcwNi4yLDE4NjEuMywyNzA2LjVDMTg1Ny45LDI3MDcuNCwxODU5LjMsMjcwOC40LDE4NjMuOSwyNzA4LjRDMTg3NCwyNzA4LjQsMTg3OC43LDI3MTMuMSwxODgzLjEsMjcyNy42QzE4ODguNSwyNzQ1LjIsMTg4OS4yLDI3NDcuMiwxODkyLjcsMjc1NC4xQzE5MDAsMjc2OC4yLDE5MDcuNiwyNzc0LjIsMTkzMi40LDI3ODQuOEMxOTU5LjgsMjc5Ni41LDE5NjguMywyODAxLjQsMTk3OC40LDI4MTEuMUMxOTg1LjMsMjgxNy43LDE5OTAsMjgyNC43LDE5OTIuNiwyODMyLjFDMTk5NS4zLDI4MzkuNiwxOTk1LjIsMjgzNS41LDE5OTIuNSwyODI2LjNDMTk4Ni44LDI4MDYuNCwxOTc1LjYsMjc5NC40LDE5NDcuNCwyNzc3LjZDMTkyMi40LDI3NjIuOCwxOTE0LjMsMjc1My40LDE5MDMuNywyNzI3QzE4OTcuNSwyNzExLjQsMTg5Mi40LDI3MDUuNiwxODgyLjksMjcwMy41QzE4NzkuNSwyNzAyLjgsMTg3OC44LDI3MDIuMywxODc5LjUsMjcwMS41QzE4ODEuNCwyNjk5LjEsMTg4Ni43LDI2OTkuNSwxODk0LjIsMjcwMi40TDE4OTUuOCwyNzAzLjFMMTg5NC4yLDI3MDEuMkMxODkwLjEsMjY5Ni40LDE4ODIuMywyNjk1LjIsMTg3NS44LDI2OTguM1pNMTg4My4yLDI1ODkuNkMxODg1LjQsMjU4Ny43LDE4ODcuNCwyNTg2LDE4ODkuMSwyNTg0LjRMMTg4OS4xLDI2ODUuOEMxODg3LjEsMjY4NC4zLDE4ODUuMSwyNjgzLjIsMTg4My4yLDI2ODIuN1pNMTg5NS40LDI1NzguNUMxODk4LjksMjU3NC43LDE5MDAuNywyNTcxLjYsMTkwMS4zLDI1NjguOEwxOTAxLjMsMjY5OS40QzE4OTkuMywyNjk2LjcsMTg5Ny4zLDI2OTQuMSwxODk1LjQsMjY5MS45Wk0xODgzLjIsMjc2MS42QzE4ODUuMSwyNzY0LjMsMTg4Ny4xLDI3NjYuOSwxODg5LjEsMjc2OS4xTDE4ODkuMSwyODM3LjNDMTg4Ny4zLDI4MzUuOSwxODg1LjMsMjgzNC42LDE4ODMuMiwyODMzLjJaTTE4OTUuNCwyNzc1LjJDMTg5Ny4zLDI3NzYuNywxODk5LjMsMjc3Ny44LDE5MDEuMywyNzc4LjNMMTkwMS4zLDI4NTAuNEMxODk5LjgsMjg0Ny43LDE4OTcuOSwyODQ1LjEsMTg5NS40LDI4NDIuNVpNMTk5OS45LDI1NTIuOEMxOTk3LjEsMjU3MS4xLDE5ODQuNiwyNTkyLjIsMTk1NC45LDI2MjguNEMxOTM1LjEsMjY1Mi42LDE5MjUuNSwyNjY2LjQsMTkyMC40LDI2NzguMkMxOTEwLjIsMjcwMS43LDE5MTMsMjcyNC41LDE5MjguOSwyNzQ3LjJDMTkzMy45LDI3NTQuNCwxOTQzLjYsMjc2My42LDE5NTcsMjc3My44QzE5NzMuMSwyNzg2LjIsMTk4NC44LDI3OTcuNywxOTkwLDI4MDYuNEMyMDAwLDI4MjMuMywyMDAyLjgsMjg0NS43LDE5OTcsMjg2Mi44QzE5OTYuMSwyODY1LjUsMTk5NS41LDI4NjcuOSwxOTk1LjcsMjg2OC4xQzE5OTUuOCwyODY4LjMsMTk5Ny42LDI4NjUuMywxOTk5LjYsMjg2MS40QzIwMTAuMSwyODQxLjMsMjAwOS41LDI4MjEuMywxOTk4LjEsMjgwMy4xQzE5OTIuNywyNzk0LjMsMTk4NS41LDI3ODcuMSwxOTcxLjgsMjc3Ni41QzE5NDYuOSwyNzU3LjIsMTk0MS41LDI3NTAsMTk0MS40LDI3MzYuMUMxOTQxLjQsMjcxOC45LDE5NDkuOCwyNzA2LjcsMTk3MS40LDI2OTIuNkMxOTc2LjUsMjY4OS4zLDE5ODMuNywyNjg0LjUsMTk4Ny40LDI2ODIuMUMyMDE0LjQsMjY2NC4zLDIwMjUuNCwyNjM5LjcsMjAyMC40LDI2MDguMUwyMDIwLDI2MDVMMjAxNy45LDI2MTAuOUMyMDEzLjMsMjYyMy44LDIwMDYuNywyNjMyLjUsMTk4OC4yLDI2NTBDMTk0OSwyNjg3LjEsMTk0Mi42LDI2OTUuMiwxOTM3LjcsMjcxNC4zQzE5MzYuMSwyNzIwLjcsMTkzNS45LDI3MzIuMiwxOTM3LjQsMjczOEMxOTM3LjksMjczOS45LDE5MzcuOCwyNzM5LjksMTkzNi45LDI3MzguNEMxOTMzLjYsMjczMy4xLDE5MzIuOCwyNzE2LjUsMTkzNS40LDI3MDcuMkMxOTQwLjEsMjY5MC4xLDE5NDcuNiwyNjc5LjUsMTk3NC42LDI2NTJDMTk5My41LDI2MzIuNywxOTk4LjQsMjYyNi42LDIwMDMuOCwyNjE2LjNDMjAxMy41LDI1OTcuNywyMDEzLjQsMjU3Ni43LDIwMDMuNiwyNTU1LjVMMjAwMC41LDI1NDguOEwxOTk5LjksMjU1Mi44Wk0yMDE5LDI2NjUuNEMyMDEzLjIsMjY3NS4yLDIwMDIuNCwyNjgzLjksMTk4Mi4xLDI2OTQuOUMxOTY2LDI3MDMuNiwxOTYwLjQsMjcwNy41LDE5NTQuNCwyNzEzLjlDMTk0OC45LDI3MTkuOSwxOTQ2LDI3MjUuNywxOTQ1LjMsMjczMi4xQzE5NDQuNSwyNzQwLjIsMTk0Ni40LDI3NDYuMSwxOTQ3LjgsMjczOS43QzE5NDkuMSwyNzMzLjYsMTk1Ni43LDI3MjgsMTk3MSwyNzIyLjRDMTk5My45LDI3MTMuNCwyMDA1LjIsMjcwNS4zLDIwMTMuMiwyNjkyLjNDMjAxOC4yLDI2ODQsMjAyMi4zLDI2NzAuMSwyMDIxLjYsMjY2My43QzIwMjEuNCwyNjYxLjQsMjAyMS40LDI2NjEuNCwyMDE5LDI2NjUuNFoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48L3N2Zz4="), linear-gradient(#000 0 0); -webkit-mask-size: var(--lw) auto, 100% 100%; -webkit-mask-position: center, 0 0; -webkit-mask-repeat: no-repeat; -webkit-mask-composite: xor;
    mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjExNDAgMjU0MCAxMjY1IDMzNSIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJOaW1ibGVraW5kIj48ZyBjbGFzcz0ibmstbGV0dGVycyIgZmlsbD0iIzAwMCI+PHBhdGggZD0iTTExNzQuNiwyNzAwLjFDMTE2OS4xLDI3MDIuOCwxMTYxLDI3MDYuMywxMTU2LjYsMjcwNy44TDExNDguNiwyNzEwLjRMMTE1Mi43LDI3MTAuOUMxMTU3LjcsMjcxMS41LDExNjEuMSwyNzEzLjcsMTE2My4xLDI3MTcuOEMxMTY0LjUsMjcyMC42LDExNjQuNiwyNzIzLjYsMTE2NC44LDI3NTkuOEMxMTY1LjEsMjgwMiwxMTY1LDI4MDMuNCwxMTYwLjksMjgwOEMxMTU3LjgsMjgxMS42LDExNTYuMSwyODEyLjUsMTE1MC42LDI4MTMuN0MxMTQ2LjksMjgxNC41LDExNTAuNiwyODE0LjcsMTE3NS40LDI4MTQuN0MxMjAwLjIsMjgxNC43LDEyMDMuOSwyODE0LjUsMTIwMC4xLDI4MTMuN0MxMTk1LDI4MTIuNiwxMTkwLjcsMjgwOS43LDExODguMywyODA1LjhDMTE4NS4zLDI4MDAuOCwxMTg0LjksMjc5NS4zLDExODUuMiwyNzYwLjhMMTE4NS40LDI3MjhMMTE4Ny42LDI3MjMuNUMxMTk4LjIsMjcwMiwxMjI4LjgsMjY5Ny45LDEyMzguNCwyNzE2LjdDMTI0Mi43LDI3MjUuMiwxMjQyLjgsMjcyNi4zLDEyNDMuMywyNzYzLjJMMTI0My44LDI3OTcuNkwxMjQ2LjUsMjgwMi42QzEyNTQuNCwyODE3LjEsMTI3Mi45LDI4MjEuNywxMjgzLjQsMjgxMS43QzEyODUuMiwyODEwLDEyODYuNiwyODA4LjIsMTI4Ni42LDI4MDcuNkMxMjg2LjYsMjgwNy4xLDEyODUuMiwyODA4LjEsMTI4My40LDI4MDkuOUMxMjc3LjQsMjgxNi4xLDEyNjkuNywyODE1LDEyNjUuNiwyODA3LjNDMTI2My44LDI4MDQuMSwxMjYzLjgsMjgwMy4xLDEyNjMuMywyNzY2LjRDMTI2Mi44LDI3MjUsMTI2Mi41LDI3MjIuMSwxMjU3LjcsMjcxMy4yQzEyNTQuNSwyNzA3LjIsMTI1MC40LDI3MDMuNCwxMjQzLjUsMjcwMC4xQzEyMzYsMjY5Ni42LDEyMjQsMjY5Ni41LDEyMTQuMiwyNjk5LjlDMTIwNS44LDI3MDIuOCwxMTk2LjcsMjcwOC4zLDExOTAuNiwyNzE0LjFDMTE4Ny45LDI3MTYuNywxMTg1LjYsMjcxOC44LDExODUuNSwyNzE4LjhDMTE4NS40LDI3MTguOCwxMTg1LjIsMjcxMy41LDExODUuMSwyNzA3QzExODUsMjcwMC42LDExODQuOSwyNjk1LjIsMTE4NC44LDI2OTUuMkMxMTg0LjcsMjY5NS4xLDExODAuMSwyNjk3LjMsMTE3NC42LDI3MDAuMVoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0xMzEwLjYsMjY5OS43QzEzMDQuNywyNzAyLjcsMTI5Ni45LDI3MDYuMSwxMjkzLjQsMjcwNy4zQzEyODUuOSwyNzA5LjgsMTI4NC40LDI3MTAuOCwxMjg4LjIsMjcxMC44QzEyOTMuMywyNzEwLjgsMTI5Ny43LDI3MTMuNSwxMjk5LjYsMjcxNy44QzEzMDEuNCwyNzIxLjUsMTMwMS40LDI3MjIuMywxMzAxLjYsMjc2MC4zQzEzMDEuOSwyODAzLjksMTMwMS44LDI4MDUuNCwxMjk2LjYsMjgwOS45QzEyOTMuOSwyODEyLjMsMTI4OS41LDI4MTQsMTI4NiwyODE0QzEyODUsMjgxNCwxMjg0LjIsMjgxNC40LDEyODQuMiwyODE0LjhDMTI4NC4yLDI4MTUuMywxMjkzLjksMjgxNS42LDEzMTEuOCwyODE1LjZDMTMyOS43LDI4MTUuNiwxMzM5LjQsMjgxNS4zLDEzMzkuNCwyODE0LjhDMTMzOS40LDI4MTQuNCwxMzM4LjQsMjgxNCwxMzM3LjEsMjgxNEMxMzMxLjYsMjgxNCwxMzI1LjksMjgxMC43LDEzMjMuNywyODA2LjJDMTMyMi4zLDI4MDMuNCwxMzIyLjIsMjc5OS45LDEzMjEuOCwyNzQ4LjhMMTMyMS40LDI2OTQuM0wxMzEwLjYsMjY5OS43WiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTEzMDIuMiwyNjQ3LjFDMTI5Ny4zLDI2NTAuMSwxMjk1LjEsMjY1NC41LDEyOTUuNiwyNjYwLjlDMTI5NS44LDI2NjQuNCwxMjk2LjQsMjY2Ni43LDEyOTcuNSwyNjY4LjJDMTMwOC42LDI2ODMuMiwxMzMxLjYsMjY2OC45LDEzMjMsMjY1Mi40QzEzMTkuNSwyNjQ1LjcsMTMwOC45LDI2NDMsMTMwMi4yLDI2NDcuMVoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0xMzY5LjQsMjcwMC4xQzEzNjMuNywyNzAyLjksMTM1NS45LDI3MDYuMiwxMzUyLjIsMjcwNy40QzEzNDQuMywyNzA5LjksMTM0Mi44LDI3MTAuOCwxMzQ2LjYsMjcxMC44QzEzNTAuNSwyNzEwLjgsMTM1NS42LDI3MTMuNCwxMzU3LjcsMjcxNi4yQzEzNjAuOCwyNzIwLjYsMTM2MS4xLDI3MjQuNywxMzYwLjgsMjc2NC40QzEzNjAuNiwyODAxLjksMTM2MC42LDI4MDIuNCwxMzU4LjgsMjgwNS43QzEzNTYuNywyODA5LjgsMTM1MywyODEyLjIsMTM0Ny4xLDI4MTMuNEMxMzQ0LjYsMjgxMy45LDEzNDIuNiwyODE0LjYsMTM0Mi42LDI4MTVDMTM0Mi42LDI4MTUuMywxMzU1LjYsMjgxNS42LDEzNzEuNCwyODE1LjZDMTM4Ny4yLDI4MTUuNiwxNDAwLjIsMjgxNS4zLDE0MDAuMiwyODE1QzE0MDAuMiwyODE0LjYsMTM5OCwyODEzLjksMTM5NS40LDI4MTMuM0MxMzkxLjgsMjgxMi42LDEzODkuNywyODExLjYsMTM4Ny40LDI4MDkuNUMxMzgxLjgsMjgwNC41LDEzODEuNywyODAzLjQsMTM4MiwyNzYxLjVMMTM4Mi4yLDI3MjQuOEwxMzg0LjUsMjcyMC4xQzEzODksMjcxMSwxMzk2LjUsMjcwNS45LDE0MDYsMjcwNS4zQzE0MTguOCwyNzA0LjYsMTQyNy4zLDI3MTIuNiwxNDI5LjcsMjcyNy42QzE0MzAuOSwyNzM0LjgsMTQzMC45LDI3OTguMiwxNDI5LjcsMjgwMi40QzE0MjcuOSwyODA4LjksMTQyMy4yLDI4MTIuNywxNDE1LjgsMjgxMy43QzE0MDYuNSwyODE1LDE0MTQuNiwyODE1LjYsMTQ0MS40LDI4MTUuNkMxNDY4LjIsMjgxNS42LDE0NzYuMywyODE1LDE0NjcsMjgxMy43QzE0NjAuNSwyODEyLjgsMTQ1Ni4zLDI4MTAsMTQ1My4zLDI4MDQuNEMxNDUxLjksMjgwMS44LDE0NTEuOCwyNzk5LjIsMTQ1MS44LDI3NjIuOEMxNDUxLjgsMjcxOC4zLDE0NTEuNCwyNzIxLjIsMTQ1OS40LDI3MTMuMUMxNDcwLjgsMjcwMS42LDE0ODkuMywyNzAyLjYsMTQ5NywyNzE1LjJDMTUwMS4yLDI3MjIuMSwxNTAxLjMsMjcyMy4yLDE1MDEuOCwyNzYwLjhDMTUwMi40LDI4MDAsMTUwMi4zLDI3OTkuNywxNTA4LDI4MDcuMUMxNTE2LDI4MTcuNiwxNTMyLjksMjgyMC42LDE1NDEuNSwyODEzQzE1NDQuNSwyODEwLjMsMTU0Ni45LDI4MDYuNCwxNTQ2LjQsMjgwNC45QzE1NDYuMiwyODA0LjQsMTU0NS41LDI4MDUuMSwxNTQ0LjgsMjgwNi41QzE1NDAuMSwyODE1LjQsMTUyOS4xLDI4MTUuNiwxNTI0LjgsMjgwNi44QzE1MjMsMjgwMy4zLDE1MjMsMjgwMi41LDE1MjIuNiwyNzY0LjRDMTUyMi4yLDI3MjYuNSwxNTIyLjEsMjcyNS41LDE1MjAuMywyNzIwLjRDMTUxNC43LDI3MDQuNSwxNTA0LjksMjY5Ny4yLDE0ODkuMSwyNjk3LjJDMTQ3NS43LDI2OTcuMiwxNDYwLDI3MDUuMywxNDUyLjIsMjcxNi4xTDE0NDkuNywyNzE5LjZMMTQ0Ni45LDI3MTRDMTQ0MS42LDI3MDMuNCwxNDMyLjgsMjY5Ny45LDE0MjAuMSwyNjk3LjRDMTQwNy40LDI2OTYuOCwxMzk3LjgsMjcwMC42LDEzODcuNiwyNzEwLjNMMTM4MS44LDI3MTUuOEwxMzgxLjgsMjcwNS4zQzEzODEuOCwyNjk3LjQsMTM4MS42LDI2OTQuOCwxMzgwLjgsMjY5NC45QzEzODAuMiwyNjk0LjksMTM3NS4xLDI2OTcuMiwxMzY5LjQsMjcwMC4xWiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTE1NzAuOSwyNjE1LjZDMTU2OS4yLDI2MTcuMywxNTU0LjIsMjYyNS45LDE1NDUuNiwyNjMwLjJDMTU0MC41LDI2MzIuNywxNTM1LjUsMjYzNS44LDE1MzQuNiwyNjM2LjlDMTUzMi40LDI2MzkuOCwxNTMzLjMsMjY0MC4zLDE1MzUuNywyNjM3LjVDMTUzOC41LDI2MzQuMiwxNTQzLjksMjYzNC4yLDE1NDcuNCwyNjM3LjZDMTU1Mi40LDI2NDIuMywxNTUyLjIsMjYzOS40LDE1NTIuMiwyNzMyLjZMMTU1Mi4yLDI4MTcuM0wxNTU0LDI4MTYuOEMxNTU3LjUsMjgxNS43LDE1NjMuMSwyODEyLDE1NjcuMywyODA3LjlMMTU3MS42LDI4MDMuOEwxNTc2LjUsMjgwNy4yQzE1ODguMiwyODE1LjMsMTU5NS41LDI4MTcuNiwxNjA5LjgsMjgxNy42QzE2MjIuOSwyODE3LjYsMTYyNy42LDI4MTYuNSwxNjM5LjQsMjgxMC43QzE2NTQuMSwyODAzLjUsMTY2Ni41LDI3ODksMTY3MC45LDI3NzQuMkMxNjgxLDI3MzkuNiwxNjU5LjUsMjcwNC4yLDE2MjQsMjY5Ni45QzE2MDcuOCwyNjkzLjUsMTU5Mi40LDI2OTcsMTU3OC4yLDI3MDcuMkMxNTczLjgsMjcxMC4zLDE1NzMuMSwyNzEwLjYsMTU3Mi44LDI3MDkuM0MxNTcyLjYsMjcwOC41LDE1NzIuNiwyNjg3LjEsMTU3Mi43LDI2NjEuOEMxNTcyLjksMjYzNi40LDE1NzIuNywyNjE1LjUsMTU3Mi4zLDI2MTUuM0MxNTcyLDI2MTUuMSwxNTcxLjMsMjYxNS4yLDE1NzAuOSwyNjE1LjZaTTE1OTguMiwyNzAyLjNDMTYwMC4xLDI3MDEuNywxNjA0LjMsMjcwMS4zLDE2MDguNiwyNzAxLjRDMTYyMi42LDI3MDEuOCwxNjM0LjQsMjcxMC4xLDE2NDIsMjcyNUMxNjU1LjUsMjc1MS4xLDE2NTIuNiwyNzg0LjYsMTYzNS40LDI4MDNDMTYxOS4yLDI4MjAuNCwxNTkyLjcsMjgxOC40LDE1NzkuNiwyNzk4LjlDMTU3My4xLDI3ODkuMywxNTcyLDI3ODEuNSwxNTcyLjcsMjc1Mi40QzE1NzMuMiwyNzI4LjQsMTU3My45LDI3MjUuMSwxNTc5LjMsMjcxNi43QzE1ODMuOCwyNzA5LjgsMTU5MC4xLDI3MDQuOSwxNTk4LjIsMjcwMi4zWiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTE3MTMuNCwyNjE3LjFDMTcxMi44LDI2MTguMSwxNjk4LjIsMjYyNi42LDE2ODkuOCwyNjMwLjhDMTY4MywyNjM0LjMsMTY4MywyNjM0LjMsMTY4NS41LDI2MzQuOUMxNjg5LjUsMjYzNiwxNjkyLjgsMjYzOS44LDE2OTMuOCwyNjQ0LjZDMTY5NC40LDI2NDcuNiwxNjk0LjYsMjY3MC44LDE2OTQuNCwyNzI2QzE2OTQuMiwyODAyLjQsMTY5NC4yLDI4MDMuMiwxNjkyLjUsMjgwNi40QzE2OTAuNSwyODEwLjMsMTY4NS45LDI4MTMuMSwxNjgwLjMsMjgxMy43QzE2NzguMSwyODE0LDE2NzYuNCwyODE0LjUsMTY3Ni43LDI4MTQuOUMxNjc3LjMsMjgxNS45LDE3MzMsMjgxNS44LDE3MzMsMjgxNC44QzE3MzMsMjgxNC40LDE3MzEuOCwyODE0LDE3MzAuNCwyODE0QzE3MjQuMiwyODEzLjksMTcxOS4zLDI4MTAuOCwxNzE2LjksMjgwNS42QzE3MTUuNSwyODAyLjYsMTcxNS40LDI3OTcuOSwxNzE1LjQsMjcwOS40QzE3MTUuNCwyNjUxLjgsMTcxNS4xLDI2MTYuNCwxNzE0LjYsMjYxNi40QzE3MTQuMiwyNjE2LjQsMTcxMy43LDI2MTYuNywxNzEzLjQsMjYxNy4xWiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTE3OTMuMywyNjk2LjRDMTc3OS4yLDI2OTguNSwxNzY0LDI3MDYuMSwxNzU0LDI3MTYuM0MxNzI1LjIsMjc0NS40LDE3MzQsMjc5Mi4xLDE3NzEuNywyODExLjJDMTc4My45LDI4MTcuMywxODAwLjIsMjgxOS42LDE4MTMsMjgxNi45QzE4MjksMjgxMy41LDE4NDMuMSwyODAyLjksMTg1Mi41LDI3ODcuMkMxODU2LjUsMjc4MC42LDE4NTYuMSwyNzc5LDE4NTIuMSwyNzg1LjNDMTg0MSwyODAyLjUsMTgxOS40LDI4MTEuOSwxODAwLjEsMjgwOEMxNzc5LjgsMjgwNCwxNzY1LjgsMjc4OS4zLDE3NjAuNiwyNzY2LjhDMTc1OS4zLDI3NjEsMTc1OC43LDI3NDQsMTc1OS44LDI3NDIuOUMxNzYwLjEsMjc0Mi42LDE3ODEuNywyNzQyLjMsMTgwNy45LDI3NDIuMkMxODYxLjgsMjc0MS45LDE4NTYuNCwyNzQyLjgsMTg1NC4yLDI3MzQuNkMxODQ3LjcsMjcwOS42LDE4MjAuMywyNjkyLjQsMTc5My4zLDI2OTYuNFpNMTc5MS44LDI2OTkuOUMxODAwLjYsMjY5Ny42LDE4MTEuNiwyNjk5LjcsMTgxOC40LDI3MDQuOUMxODI1LjUsMjcxMC4zLDE4MzEuNSwyNzIyLjEsMTgzMi44LDI3MzMuMUwxODMzLjUsMjczOC44TDE3OTYuOSwyNzM4LjhMMTc2MC40LDI3MzguOEwxNzYwLjgsMjczN0MxNzY0LjksMjcxOC4yLDE3NzcuMSwyNzAzLjYsMTc5MS44LDI2OTkuOVoiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik0yMDY1LjgsMjcwMS42QzIwNTguNSwyNzA1LjgsMjA1Mi4yLDI3MDkuMiwyMDUxLjYsMjcwOS4yQzIwNDkuOSwyNzA5LjIsMjA1MC40LDI3MTAuMSwyMDUzLjcsMjcxMi45QzIwNTguNSwyNzE3LDIwNTguNSwyNzE3LjQsMjA1OC43LDI3NjJDMjA1OC45LDI4MDEuNywyMDU4LjksMjgwMi41LDIwNTcuMywyODA1LjZDMjA1NC40LDI4MTEsMjA0OS43LDI4MTMuOSwyMDQzLjYsMjgxNEMyMDQyLjIsMjgxNCwyMDQxLDI4MTQuNCwyMDQxLDI4MTQuOEMyMDQxLDI4MTUuMywyMDUwLjksMjgxNS42LDIwNjksMjgxNS42QzIwODcuMSwyODE1LjYsMjA5NywyODE1LjMsMjA5NywyODE0LjhDMjA5NywyODE0LjQsMjA5NS44LDI4MTQsMjA5NC40LDI4MTRDMjA5MS4xLDI4MTMuOSwyMDg2LjIsMjgxMi4yLDIwODQuMSwyODEwLjNDMjA3OS43LDI4MDYuMywyMDc5LjgsMjgwOC41LDIwNzkuNCwyNzQ5TDIwNzksMjY5NC4xTDIwNjUuOCwyNzAxLjZaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNMjA2MC4yLDI2NDYuOUMyMDQ5LjYsMjY1MywyMDUwLjMsMjY2OC4zLDIwNjEuNCwyNjczLjNDMjA3Ni40LDI2ODAuMSwyMDg5LjMsMjY2MC41LDIwNzcuMywyNjQ5QzIwNzIuOCwyNjQ0LjgsMjA2NS4zLDI2NDMuOSwyMDYwLjIsMjY0Ni45WiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTIxMzEuNCwyNzAwLjFDMjEyNS45LDI3MDIuOSwyMTE3LjgsMjcwNi4zLDIxMTMuNCwyNzA3LjhMMjEwNS40LDI3MTAuM0wyMTEwLjIsMjcxMUMyMTE2LDI3MTEuNywyMTE4LjQsMjcxMy4zLDIxMjAuOCwyNzE4QzIxMjIuNiwyNzIxLjUsMjEyMi42LDI3MjEuNiwyMTIyLjYsMjc2MkMyMTIyLjYsMjgwMi40LDIxMjIuNiwyODAyLjUsMjEyMC44LDI4MDZDMjExOC43LDI4MTAuMiwyMTE0LjUsMjgxMi45LDIxMDguOCwyODEzLjdDMjA5OS4zLDI4MTUsMjEwNy4yLDI4MTUuNiwyMTMzLjQsMjgxNS42QzIxNTkuNSwyODE1LjYsMjE2OCwyODE1LDIxNTcuNywyODEzLjdDMjE1Mi4zLDI4MTMuMSwyMTQ3LjIsMjgxMCwyMTQ1LjMsMjgwNi4yQzIxNDMuOSwyODAzLjQsMjE0My44LDI4MDAuOCwyMTQzLjgsMjc2NS4yTDIxNDMuOCwyNzI3LjJMMjE0NS44LDI3MjMuMkMyMTU0LjEsMjcwNi4yLDIxNzkuMSwyNjk5LjQsMjE5Mi4xLDI3MTAuNUMyMTk0LDI3MTIuMSwyMTk2LjMsMjcxNSwyMTk3LjMsMjcxNy4xQzIyMDEuMiwyNzI0LjksMjIwMS40LDI3MjYuNywyMjAxLjQsMjc2MkMyMjAxLjQsMjc5OC42LDIyMDEuNSwyNzk4LjksMjIwNi43LDI4MDYuNkMyMjE1LjYsMjgxOS40LDIyMzUuMiwyODIwLjksMjI0NCwyODA5LjNDMjI0Ny41LDI4MDQuNywyMjQ3LjMsMjgwMy4xLDIyNDMuNywyODA3LjRDMjIzNy4xLDI4MTUuMywyMjI4LjIsMjgxNS4zLDIyMjQsMjgwNy40QzIyMjIuMiwyODA0LDIyMjIuMiwyODAzLjUsMjIyMS43LDI3NjQuOEMyMjIxLjIsMjcyNC4xLDIyMjEuMSwyNzIyLjcsMjIxNy41LDI3MTQuNkMyMjA3LjIsMjY5MS4zLDIxNzEuNSwyNjkxLjIsMjE0Ny44LDI3MTQuNEwyMTQzLjQsMjcxOC43TDIxNDMuNCwyNzA2LjdDMjE0My40LDI2OTcuNiwyMTQzLjIsMjY5NC44LDIxNDIuNCwyNjk0LjlDMjE0MS44LDI2OTUsMjEzNi45LDI2OTcuMywyMTMxLjQsMjcwMC4xWiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTIzNjcsMjYxOS43QzIzNjIuNiwyNjIyLjQsMjM1NC4xLDI2MjYuOSwyMzQ4LjIsMjYyOS44QzIzMzguNCwyNjM0LjUsMjMzNC43LDI2MzcsMjMzNC42LDI2MzkuMkMyMzM0LjYsMjYzOS42LDIzMzUuNiwyNjM4LjksMjMzNi44LDI2MzcuOEMyMzQxLjQsMjYzMy40LDIzNDgsMjYzNC41LDIzNTEuNiwyNjQwLjNDMjM1My40LDI2NDMuMiwyMzUzLjQsMjY0My41LDIzNTMuNiwyNjc3TDIzNTMuOSwyNzEwLjhMMjM0Ny41LDI3MDYuNUMyMzIxLjEsMjY4OC44LDIyODYuOSwyNjkzLjMsMjI2NC42LDI3MTcuM0MyMjU4LjQsMjcyNC4xLDIyNTIuMiwyNzM1LjcsMjI1MC4yLDI3NDQuN0MyMjQ4LjUsMjc1MS45LDIyNDguNSwyNzY1LjcsMjI1MC4yLDI3NzIuOUMyMjU2LjMsMjc5OS40LDIyODAuMywyODE4LjEsMjMwOC41LDI4MTguMUMyMzI0LjgsMjgxOC4xLDIzMzguMywyODEyLjYsMjM0OS41LDI4MDEuNEwyMzUzLjcsMjc5Ny4zTDIzNTQuMiwyODAwLjRDMjM1NS45LDI4MTAuNywyMzY3LjEsMjgxNS43LDIzODcuNiwyODE1LjVDMjM5Ni4xLDI4MTUuNCwyMzk2LDI4MTUuMywyMzg3LjQsMjgxMy4xQzIzODIuOCwyODEyLDIzNzcuOCwyODA3LDIzNzYuMywyODAyQzIzNzUuMywyNzk5LDIzNzUuMiwyNzgyLjYsMjM3NS4zLDI3MDYuNkMyMzc1LjQsMjY1Ni4xLDIzNzUuNCwyNjE0LjgsMjM3NS4zLDI2MTQuOEMyMzc1LjEsMjYxNC45LDIzNzEuNCwyNjE3LjEsMjM2NywyNjE5LjdaTTIzMDUuOCwyNjk5LjdDMjMyNC43LDI2OTYsMjM0Mi4yLDI3MDUuNiwyMzQ5LjYsMjcyMy44QzIzNTMuMywyNzMyLjksMjM1My44LDI3MzguNSwyMzUzLjgsMjc2Ni45TDIzNTMuOCwyNzkzLjJMMjM0OS40LDI3OTcuNUMyMzM2LDI4MTEsMjMxMi42LDI4MTQuOCwyMjk2LjcsMjgwNi4yQzIyNzIuNywyNzkzLjEsMjI2NCwyNzUyLjYsMjI3OC42LDI3MjIuM0MyMjg0LjQsMjcxMC40LDIyOTQuNywyNzAxLjgsMjMwNS44LDI2OTkuN1oiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48ZyBmaWxsPSIjMDAwIj48cGF0aCBjbGFzcz0ibmstYmlyZCIgZD0iTTE4NzUuOCwyNjk4LjNDMTg3My42LDI2OTkuMywxODY5LjksMjcwMS41LDE4NjcuNSwyNzAzLjFDMTg2NS4xLDI3MDQuNywxODYyLjQsMjcwNi4yLDE4NjEuMywyNzA2LjVDMTg1Ny45LDI3MDcuNCwxODU5LjMsMjcwOC40LDE4NjMuOSwyNzA4LjRDMTg3NCwyNzA4LjQsMTg3OC43LDI3MTMuMSwxODgzLjEsMjcyNy42QzE4ODguNSwyNzQ1LjIsMTg4OS4yLDI3NDcuMiwxODkyLjcsMjc1NC4xQzE5MDAsMjc2OC4yLDE5MDcuNiwyNzc0LjIsMTkzMi40LDI3ODQuOEMxOTU5LjgsMjc5Ni41LDE5NjguMywyODAxLjQsMTk3OC40LDI4MTEuMUMxOTg1LjMsMjgxNy43LDE5OTAsMjgyNC43LDE5OTIuNiwyODMyLjFDMTk5NS4zLDI4MzkuNiwxOTk1LjIsMjgzNS41LDE5OTIuNSwyODI2LjNDMTk4Ni44LDI4MDYuNCwxOTc1LjYsMjc5NC40LDE5NDcuNCwyNzc3LjZDMTkyMi40LDI3NjIuOCwxOTE0LjMsMjc1My40LDE5MDMuNywyNzI3QzE4OTcuNSwyNzExLjQsMTg5Mi40LDI3MDUuNiwxODgyLjksMjcwMy41QzE4NzkuNSwyNzAyLjgsMTg3OC44LDI3MDIuMywxODc5LjUsMjcwMS41QzE4ODEuNCwyNjk5LjEsMTg4Ni43LDI2OTkuNSwxODk0LjIsMjcwMi40TDE4OTUuOCwyNzAzLjFMMTg5NC4yLDI3MDEuMkMxODkwLjEsMjY5Ni40LDE4ODIuMywyNjk1LjIsMTg3NS44LDI2OTguM1pNMTg4My4yLDI1ODkuNkMxODg1LjQsMjU4Ny43LDE4ODcuNCwyNTg2LDE4ODkuMSwyNTg0LjRMMTg4OS4xLDI2ODUuOEMxODg3LjEsMjY4NC4zLDE4ODUuMSwyNjgzLjIsMTg4My4yLDI2ODIuN1pNMTg5NS40LDI1NzguNUMxODk4LjksMjU3NC43LDE5MDAuNywyNTcxLjYsMTkwMS4zLDI1NjguOEwxOTAxLjMsMjY5OS40QzE4OTkuMywyNjk2LjcsMTg5Ny4zLDI2OTQuMSwxODk1LjQsMjY5MS45Wk0xODgzLjIsMjc2MS42QzE4ODUuMSwyNzY0LjMsMTg4Ny4xLDI3NjYuOSwxODg5LjEsMjc2OS4xTDE4ODkuMSwyODM3LjNDMTg4Ny4zLDI4MzUuOSwxODg1LjMsMjgzNC42LDE4ODMuMiwyODMzLjJaTTE4OTUuNCwyNzc1LjJDMTg5Ny4zLDI3NzYuNywxODk5LjMsMjc3Ny44LDE5MDEuMywyNzc4LjNMMTkwMS4zLDI4NTAuNEMxODk5LjgsMjg0Ny43LDE4OTcuOSwyODQ1LjEsMTg5NS40LDI4NDIuNVpNMTk5OS45LDI1NTIuOEMxOTk3LjEsMjU3MS4xLDE5ODQuNiwyNTkyLjIsMTk1NC45LDI2MjguNEMxOTM1LjEsMjY1Mi42LDE5MjUuNSwyNjY2LjQsMTkyMC40LDI2NzguMkMxOTEwLjIsMjcwMS43LDE5MTMsMjcyNC41LDE5MjguOSwyNzQ3LjJDMTkzMy45LDI3NTQuNCwxOTQzLjYsMjc2My42LDE5NTcsMjc3My44QzE5NzMuMSwyNzg2LjIsMTk4NC44LDI3OTcuNywxOTkwLDI4MDYuNEMyMDAwLDI4MjMuMywyMDAyLjgsMjg0NS43LDE5OTcsMjg2Mi44QzE5OTYuMSwyODY1LjUsMTk5NS41LDI4NjcuOSwxOTk1LjcsMjg2OC4xQzE5OTUuOCwyODY4LjMsMTk5Ny42LDI4NjUuMywxOTk5LjYsMjg2MS40QzIwMTAuMSwyODQxLjMsMjAwOS41LDI4MjEuMywxOTk4LjEsMjgwMy4xQzE5OTIuNywyNzk0LjMsMTk4NS41LDI3ODcuMSwxOTcxLjgsMjc3Ni41QzE5NDYuOSwyNzU3LjIsMTk0MS41LDI3NTAsMTk0MS40LDI3MzYuMUMxOTQxLjQsMjcxOC45LDE5NDkuOCwyNzA2LjcsMTk3MS40LDI2OTIuNkMxOTc2LjUsMjY4OS4zLDE5ODMuNywyNjg0LjUsMTk4Ny40LDI2ODIuMUMyMDE0LjQsMjY2NC4zLDIwMjUuNCwyNjM5LjcsMjAyMC40LDI2MDguMUwyMDIwLDI2MDVMMjAxNy45LDI2MTAuOUMyMDEzLjMsMjYyMy44LDIwMDYuNywyNjMyLjUsMTk4OC4yLDI2NTBDMTk0OSwyNjg3LjEsMTk0Mi42LDI2OTUuMiwxOTM3LjcsMjcxNC4zQzE5MzYuMSwyNzIwLjcsMTkzNS45LDI3MzIuMiwxOTM3LjQsMjczOEMxOTM3LjksMjczOS45LDE5MzcuOCwyNzM5LjksMTkzNi45LDI3MzguNEMxOTMzLjYsMjczMy4xLDE5MzIuOCwyNzE2LjUsMTkzNS40LDI3MDcuMkMxOTQwLjEsMjY5MC4xLDE5NDcuNiwyNjc5LjUsMTk3NC42LDI2NTJDMTk5My41LDI2MzIuNywxOTk4LjQsMjYyNi42LDIwMDMuOCwyNjE2LjNDMjAxMy41LDI1OTcuNywyMDEzLjQsMjU3Ni43LDIwMDMuNiwyNTU1LjVMMjAwMC41LDI1NDguOEwxOTk5LjksMjU1Mi44Wk0yMDE5LDI2NjUuNEMyMDEzLjIsMjY3NS4yLDIwMDIuNCwyNjgzLjksMTk4Mi4xLDI2OTQuOUMxOTY2LDI3MDMuNiwxOTYwLjQsMjcwNy41LDE5NTQuNCwyNzEzLjlDMTk0OC45LDI3MTkuOSwxOTQ2LDI3MjUuNywxOTQ1LjMsMjczMi4xQzE5NDQuNSwyNzQwLjIsMTk0Ni40LDI3NDYuMSwxOTQ3LjgsMjczOS43QzE5NDkuMSwyNzMzLjYsMTk1Ni43LDI3MjgsMTk3MSwyNzIyLjRDMTk5My45LDI3MTMuNCwyMDA1LjIsMjcwNS4zLDIwMTMuMiwyNjkyLjNDMjAxOC4yLDI2ODQsMjAyMi4zLDI2NzAuMSwyMDIxLjYsMjY2My43QzIwMjEuNCwyNjYxLjQsMjAyMS40LDI2NjEuNCwyMDE5LDI2NjUuNFoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48L3N2Zz4="), linear-gradient(#000 0 0); mask-size: var(--lw) auto, 100% 100%; mask-position: center, 0 0; mask-repeat: no-repeat; mask-composite: exclude; }
  .lsvg { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; }
  .lsvg svg { width: var(--lw); height: auto; overflow: visible; }
  .lline path { fill: none !important; stroke: rgba(107,79,208,.55); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
  .nogl .lmask { display: block; } .nogl .smoke { display: none; }
  .zoomer { z-index: 2; }
  .ltint .nk-letters { display: none; }
  .ltint path { fill: url(#lavGrad) !important; }
  .ltint .breathe { animation: breathe 4.8s ease-in-out infinite; mix-blend-mode: screen; }
  @keyframes breathe { 0%, 100% { opacity: .75; } 50% { opacity: .4; } }
  .tagline { position: absolute; z-index: 4; left: 0; right: 0; top: calc(50% + var(--lw) * 0.17); margin: 0; text-align: center; font: italic 400 clamp(17px, 1.6vw, 24px)/1.3 var(--serif); color: #2E2939; letter-spacing: .01em; transition: opacity .5s; }
  .reel { position: absolute; z-index: 4; left: var(--gutter); right: var(--gutter); bottom: clamp(22px, 4.5vh, 44px); display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin: 0; transition: opacity .5s; }
  .reel em { font: 400 13px/1 var(--sans); letter-spacing: .02em; color: #4A4556; font-style: normal; }
  .glowline { position: relative; font: 500 clamp(17px, 1.5vw, 22px)/1.2 var(--serif); color: rgba(21,19,27,.62); }
  .glowline::after { content: attr(data-text); position: absolute; inset: 0; color: var(--violet); text-shadow: 0 0 14px rgba(183,174,218,.95), 0 0 30px rgba(183,174,218,.7);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 45%, #000 55%, transparent); mask-image: linear-gradient(90deg, transparent, #000 45%, #000 55%, transparent);
    -webkit-mask-size: 45% 100%; mask-size: 45% 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; animation: sweep 4.2s cubic-bezier(.45,0,.25,1) infinite; }
  @keyframes sweep { 0% { -webkit-mask-position: -120% 0; mask-position: -120% 0; opacity: 0; } 12% { opacity: 1; } 70% { opacity: 1; } 85%, 100% { -webkit-mask-position: 220% 0; mask-position: 220% 0; opacity: 0; } }
  .stage.open .reel, .stage.open .tagline { opacity: 0; }
  .shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(21,19,27,.2), rgba(21,19,27,.1) 40%, rgba(21,19,27,.9)); opacity: 0; pointer-events: none; }
  .hero-copy { position: absolute; z-index: 5; left: 0; right: 0; bottom: 11vh; padding: 0 var(--gutter); display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 40px; align-items: end; opacity: 0; pointer-events: none; }
  .hero-copy.on { pointer-events: auto; }
  .hero-copy h1 { font: 500 clamp(52px, 7.4vw, 132px)/0.94 var(--serif); letter-spacing: -0.025em; margin: 0; text-shadow: 0 6px 40px rgba(0,0,0,.5); }
  .hero-copy h1 em { font-weight: 400; }
  .hero-copy p { margin: 0 0 24px; max-width: 44ch; color: #E6E2EE; text-shadow: 0 2px 20px rgba(0,0,0,.8); }

  /* ── the night shift ── */
  .shift { height: 560vh; position: relative; }
  .shift-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; background: var(--ink); }
  .shift-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .28; filter: grayscale(.6) sepia(.2) hue-rotate(215deg); }
  .sky { position: absolute; inset: 0; background: radial-gradient(70% 60% at 80% 10%, rgba(115,69,218,.28), transparent 70%), linear-gradient(180deg, rgba(21,19,27,.6), rgba(21,19,27,.15) 40%, rgba(21,19,27,.92)); }
  .dawn { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(242,170,140,.45), rgba(183,174,218,.25) 35%, transparent 70%); opacity: 0; mix-blend-mode: screen; }
  .shift-head { position: absolute; z-index: 2; top: clamp(86px, 13vh, 130px); left: var(--gutter); max-width: 620px; }
  .shift-head .sec-h { font-size: clamp(40px, 4.6vw, 82px); margin: 0 0 12px; }
  .shift-head p { color: var(--mist); margin: 0; max-width: 50ch; font-size: 16px; }
  .clock { position: absolute; z-index: 2; top: clamp(86px, 13vh, 130px); right: var(--gutter); text-align: right; }
  .clock b { display: block; font: 400 clamp(64px, 10vw, 180px)/0.85 var(--serif); letter-spacing: -.03em; font-variant-numeric: lining-nums tabular-nums; }
  .clock span { font: italic 400 clamp(22px, 2.2vw, 34px) var(--serif); color: var(--lav); }
  .track { position: absolute; z-index: 2; left: 0; bottom: 7.5vh; display: flex; gap: 20px; padding: 0 var(--gutter); will-change: transform; }
  .job { flex: 0 0 auto; width: clamp(280px, 30vw, 400px); padding: 24px 24px 20px; border-radius: 22px; background: rgba(32,29,41,.7); border: 1px solid var(--rule); backdrop-filter: blur(12px) saturate(1.2); -webkit-backdrop-filter: blur(12px) saturate(1.2); transition: border-color .4s, background .4s, transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s; }
  .job.on { border-color: rgba(183,174,218,.6); background: rgba(42,38,51,.85); transform: translateY(-12px); box-shadow: 0 24px 50px -28px rgba(0,0,0,.7); }
  .job .when { margin: 0 0 8px; font: italic 400 20px var(--serif); color: var(--lav); }
  .job h3 { margin: 0 0 10px; font: italic 400 25px/1.15 var(--serif); }
  .job p { margin: 0 0 14px; color: var(--mist); font-size: 15px; line-height: 1.5; }
  .ticks { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--rule); }
  .ticks li { display: flex; gap: 10px; align-items: center; padding: 7px 0 0; font-size: 14px; }
  .ticks li::before { content: ""; width: 14px; height: 14px; flex: none; border-radius: 50%; border: 1.5px solid var(--lav); background: radial-gradient(circle, var(--lav) 0 3px, transparent 4px); }
  .job.end { background: var(--ivory); color: var(--navy); border-color: var(--ivory); }
  .job.end .when { color: #5B4FA0; } .job.end p { color: #524B5E; }
  .shift-bar { position: absolute; z-index: 2; left: var(--gutter); right: var(--gutter); bottom: 3.5vh; height: 2px; background: rgba(244,241,234,.14); border-radius: 2px; }
  .shift-bar i { position: absolute; inset: 0 auto 0 0; width: 0; background: linear-gradient(90deg, var(--lav2), var(--lav)); border-radius: 2px; }

  /* ── statement ── */
  .statement { padding: clamp(120px, 20vh, 220px) var(--gutter); }
  .statement .big { margin: 0; max-width: 21ch; font: 400 clamp(34px, 4.6vw, 80px)/1.08 var(--serif); letter-spacing: -0.02em; }
  .statement .w { opacity: .14; transition: opacity .2s; }
  .statement .w.i { font-style: italic; color: var(--lav); }

  /* ── services stack (port of 21st.dev "Services Stack") ── */
  .ss { position: relative; isolation: isolate; }
  .ss-bg { position: absolute; inset: 0; z-index: -1; }
  .ss-sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; }
  .ss-bgimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1s; }
  .ss-bgimg.on { opacity: 1; }
  .ss-sticky::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(21,19,27,.92) 0%, rgba(21,19,27,.7) 42%, rgba(42,38,51,.45) 100%), linear-gradient(180deg, var(--ink), transparent 14%, transparent 86%, var(--ink)); }
  .ss-grain { position: absolute; inset: -50%; z-index: 1; opacity: .08; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); animation: ss-grain 8s steps(10) infinite; }
  @keyframes ss-grain { 0% { transform: translate(0); } 10%, 30%, 50%, 70%, 90% { transform: translate(-5%, -10%); } 20%, 40%, 60%, 80%, 100% { transform: translate(-15%, -20%); } }
  .ss-titles { position: absolute; z-index: 2; left: var(--gutter); top: 0; bottom: 0; width: 38%; display: grid; grid-template-rows: 1fr 1fr; }
  .ss-titles p { align-self: end; margin: 0; font: 400 clamp(28px, 2.6vw, 44px)/1.1 var(--serif); color: rgba(244,241,234,.5); }
  .ss-name { position: relative; }
  .ss-name span { position: absolute; inset: 0 0 auto 0; font: 500 clamp(36px, 3.6vw, 62px)/1.05 var(--serif); opacity: 0; transform: translateY(30px); transition: opacity .4s, transform .5s cubic-bezier(.2,.8,.2,1); }
  .ss-name span.on { opacity: 1; transform: none; }
  .ss-panel { position: sticky; top: 0; min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 60px var(--gutter); }
  .ss-card-wrap { grid-column: 2; transform-origin: top center; will-change: transform, opacity; }
  .ss-mtitle { display: none; }
  .ss-card { overflow: hidden; border-radius: 22px; background: linear-gradient(180deg, #EAE6F3, #FBFAF7); color: var(--navy); box-shadow: 0 40px 90px -40px rgba(0,0,0,.8); }
  .ss-card { position: relative; }
  .ss-card svg { display: block; width: 100%; height: auto; padding: 22px 26px 0; }
  /* finished products: the line drawing becomes the real thing */
  .ss-final { position: absolute; left: 26px; right: 26px; top: 22px; aspect-ratio: 1280 / 536; container-type: inline-size; opacity: 0; pointer-events: none; font-family: var(--sans); color: #15131B; }
  .ss-final * { box-sizing: border-box; }
  .ss-final.on > * { animation: finIn .9s cubic-bezier(.2,.8,.2,1) both; }
  .ss-final.on > *:nth-child(2) { animation-delay: .18s; }
  @keyframes finIn { from { opacity: 0; transform: translateY(6cqw) scale(.96); } }
  .fin-web .fw-browser { position: absolute; left: 0; top: 2cqw; width: 70%; bottom: 0; border-radius: 1.4cqw 1.4cqw 0 0; overflow: hidden; background: #fff; box-shadow: 0 2cqw 5cqw -2cqw rgba(21,19,27,.45); }
  .fw-bar { display: flex; align-items: center; gap: .7cqw; height: 3.6cqw; padding: 0 1.4cqw; background: #EEEAF4; }
  .fw-bar i { width: 1cqw; height: 1cqw; border-radius: 50%; background: #CFC8E4; }
  .fw-bar span { margin-left: 2cqw; padding: .4cqw 2cqw; border-radius: 1cqw; background: #fff; font-size: 1.3cqw; color: #6E6880; }
  .fw-hero { position: relative; height: 19cqw; background-size: cover; background-position: center 30%; display: flex; flex-direction: column; justify-content: center; padding: 0 4cqw; color: #fff; }
  .fw-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(30,20,50,.75), rgba(30,20,50,.1)); }
  .fw-hero b { position: relative; font: 500 3.6cqw/1 var(--serif); }
  .fw-hero span { position: relative; align-self: flex-start; margin-top: 1.6cqw; padding: .9cqw 1.8cqw; border-radius: 3cqw; background: linear-gradient(135deg, #8E6CF0, #6B4FD0); font-size: 1.3cqw; font-weight: 600; }
  .fw-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2cqw; padding: 1.4cqw; }
  .fw-row i { height: 9cqw; border-radius: .8cqw; background-size: cover; background-position: center; }
  .fw-phone { position: absolute; right: 2%; top: 0; width: 22%; height: 98%; border-radius: 3cqw; padding: 1.2cqw; background: #15131B; box-shadow: 0 2cqw 5cqw -2cqw rgba(21,19,27,.6); display: flex; flex-direction: column; gap: 1cqw; color: #F4F1EA; }
  .fw-phone > i { height: 13cqw; border-radius: 2cqw; background-size: cover; background-position: center; }
  .fw-phone b { font: 500 1.9cqw/1.1 var(--serif); padding: 0 .6cqw; }
  .fw-slots { display: flex; flex-direction: column; gap: .7cqw; padding: 0 .6cqw; }
  .fw-slots span { padding: .8cqw 1cqw; border-radius: 1cqw; border: 1px solid rgba(244,241,234,.2); font-size: 1.3cqw; }
  .fw-slots span.on { background: #B7AEDA; border-color: #B7AEDA; color: #15131B; font-weight: 600; }
  .fw-phone em { margin: auto .6cqw .6cqw; padding: 1cqw; border-radius: 2cqw; text-align: center; font-style: normal; font-weight: 600; font-size: 1.4cqw; background: linear-gradient(135deg, #8E6CF0, #6B4FD0); }
  .fin-app { display: flex; border-radius: 1.4cqw; overflow: hidden; background: #F7F5FB; box-shadow: 0 2cqw 5cqw -2cqw rgba(21,19,27,.4); top: 24px; }
  .fa-side { width: 6%; background: #15131B; display: flex; flex-direction: column; align-items: center; gap: 1.6cqw; padding-top: 1.6cqw; }
  .fa-side b { width: 2.6cqw; height: 2.6cqw; border-radius: .8cqw; background: linear-gradient(135deg, #B7AEDA, #6B4FD0); }
  .fa-side i { width: 1.8cqw; height: 1.8cqw; border-radius: .5cqw; background: rgba(244,241,234,.18); }
  .fa-side i.on { background: #B7AEDA; }
  .fa-main { flex: 1; padding: 1.6cqw; display: grid; grid-template-rows: auto 1fr auto; gap: 1.2cqw; }
  .fa-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2cqw; }
  .fa-kpis div { padding: 1.2cqw 1.4cqw; border-radius: 1.2cqw; background: #fff; box-shadow: 0 .4cqw 1.2cqw -.6cqw rgba(21,19,27,.2); display: grid; grid-template-columns: 1fr auto; align-items: end; }
  .fa-kpis small { grid-column: 1 / -1; font-size: 1.2cqw; color: #6E6880; }
  .fa-kpis b { font: 500 3.2cqw/1 var(--serif); }
  .fa-kpis em { font-style: normal; font-size: 1.2cqw; font-weight: 600; color: #2F8F5B; background: #E3F4EA; padding: .3cqw .8cqw; border-radius: 1cqw; }
  .fa-kpis .warn em { color: #A0561B; background: #FBEBDD; }
  .fa-body { display: grid; grid-template-columns: 1.6fr 1fr; gap: 1.2cqw; min-height: 0; }
  .fa-chart, .fa-donut { border-radius: 1.2cqw; background: #fff; padding: 1.2cqw 1.4cqw; box-shadow: 0 .4cqw 1.2cqw -.6cqw rgba(21,19,27,.2); }
  .fa-chart small { font-size: 1.2cqw; color: #6E6880; }
  .fa-chart .bars { height: 75%; display: flex; align-items: flex-end; gap: 1cqw; margin-top: 1cqw; }
  .fa-chart .bars i { flex: 1; height: var(--h); border-radius: .6cqw .6cqw .2cqw .2cqw; background: linear-gradient(180deg, #8E6CF0, #CFC8E4); transform-origin: bottom; }
  .ss-final.on .fa-chart .bars i { animation: grow 1.1s cubic-bezier(.2,.8,.2,1) both; }
  .ss-final.on .fa-chart .bars i:nth-child(2) { animation-delay: .08s; } .ss-final.on .fa-chart .bars i:nth-child(3) { animation-delay: .16s; } .ss-final.on .fa-chart .bars i:nth-child(4) { animation-delay: .24s; } .ss-final.on .fa-chart .bars i:nth-child(5) { animation-delay: .32s; } .ss-final.on .fa-chart .bars i:nth-child(6) { animation-delay: .4s; } .ss-final.on .fa-chart .bars i:nth-child(7) { animation-delay: .48s; }
  @keyframes grow { from { transform: scaleY(0); } }
  .fa-donut { display: flex; align-items: center; gap: 1.4cqw; }
  .fa-donut .ring { flex: none; width: 9cqw; height: 9cqw; border-radius: 50%; background: radial-gradient(circle, #fff 52%, transparent 53%), conic-gradient(#6B4FD0 0 46%, #B7AEDA 46% 78%, #F2B58C 78% 100%); }
  .fa-donut ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .8cqw; font-size: 1.25cqw; }
  .fa-donut li { display: flex; align-items: center; gap: .7cqw; }
  .fa-donut li i { width: 1cqw; height: 1cqw; border-radius: 50%; }
  .fa-rows { display: grid; gap: .6cqw; }
  .fa-rows p { margin: 0; display: flex; justify-content: space-between; align-items: center; padding: .8cqw 1.4cqw; border-radius: 1cqw; background: #fff; font-size: 1.3cqw; }
  .fa-rows em { font-style: normal; font-weight: 600; font-size: 1.15cqw; padding: .3cqw 1cqw; border-radius: 1cqw; }
  .fa-rows .g { color: #2F8F5B; background: #E3F4EA; } .fa-rows .a { color: #A0561B; background: #FBEBDD; } .fa-rows .v { color: #5A3FC0; background: #ECE7FB; }
  .fa-tag { position: absolute; right: 1.4cqw; top: 1cqw; font: italic 400 1.4cqw var(--serif); color: #6B4FD0; }
  .fin-ai { display: grid; grid-template-columns: 1.15fr 1fr; gap: 2cqw; align-items: center; }
  .fi-chat { height: 100%; border-radius: 2cqw; overflow: hidden; background: #EFE9DF; display: flex; flex-direction: column; gap: 1cqw; padding-bottom: 1.4cqw; box-shadow: 0 2cqw 5cqw -2cqw rgba(21,19,27,.4); }
  .fi-top { display: flex; align-items: center; gap: 1cqw; padding: 1.2cqw 1.6cqw; background: #1F1B29; color: #F4F1EA; font-size: 1.4cqw; font-weight: 600; }
  .fi-top i { width: 3cqw; height: 3cqw; border-radius: 50%; display: grid; place-items: center; background: #B7AEDA; color: #15131B; font-style: normal; }
  .fi-top small { margin-left: auto; font-weight: 400; color: #B5B0C2; }
  .fi-chat p { margin: 0 1.6cqw; max-width: 78%; padding: 1cqw 1.4cqw; border-radius: 1.4cqw; font-size: 1.45cqw; line-height: 1.35; box-shadow: 0 .15cqw .3cqw rgba(0,0,0,.08); }
  .fi-chat .me { align-self: flex-end; background: #DCF8C6; border-bottom-right-radius: .4cqw; }
  .fi-chat .bot { align-self: flex-start; background: #fff; border-bottom-left-radius: .4cqw; }
  .ss-final.on .fi-chat p { animation: finIn .6s cubic-bezier(.2,.8,.2,1) both; }
  .ss-final.on .fi-chat p:nth-of-type(2) { animation-delay: .5s; } .ss-final.on .fi-chat p:nth-of-type(3) { animation-delay: 1s; } .ss-final.on .fi-chat p:nth-of-type(4) { animation-delay: 1.5s; }
  .fi-crm { border-radius: 2cqw; padding: 2cqw; background: linear-gradient(160deg, #2C2545, #15131B); color: #F4F1EA; box-shadow: 0 2cqw 5cqw -2cqw rgba(21,19,27,.6); }
  .fi-who { display: flex; align-items: center; gap: 1.2cqw; margin-bottom: 1.6cqw; }
  .fi-who i { width: 4.4cqw; height: 4.4cqw; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-weight: 700; font-size: 1.5cqw; background: linear-gradient(135deg, #F2B58C, #B7AEDA); color: #15131B; }
  .fi-who b { display: block; font: 500 2.2cqw/1.1 var(--serif); }
  .fi-who small { font-size: 1.2cqw; color: #B5B0C2; }
  .fi-crm ul { list-style: none; margin: 0 0 1.6cqw; padding: 0; display: grid; gap: .8cqw; font-size: 1.35cqw; }
  .fi-crm li { display: flex; gap: 1cqw; align-items: center; padding: .9cqw 1.2cqw; border-radius: 1cqw; background: rgba(244,241,234,.07); }
  .fi-crm li span { font-size: 1.1cqw; font-weight: 600; padding: .2cqw .8cqw; border-radius: 1cqw; background: #B7AEDA; color: #15131B; }
  .fi-crm em { display: block; font: italic 400 1.5cqw var(--serif); color: #CFC8E4; }
  .ss-body { padding: 18px 34px 30px; }
  .ss-body > p { margin: 0; font-size: 18px; line-height: 1.45; max-width: 44ch; }
  .ss-lt { margin: 22px 0 10px !important; font-size: 13px !important; font-weight: 600; color: rgba(42,38,51,.7); }
  .ss-caps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .ss-caps li { display: flex; gap: 8px; align-items: baseline; padding: 9px 12px 10px; border-radius: 10px; background: #E1DCEF; font-size: 15px; line-height: 1.2; transition: background .5s; }
  .ss-caps li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; flex: none; background: var(--navy); transform: translateY(-1px); transition: background .5s; }
  .ss-caps li.on { background: #CEC5EE; } .ss-caps li.on::before { background: var(--violet); }

  /* ── internal tools: the mess flies together into one screen ── */
  .tools { height: 320vh; position: relative; }
  .tools-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(24px, 4vw, 60px); align-items: center; padding: 70px var(--gutter) 30px; }
  .tools-copy .sec-h { font-size: clamp(40px, 4.2vw, 76px); }
  .tools-copy .sec-p { margin: 0 0 22px; }
  .tools-copy ul { list-style: none; padding: 0; margin: 0; }
  .tools-copy li { padding: 10px 0; border-top: 1px solid var(--rule); font-size: 15px; color: var(--mist); }
  .tools-copy li b { color: var(--ivory); font-weight: 600; }
  .board { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(92px, 17vh, 150px); gap: 10px; }
  .board::before { content: "Owner dashboard"; position: absolute; top: -34px; left: 0; font: italic 400 20px var(--serif); color: var(--lav); opacity: var(--done, 0); }
  .tile { position: relative; will-change: transform; }
  .tile.w2 { grid-column: span 2; }
  .tile > div { position: absolute; inset: 0; padding: 14px 16px; overflow: hidden; border-radius: 14px; }
  .mess { background: #F3F0EA; color: #20242E; box-shadow: 0 20px 50px rgba(0,0,0,.45); font-size: 13px; border-radius: 4px !important; }
  .mess b { display: block; font: 700 13px var(--sans); margin-bottom: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mess i { display: block; height: 7px; margin: 6px 0; background: repeating-linear-gradient(90deg, #C9CCD6 0 22%, transparent 22% 25%); }
  .mess.wa { background: #DCF8C6; } .mess.paper { background: #FBF3D5; } .mess.pdf { background: #fff; border-top: 6px solid #D9433B; }
  .tidy { background: linear-gradient(160deg, #26222F, #1B1922); border: 1px solid var(--rule); opacity: 0; display: flex; flex-direction: column; justify-content: space-between; }
  .tidy small { font-size: 13px; color: var(--mist); }
  .tidy strong { font: 500 clamp(26px, 2.8vw, 46px)/1 var(--serif); font-variant-numeric: lining-nums tabular-nums; }
  .tidy em { font-style: normal; font-size: 12.5px; color: var(--lav); }
  .tidy .bars-mini { display: flex; align-items: end; gap: 6px; height: 50%; }
  .tidy .bars-mini span { flex: 1; border-radius: 3px; background: linear-gradient(180deg, var(--lav), rgba(142,131,192,.3)); }

  /* ── three acts over the circuit board ── */
  .acts { height: 440vh; position: relative; }
  .acts-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; }
  .acts-stage canvas, .acts-stage video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.7) sepia(.25) hue-rotate(205deg) saturate(1.1); }
  .acts-stage::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at center, transparent 25%, rgba(21,19,27,.8)), linear-gradient(180deg, rgba(21,19,27,.5), transparent 30%, transparent 55%, rgba(21,19,27,.94)); }
  .act { position: absolute; z-index: 2; left: 0; right: 0; bottom: 11vh; text-align: center; padding: 0 var(--gutter); opacity: 0; }
  .act .no { font: italic 400 22px var(--serif); color: var(--lav); }
  .act h3 { font: 500 clamp(64px, 10vw, 180px)/0.9 var(--serif); letter-spacing: -.03em; margin: 6px 0 14px; }
  .act .sub { font-size: clamp(17px, 1.5vw, 20px); margin: 0 auto 16px; max-width: 40ch; color: #E6E2EE; }
  .act .meta { display: inline-flex; gap: 26px; font-size: 14px; color: var(--mist); }
  .act .meta b { color: var(--ivory); }
  .scrub { position: absolute; z-index: 3; left: var(--gutter); right: var(--gutter); bottom: 5vh; height: 2px; background: rgba(244,241,234,.15); }
  .scrub i { position: absolute; inset: 0 auto 0 0; background: var(--lav); width: 0; }

  /* ── portrait wall + about ── */
  .wall { position: relative; padding: 18vh var(--gutter) 10vh; }
  .wall-title { position: sticky; top: 40vh; z-index: 3; text-align: center; mix-blend-mode: exclusion; pointer-events: none; margin-bottom: -20vh; }
  .wall-title h2 { font: 500 clamp(48px, 8.4vw, 156px)/0.92 var(--serif); letter-spacing: -.03em; margin: 0; color: #fff; }
  .wall-title h2 em { font-weight: 400; }
  .wall-rows { display: grid; gap: 6vh; }
  .wall-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2vw; }
  .wall-row figure { margin: 0; aspect-ratio: 3/4; overflow: hidden; border-radius: 16px; will-change: transform; }
  .wall-row img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.45) contrast(1.05); }
  .about-copy { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(30px, 6vw, 100px); margin-top: 14vh; align-items: start; }
  .values { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .values li { position: relative; padding: 22px; border-radius: 18px; background: var(--navy2); border: 1px solid var(--rule); overflow: hidden; }
  .values li::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: radial-gradient(260px circle at var(--x, -100px) var(--y, -100px), rgba(183,174,218,.8), transparent 60%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
  .values li::after { content: ""; position: absolute; inset: 0; background: radial-gradient(320px circle at var(--x, -100px) var(--y, -100px), rgba(115,69,218,.14), transparent 60%); pointer-events: none; }
  .values b { display: block; font: 500 23px/1.15 var(--serif); margin-bottom: 6px; }
  .values span { color: var(--mist); font-size: 15px; }

  /* ── what we build ── */
  .index { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--rule); }
  .index li { border-bottom: 1px solid var(--rule); }
  .index a { display: grid; grid-template-columns: 70px minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: baseline; padding: 24px 0; text-decoration: none; transition: padding .5s cubic-bezier(.2,.8,.2,1), color .3s; }
  .index a:hover { padding-left: 24px; color: var(--lav); }
  .index .n { font: italic 400 22px var(--serif); color: var(--mist); }
  .index .t { font: 500 clamp(36px, 4.8vw, 80px)/1 var(--serif); letter-spacing: -.02em; }
  .index .d { color: var(--mist); font-size: 16px; }
  .float { position: fixed; z-index: 70; left: 0; top: 0; width: 340px; height: 230px; pointer-events: none; overflow: hidden; border-radius: 14px; opacity: 0; transform: scale(.6); transition: opacity .3s, transform .4s cubic-bezier(.2,.8,.2,1); }
  .float.on { opacity: 1; transform: scale(1); }
  .float img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .35s; }
  .float img.on { opacity: 1; }

  /* ── pricing: four cards with a travelling edge light on the featured one ── */
  .plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  .plan { position: relative; display: grid; grid-template-rows: auto 1fr auto; padding: 26px 24px 22px; border-radius: 22px; background: var(--navy2); border: 1px solid var(--rule); transition: transform .5s cubic-bezier(.2,.8,.2,1); }
  .plan:hover { transform: translateY(-8px); }
  .plan h3 { font: 500 30px/1.05 var(--serif); margin: 0 0 6px; }
  .plan .for { margin: 0 0 16px; font-size: 15px; color: var(--mist); }
  .plan ul { list-style: none; padding: 0; margin: 0 0 20px; font-size: 15px; }
  .plan li { padding: 8px 0; border-top: 1px solid var(--rule); }
  .plan .amt { margin: 0; font: 400 46px/1 var(--serif); font-variant-numeric: lining-nums; }
  .plan .amt small { display: block; font: 500 13px var(--sans); color: var(--mist); margin-bottom: 4px; }
  .plan .time { margin: 6px 0 0; font-size: 14px; color: var(--mist); }
  .plan.feat { background: linear-gradient(170deg, #2C2545, #1C1928 60%); border-color: transparent; }
  .plan.feat::before { content: ""; position: absolute; inset: -1px; border-radius: 23px; padding: 1.5px; background: conic-gradient(from var(--a, 0deg), transparent 0 70%, var(--lav) 80%, #fff 85%, var(--lav2) 90%, transparent 100%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: edge 4s linear infinite; pointer-events: none; }
  @property --a { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
  @keyframes edge { to { --a: 360deg; } }
  .plan.feat .for, .plan.feat .time, .plan.feat .amt small { color: #D4CEEB; }
  .plan .tag { position: absolute; top: 18px; right: 18px; padding: 4px 10px; border-radius: 999px; background: var(--lav); color: var(--navy); font-size: 12px; font-weight: 600; }

  .faq { max-width: 980px; }
  .faq details { border-top: 1px solid var(--rule); }
  .faq details:last-child { border-bottom: 1px solid var(--rule); }
  .faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 20px; padding: 24px 0; font: 500 clamp(22px, 2.2vw, 32px)/1.15 var(--serif); }
  .faq summary::-webkit-details-marker { display: none; }
  .faq summary::after { content: "+"; color: var(--lav); font-family: var(--sans); transition: transform .3s; }
  .faq details[open] summary::after { transform: rotate(45deg); }
  .faq details p { margin: 0 0 24px; color: var(--mist); max-width: 64ch; }

  /* ── credits roll into the call to action ── */
  .credits { height: 260vh; position: relative; }
  .credits-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; display: grid; place-items: center; text-align: center; background: radial-gradient(60% 50% at 50% 60%, rgba(115,69,218,.22), transparent 70%); }
  .roll { position: absolute; left: 0; right: 0; top: 100%; will-change: transform; }
  .roll dl { margin: 0 0 60px; }
  .roll dt { font-size: 14px; color: var(--mist); }
  .roll dd { margin: 2px 0 30px; font: 500 32px var(--serif); }
  .final { position: relative; z-index: 2; opacity: 0; padding: 0 var(--gutter); }
  .final h2 { font: 500 clamp(62px, 10.5vw, 196px)/0.92 var(--serif); letter-spacing: -.03em; margin: 0 0 22px; }
  .final h2 em { font-weight: 400; }
  .final p { max-width: 46ch; margin: 0 auto 30px; color: var(--mist); font-size: 18px; }
  .final .ctas { justify-content: center; }

  /* ── dithered footer (after 21st.dev "Dithered Footer"): the logo cut out of a field of dots ── */
  .df { position: relative; padding: clamp(64px, 10vh, 110px) var(--gutter) 22px; background: var(--ink); border-top: 1px solid var(--rule); }
  .df-top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.5fr); gap: clamp(32px, 6vw, 96px); }
  .df-brand p { margin: 0 0 22px; max-width: 38ch; color: var(--mist); font-size: 15.5px; }
  .df-brand h2 { margin: 0 0 14px; font: 500 clamp(30px, 3vw, 46px)/1.05 var(--serif); }
  .df-brand h2 em { font-weight: 400; color: var(--lav); }
  .df-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .df-cols h3 { margin: 0 0 12px; font: italic 400 19px var(--serif); color: var(--lav); }
  .df-cols a, .df-cols span { display: block; padding: 6px 0; font-size: 15px; color: var(--mist); text-decoration: none; transition: color .2s; overflow-wrap: anywhere; }
  .df-cols a:hover { color: var(--ivory); }
  .df-field { position: relative; margin-top: clamp(40px, 7vh, 80px); height: clamp(130px, 26vw, 380px); }
  .df-field canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
  .df-bar { display: flex; flex-wrap: wrap; gap: 10px 26px; align-items: center; padding-top: 18px; border-top: 1px solid var(--rule); font-size: 13.5px; color: var(--mist); }
  .df-bar a { color: var(--mist); text-decoration: none; padding: 6px 0; }
  .df-bar a:hover { color: var(--ivory); }
  .df-bar .up { margin-left: auto; }

  /* ── loader: the wordmark draws itself at the size it appears in the hero, then the plate fades in ── */
  .loading { overflow: hidden; }
  #loader { position: fixed; inset: 0; z-index: 200; background: var(--paper); color: var(--ink); transition: opacity 1.1s ease, visibility 0s 1.1s; }
  #loader.done { opacity: 0; visibility: hidden; }
  #loader .ld-logo { position: absolute; inset: 0; display: grid; place-items: center; }
  #loader .ld-logo svg { width: var(--lw); height: auto; overflow: visible; }
  #loader .ld-logo path { fill: none !important; stroke: rgba(107,79,208,.55); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
  #loader .ld-bar { position: absolute; left: 50%; bottom: 12vh; width: 140px; height: 1px; margin-left: -70px; background: rgba(21,19,27,.12); overflow: hidden; }
  #loader .ld-bar i { position: absolute; inset: 0; background: var(--ink); transform-origin: left; transform: scaleX(var(--p, 0)); transition: transform .3s; }
  #loader.done .ld-bar { opacity: 0; transition: opacity .3s; }

  /* ── light sections: the same tokens, flipped to ink on ivory ── */
  .light { --ivory: #15131B; --mist: #5E5868; --rule: rgba(21,19,27,.12); --navy2: rgba(255,255,255,.5); --lav: #6B4FD0; color: #15131B; background: var(--paper); }
  .light .tidy, .light .plan.feat { --ivory: #F4F1EA; --mist: #B5B0C2; --rule: rgba(244,241,234,.13); --lav: #B7AEDA; color: #F4F1EA; }
  .light .btn-ivory { background: var(--ink); color: var(--paper); box-shadow: 0 14px 30px -16px rgba(21,19,27,.6); }
  .light .btn-ivory:hover { background: #2B2735; }
  .light .btn-line { border-color: rgba(21,19,27,.22); color: var(--ink); background: rgba(255,255,255,.4); }
  .light .btn-line:hover { border-color: var(--violet); color: var(--violet); }
  .light .mess { box-shadow: 0 18px 40px -14px rgba(21,19,27,.3); }
  .board::before { content: "Demo dashboard"; opacity: 1; }
  .glassy, .light .values li, .light .plan { background: rgba(255,255,255,.52); backdrop-filter: blur(18px) saturate(1.4); -webkit-backdrop-filter: blur(18px) saturate(1.4); border: 1px solid rgba(255,255,255,.75); box-shadow: 0 30px 60px -42px rgba(21,19,27,.45), inset 0 1px 0 rgba(255,255,255,.8); }
  .light .plan.feat { background: linear-gradient(170deg, #2C2545, #1C1928 60%); border-color: transparent; }
  .haze { position: relative; isolation: isolate; }
  .haze::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(38% 42% at 18% 30%, rgba(183,174,218,.55), transparent 70%), radial-gradient(34% 40% at 82% 70%, rgba(207,200,228,.7), transparent 70%), radial-gradient(28% 30% at 60% 15%, rgba(244,214,200,.45), transparent 70%); }
  .princ { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .pr { position: relative; overflow: hidden; border-radius: 26px; padding: clamp(26px, 3vw, 40px); min-height: 360px; display: flex; flex-direction: column; }
  .pr::before { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(183,174,218,.75), transparent 70%); filter: blur(6px); transition: transform .8s cubic-bezier(.2,.8,.2,1); }
  .pr:hover::before { transform: translate(-30px, 30px) scale(1.2); }
  .pr h3 { position: relative; margin: 0 0 auto; padding-bottom: 40px; font: 400 clamp(44px, 4.6vw, 76px)/.95 var(--serif); letter-spacing: -.025em; }
  .pr p { position: relative; margin: 0 0 18px; font-size: 16.5px; line-height: 1.55; color: #3E3949; }
  .pr small { position: relative; font: italic 400 18px var(--serif); color: var(--violet); }
  .plan .note { grid-column: 1 / -1; margin: 18px 0 0; font-size: 13.5px; color: var(--mist); max-width: 80ch; }
  .plan .note a, .price-note a { color: inherit; }
  .price-note { margin: 18px 0 0; font-size: 13.5px; color: var(--mist); max-width: 90ch; }

  /* ── contact (port of 21st.dev "Contact Form") ── */
  .cf-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: start; max-width: 1180px; }
  .cf-eyebrow { margin: 0 0 10px; font-size: 14px; font-weight: 500; color: var(--mist); }
  .cf-desc { margin: 0; font-size: 18px; color: var(--mist); max-width: 40ch; }
  .cf-details { list-style: none; padding: 0; margin: 32px 0 0; display: grid; gap: 12px; font-size: 15px; color: var(--mist); }
  .cf-details li { display: flex; align-items: center; gap: 12px; }
  .cf-details svg { width: 18px; height: 18px; flex: none; }
  .cf-details a { color: var(--ink); text-underline-offset: 4px; }
  .cf-card { border-radius: 22px; padding: clamp(20px, 2.6vw, 30px); min-width: 0; }
  .cf-form { display: flex; flex-direction: column; gap: 20px; }
  .cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .cf-field { display: grid; gap: 8px; }
  .cf-field label { font-size: 14px; font-weight: 600; }
  .cf-field input, .cf-field textarea { width: 100%; padding: 11px 13px; border-radius: 10px; border: 1px solid rgba(21,19,27,.16); background: rgba(255,255,255,.75); font: 400 16px/1.4 var(--sans); color: var(--ink); }
  .cf-field input::placeholder, .cf-field textarea::placeholder { color: #8A8496; }
  .cf-field textarea { resize: vertical; min-height: 110px; }
  .cf-field input:focus-visible, .cf-field textarea:focus-visible { outline: 2px solid var(--violet); outline-offset: 1px; border-color: transparent; }
  .cf-foot p { margin: 12px 0 0; font-size: 14.5px; } .cf-foot p:empty { margin: 0; }
  .cf-ok { color: #2F6B3F; } .cf-err { color: #A1261C; }
  .cf-foot button { border: 0; cursor: pointer; }
  .cf-foot button[disabled] { opacity: .6; pointer-events: none; }
  /* ── enquiry ── */
  .enq-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 6vw, 100px); align-items: start; }
  .enq-grid .sec-p { margin-bottom: 28px; }
  .enq-alt { display: grid; gap: 10px; justify-items: start; }
  .enq-alt small { color: var(--mist); font-size: 14px; }
  .enq-form { align-items: start; border-radius: 26px; padding: clamp(20px, 3vw, 34px); display: grid; grid-template-columns: 1fr 1fr; gap: 16px 14px; }
  .fld { display: grid; gap: 6px; align-content: start; }
  .fld.full { grid-column: 1 / -1; }
  .fld label { font: 600 14px var(--sans); }
  .fld label span { font-weight: 400; color: var(--mist); }
  .fld input, .fld select, .fld textarea { width: 100%; min-height: 50px; padding: 12px 14px; border-radius: 12px; border: 1px solid rgba(21,19,27,.16); background: rgba(255,255,255,.7); font: 400 16px/1.4 var(--sans); color: var(--ink); }
  .fld textarea { min-height: 120px; resize: vertical; }
  .fld input:focus, .fld select:focus, .fld textarea:focus { outline: 2px solid var(--violet); outline-offset: 1px; border-color: transparent; }
  .fld .hint { font-size: 13px; color: var(--mist); }
  .fld .err { font-size: 13px; color: #A1261C; min-height: 0; }
  .fld.bad input, .fld.bad textarea { border-color: #A1261C; }
  .enq-foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 4px; }
  .enq-foot p { margin: 0; font-size: 13.5px; color: var(--mist); max-width: 46ch; }
  .enq-status { grid-column: 1 / -1; margin: 0; font-size: 15px; }
  .enq-status.ok { color: #2F6B3F; } .enq-status.fail { color: #A1261C; }
  .enq-form button { border: 0; cursor: pointer; }
  .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

  @media (max-width: 960px) {
    .links { display: none; }
    .enq-grid, .enq-form, .cf-grid, .cf-row, .princ { grid-template-columns: 1fr; }
    .pr { min-height: 0; }
    .tagline { top: calc(50% + var(--lw) * 0.2); padding: 0 var(--gutter); }
    .reel { flex-direction: column; align-items: flex-start; gap: 8px; bottom: calc(96px + env(safe-area-inset-bottom)); }
    .lang { margin-left: auto; }
    .hero-copy, .about-copy, .df-top { grid-template-columns: 1fr; }
    .hero-copy { gap: 18px; bottom: 9vh; }
    .shift-head { top: 74px; max-width: 58%; }
    .shift-head .sec-h { font-size: clamp(30px, 8.4vw, 44px); }
    .shift-head p { display: none; }
    .clock { top: 74px; }
    .clock b { font-size: clamp(48px, 14vw, 90px); }
    .clock span { font-size: 20px; }
    .track { bottom: 7vh; gap: 12px; }
    .job { width: 80vw; padding: 18px 18px 16px; }
    .job.on { transform: translateY(-6px); }
    .job h3 { font-size: 22px; }
    .job p { font-size: 14px; margin-bottom: 10px; }
    .ticks li { font-size: 13px; padding-top: 5px; }
    .ss-titles { display: none; }
    .ss-panel { grid-template-columns: 1fr; padding: 70px var(--gutter) 40px; }
    .ss-card-wrap { grid-column: 1; }
    .ss-mtitle { display: block; margin: 0 0 14px; font: 500 34px/1.05 var(--serif); }
    .ss-mtitle small { display: block; font: 400 italic 20px var(--serif); color: rgba(244,241,234,.6); }
    .ss-card svg { padding: 12px 10px 0; }
    .ss-final { left: 10px; right: 10px; top: 12px; }
    .ss-body { padding: 10px 18px 20px; }
    .ss-body > p { font-size: 16px; }
    .ss-caps li { font-size: 13.5px; padding: 8px 10px; }
    .tools-stage { grid-template-columns: 1fr; align-content: center; gap: 22px; padding-top: 64px; }
    .tools-copy .sec-h { font-size: 38px; margin-bottom: 10px; }
    .tools-copy .sec-p { font-size: 15.5px; margin: 0; }
    .tools-copy ul { display: none; }
    .board { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: max(60px, 11svh); gap: 6px; margin-top: 26px; }
    .board::before { top: -28px; font-size: 17px; }
    .tile.w2 { grid-column: span 1; }
    .tile:last-child { display: none; }
    .tile > div { padding: 8px 9px; }
    .mess { font-size: 11px; } .mess b { font-size: 11px; }
    .tidy small { font-size: 11px; line-height: 1.3; } .tidy strong { font-size: 22px; } .tidy em { display: none; }
    .wall-row { grid-template-columns: 1fr 1fr; }
    .wall-row figure:nth-child(n+3) { display: none; }
    .index a { grid-template-columns: 40px 1fr; }
    .index .d { grid-column: 2; }
    .float { display: none; }
    .df-cols { grid-template-columns: 1fr 1fr; }
    .df-cols div:last-child { grid-column: 1 / -1; }
  }
  @media (max-width: 960px) and (max-height: 760px) { .tools-copy .sec-p { display: none; } .job .ticks li:nth-child(n+3) { display: none; } }
  @media (max-width: 560px) { .nav .btn { display: none; } .nav.pill .lang { display: none; } .df-bar .up { margin-left: 0; } }
  @media (prefers-reduced-motion: reduce) { * { transition-duration: .01s !important; } .statement .w { opacity: 1; } .plan.feat::before, .ss-grain { animation: none; } }

  /* ═════ v22 extras (built on top of v21) ═════ */
  /* ink drop: a lavender bloom spreads from the centre as the loader lifts */
  #loader::after { content: ""; position: absolute; left: 50%; top: 50%; width: 40px; height: 40px; margin: -20px 0 0 -20px; border-radius: 50%; background: radial-gradient(circle, rgba(183,174,218,.95), rgba(207,200,228,.6) 45%, rgba(244,241,234,0) 70%); transform: scale(0); pointer-events: none; }
  #loader.done::after { animation: drop 1.4s cubic-bezier(.2,.7,.2,1) forwards; }
  @keyframes drop { 0% { transform: scale(0); opacity: 1; } 60% { opacity: .9; } 100% { transform: scale(80); opacity: 0; } }
  #loader.done { transition-delay: .25s; }

  /* particles when you fall through the l */
  .burst { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; pointer-events: none; }

  /* scroll progress on the pill */
  .nav .prog { position: absolute; left: 22px; right: 22px; bottom: 3px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--violet), var(--lav)); transform-origin: left; transform: scaleX(var(--sp, 0)); opacity: 0; transition: opacity .3s; }
  .nav.pill .prog { opacity: 1; }

  /* day arc: the light warms in the morning, deepens at dusk, clears again by the footer */
  .dayarc { position: fixed; inset: 0; z-index: 55; pointer-events: none; background: var(--arc, transparent); mix-blend-mode: soft-light; }

  /* try the agent */
  .try-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: clamp(32px, 6vw, 100px); align-items: center; }
  .try-langs { display: inline-flex; gap: 6px; padding: 5px; border-radius: 999px; margin: 0 0 18px; }
  .try-langs button, .try-qs button { font: 500 14px/1 var(--sans); cursor: pointer; border-radius: 999px; transition: background .25s, color .25s, border-color .25s; }
  .try-langs button { border: 0; padding: 9px 14px; background: transparent; color: var(--ink); }
  .try-langs button[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
  .try-qs { display: grid; gap: 8px; justify-items: start; }
  .try-qs button { text-align: left; line-height: 1.35; padding: 12px 16px; border: 1px solid rgba(21,19,27,.14); background: rgba(255,255,255,.6); color: var(--ink); }
  .try-qs button:hover { border-color: var(--violet); color: var(--violet); }
  .try-note { margin: 14px 0 0; font-size: 13px; color: var(--mist); }
  .phone { border-radius: 38px; padding: 12px; }
  .phone-in { border-radius: 28px; overflow: hidden; background: #EFE9DF; height: 520px; display: flex; flex-direction: column; }
  .phone-top { display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: #1F1B29; color: #F4F1EA; font-size: 14px; }
  .phone-top i { width: 32px; height: 32px; border-radius: 50%; background: var(--lav); display: grid; place-items: center; font-style: normal; color: var(--ink); font-weight: 700; }
  .phone-top small { display: block; color: #B5B0C2; font-size: 12px; }
  .chat { flex: 1; overflow-y: auto; padding: 16px 12px; display: flex; flex-direction: column; gap: 8px; }
  .msg { max-width: 82%; padding: 9px 12px 10px; border-radius: 14px; font-size: 14.5px; line-height: 1.4; box-shadow: 0 1px 1px rgba(0,0,0,.08); animation: pop .35s cubic-bezier(.2,.8,.2,1); }
  .msg.me { align-self: flex-end; background: #DCF8C6; border-bottom-right-radius: 4px; color: #111; }
  .msg.bot { align-self: flex-start; background: #fff; border-bottom-left-radius: 4px; color: #111; }
  .msg.hand { background: #F1ECFF; border: 1px solid #CFC5F2; }
  .msg.typing { display: inline-flex; gap: 4px; padding: 12px; }
  .msg.typing b { width: 6px; height: 6px; border-radius: 50%; background: #9C95A8; animation: dot 1s infinite; }
  .msg.typing b:nth-child(2) { animation-delay: .15s; } .msg.typing b:nth-child(3) { animation-delay: .3s; }
  @keyframes dot { 0%, 100% { opacity: .3; transform: none; } 50% { opacity: 1; transform: translateY(-2px); } }
  @keyframes pop { from { opacity: 0; transform: translateY(8px) scale(.97); } }

  /* before / after divider on the dashboard */
  .cmp { display: flex; align-items: center; gap: 14px; margin-top: 18px; font-size: 13.5px; color: var(--mist); opacity: 0; transition: opacity .5s; }
  .cmp.on { opacity: 1; }
  .cmp input { flex: 1; max-width: 340px; accent-color: var(--violet); }
  .board .divider { position: absolute; top: -8px; bottom: -8px; width: 3px; margin-left: -1.5px; border-radius: 3px; background: rgba(255,255,255,.85); box-shadow: 0 0 0 1px rgba(107,79,208,.4), 0 0 24px rgba(183,174,218,.9); left: var(--dx, 100%); opacity: 0; pointer-events: none; transition: opacity .3s; z-index: 5; }
  .board.comparing .divider { opacity: 1; }

  /* magnetic glass buttons with a light that follows the pointer */
  .btn { position: relative; overflow: hidden; isolation: isolate; }
  .btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(120px circle at var(--mx, 50%) var(--my, 50%), rgba(183,174,218,.55), transparent 70%); opacity: 0; transition: opacity .3s; }
  .btn:hover::before { opacity: 1; }


  /* language switch: text resolves out of a blur */
  .swap [data-i18n], .swap [data-i18n-html] { animation: resolve .7s cubic-bezier(.2,.8,.2,1); }
  @keyframes resolve { from { filter: blur(10px); opacity: 0; letter-spacing: .06em; } }

  @media (max-width: 960px) {
    .try-grid { grid-template-columns: 1fr; }
    .phone-in { height: 440px; }
  }
  @media (prefers-reduced-motion: reduce) { #loader.done::after, .swap [data-i18n] { animation: none; } }
  .mk-dock .mk-book { display: inline-flex; align-items: center; justify-content: center; }
  /* ── mobile kit: bottom action dock, menu sheet, swipe rows (phones only) ── */
  .mk-menu-btn, .mk-dock, .mk-sheet { display: none; }
  @media (max-width: 760px) {
    .mk-menu-btn { display: inline-grid; place-items: center; width: 44px; height: 44px; margin-left: 4px; border-radius: 50%; border: 1px solid var(--mk-line); background: var(--mk-glass); color: var(--mk-fg); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); cursor: pointer; flex: none; }
    .mk-menu-btn svg { width: 18px; height: 18px; }
    .mk-dock { display: flex; position: fixed; z-index: 80; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); gap: 8px; padding: 8px; border-radius: 999px; background: var(--mk-glass); border: 1px solid var(--mk-line); backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3); box-shadow: 0 18px 40px -18px rgba(0,0,0,.55); transform: translateY(140%); transition: transform .55s cubic-bezier(.2,.9,.2,1); }
    .mk-dock.on { transform: none; }
    .mk-dock a, .mk-dock button { display: inline-grid; place-items: center; height: 48px; border-radius: 999px; border: 0; font: 600 15px/1 var(--mk-font); text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
    .mk-dock .mk-book { flex: 1; background: var(--mk-accent); color: var(--mk-accent-ink); }
    .mk-dock .mk-round { width: 48px; background: transparent; color: var(--mk-fg); border: 1px solid var(--mk-line); }
    .mk-dock .mk-round svg { width: 20px; height: 20px; }
    .mk-sheet { display: flex; flex-direction: column; position: fixed; inset: 0; z-index: 90; padding: calc(18px + env(safe-area-inset-top)) 22px calc(22px + env(safe-area-inset-bottom)); background: var(--mk-sheet); color: var(--mk-fg); visibility: hidden; clip-path: circle(0% at calc(100% - 40px) 40px); transition: clip-path .7s cubic-bezier(.7,0,.2,1), visibility 0s .7s; }
    .mk-sheet.on { visibility: visible; clip-path: circle(150% at calc(100% - 40px) 40px); transition: clip-path .7s cubic-bezier(.7,0,.2,1); }
    .mk-sheet-top { display: flex; align-items: center; justify-content: space-between; }
    .mk-sheet-top .mk-logo svg { height: 24px; width: auto; display: block; color: var(--mk-fg); }
    .mk-close { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--mk-line); background: transparent; color: var(--mk-fg); display: grid; place-items: center; cursor: pointer; }
    .mk-close svg { width: 18px; height: 18px; }
    .mk-sheet nav { margin: auto 0; display: grid; }
    .mk-sheet nav a { display: flex; align-items: baseline; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--mk-line); font: var(--mk-link-font); color: var(--mk-fg); text-decoration: none; opacity: 0; transform: translateY(24px); transition: opacity .5s, transform .6s cubic-bezier(.2,.9,.2,1); }
    .mk-sheet nav a small { font: 500 13px var(--mk-font); color: var(--mk-muted); }
    .mk-sheet.on nav a { opacity: 1; transform: none; transition-delay: calc(.25s + var(--i) * 60ms); }
    .mk-sheet-ctas { display: grid; gap: 10px; }
    .mk-sheet-ctas a { display: grid; place-items: center; height: 54px; border-radius: 999px; font: 600 16px var(--mk-font); text-decoration: none; border: 1px solid var(--mk-line); color: var(--mk-fg); }
    .mk-sheet-ctas a:first-child { background: var(--mk-accent); color: var(--mk-accent-ink); border-color: transparent; }
    .mk-snap { display: flex !important; grid-template-columns: none !important; gap: 12px !important; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--gutter) * -1) !important; padding: 6px var(--gutter) 10px !important; scroll-padding-inline: var(--gutter); }
    .mk-snap::-webkit-scrollbar { display: none; }
    .mk-snap > * { flex: 0 0 84%; scroll-snap-align: start; min-width: 0; }
    .mk-dots { display: flex; justify-content: center; gap: 6px; margin-top: 12px; }
    .mk-dots i { width: 6px; height: 6px; border-radius: 999px; background: var(--mk-line); transition: width .35s, background .35s; }
    .mk-dots i.on { width: 22px; background: var(--mk-accent); }
    body.mk-locked { overflow: hidden; }
  }
  @media (prefers-reduced-motion: reduce) { .mk-dock, .mk-sheet, .mk-sheet nav a { transition: none !important; } }

  /* ── light beam footer (port of 21st.dev "Light Beam Footer with Giant Wordmark") ── */
  .bwf { position: relative; isolation: isolate; overflow: hidden; container-type: inline-size; background: var(--bwf-bg); color: var(--bwf-ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; touch-action: pan-y; }
  :where(.bwf) a { color: inherit; text-decoration: none; }
  :where(.bwf) ul { list-style: none; margin: 0; padding: 0; }
  :where(.bwf) p { margin: 0; }
  .bwf svg { max-width: none; display: block; }
  .bwf .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .bwf-rule { position: absolute; left: 0; right: 0; top: 0; height: 1px; z-index: 3; background: linear-gradient(90deg, rgba(var(--bwf-acc),.15), rgba(var(--bwf-acc),.55) var(--bwf-b), rgba(var(--bwf-acc),.15)); }
  .bwf-sky { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
  .bwf-wash { position: absolute; inset: 0; background: radial-gradient(120% 90% at 8% 0%, rgba(var(--bwf-acc),.2), transparent 55%), radial-gradient(90% 70% at 92% 8%, rgba(var(--bwf-acc),.14), transparent 60%), linear-gradient(180deg, rgba(var(--bwf-acc),.06), transparent 70%); }
  .bwf-bands { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(var(--bwf-acc),.05) 0 1.6cqw, transparent 1.6cqw 4.2cqw); -webkit-mask-image: linear-gradient(100deg, #000 0%, transparent 55%); mask-image: linear-gradient(100deg, #000 0%, transparent 55%); opacity: .9; }
  .bwf-beam { position: absolute; inset: 0 -22%; will-change: transform; animation: bwf-drift 28s ease-in-out infinite alternate; filter: blur(calc(1px + 1.6cqw)); background: linear-gradient(var(--bwf-ang), transparent calc(var(--bwf-b) - 11%), rgba(var(--bwf-acc),.10) calc(var(--bwf-b) - 5%), rgba(var(--bwf-acc),.34) var(--bwf-b), rgba(var(--bwf-acc),.08) calc(var(--bwf-b) + 4%), transparent calc(var(--bwf-b) + 9%)), linear-gradient(var(--bwf-ang), transparent calc(var(--bwf-b) - 34%), rgba(var(--bwf-acc),.10) calc(var(--bwf-b) - 27%), transparent calc(var(--bwf-b) - 20%)); }
  @keyframes bwf-drift { from { transform: translate3d(-9%, 0, 0); } to { transform: translate3d(9%, 0, 0); } }
  .bwf-grain { position: absolute; inset: 0; opacity: .14; mix-blend-mode: overlay; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }
  .bwf-inner { position: relative; z-index: 2; box-sizing: border-box; max-width: 1240px; margin: 0 auto; padding: clamp(56px, 8.5cqw, 110px) clamp(20px, 6cqw, 88px) 0; display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, .8fr)); column-gap: clamp(24px, 4cqw, 48px); row-gap: 44px; }
  .bwf-label { font-size: 12.5px; line-height: 1; letter-spacing: .01em; color: rgb(var(--bwf-acc)); padding-bottom: 13px; position: relative; display: block; }
  .bwf-label::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, rgba(var(--bwf-acc),.55), rgba(var(--bwf-acc),.28)); transform-origin: 0 50%; transform: scaleX(var(--bwf-line, 1)); transition: transform 1.1s cubic-bezier(.2,.7,.1,1) var(--bwf-d, 0ms); }
  .bwf[data-in="false"] .bwf-label::after { --bwf-line: 0; }
  .bwf-col { min-width: 0; }
  .bwf-col:nth-child(1) { max-width: 420px; }
  .bwf-fade { transition: opacity .9s ease var(--bwf-d, 0ms), translate .9s cubic-bezier(.2,.7,.1,1) var(--bwf-d, 0ms); }
  .bwf[data-in="false"] .bwf-fade { opacity: 0; translate: 0 14px; }
  .bwf-socials { display: flex; gap: 14px; margin-top: 13px; }
  .bwf-soc { position: relative; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 6px; color: rgba(var(--bwf-ink-rgb),.62); background: linear-gradient(180deg, rgba(var(--bwf-ink-rgb),.09), rgba(var(--bwf-ink-rgb),.025)); box-shadow: inset 0 0 0 1px rgba(var(--bwf-ink-rgb),.16), inset 0 1px 0 rgba(var(--bwf-ink-rgb),.14), 0 6px 14px -8px rgba(0,0,0,.8); transition: color .25s, box-shadow .35s, translate .35s cubic-bezier(.2,.8,.2,1), background .35s; }
  .bwf-soc svg { width: 17px; height: 17px; }
  .bwf-soc:hover, .bwf-soc:focus-visible { color: var(--bwf-ink); translate: 0 -2px; background: linear-gradient(180deg, rgba(var(--bwf-acc),.32), rgba(var(--bwf-acc),.08)); box-shadow: inset 0 0 0 1px rgba(var(--bwf-acc),.75), inset 0 1px 0 rgba(var(--bwf-ink-rgb),.3), 0 10px 26px -8px rgba(var(--bwf-acc),.75); }
  .bwf-credits { margin-top: 21px; font-size: 14px; line-height: 1.5; color: var(--bwf-muted); }
  .bwf-credits p + p { margin-top: 4px; }
  .bwf-credits b { font-weight: 400; color: var(--bwf-ink); }
  .bwf-credits em { font: italic 400 19px/1.3 var(--serif); color: var(--bwf-ink); }
  .bwf-credits a { color: var(--bwf-ink); background: linear-gradient(rgb(var(--bwf-acc)), rgb(var(--bwf-acc))) 0 100% / 0 1px no-repeat; transition: background-size .35s cubic-bezier(.2,.8,.2,1); }
  .bwf-credits a:hover, .bwf-credits a:focus-visible { background-size: 100% 1px; }
  .bwf-links { margin-top: 13px; display: flex; flex-direction: column; }
  .bwf-link { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; font-size: 14.5px; line-height: 21px; color: rgba(var(--bwf-ink-rgb),.78); transition: color .25s; }
  .bwf-link-t { display: inline-block; transition: translate .35s cubic-bezier(.2,.8,.2,1); }
  .bwf-link::before { content: ""; position: absolute; left: 0; top: 50%; width: 6px; height: 1px; background: rgb(var(--bwf-acc)); transform: scaleX(0); transform-origin: 0 50%; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
  .bwf-link:hover, .bwf-link:focus-visible { color: #fff; }
  .bwf-link:hover::before, .bwf-link:focus-visible::before { transform: scaleX(1); }
  .bwf-link:hover .bwf-link-t, .bwf-link:focus-visible .bwf-link-t { translate: 12px 0; }
  .bwf-word { position: relative; z-index: 1; overflow: hidden; margin-top: clamp(28px, 7cqw, 96px); }
  .bwf-word-box { padding: 0 clamp(20px, 6cqw, 88px); max-width: 1240px; margin: 0 auto; box-sizing: border-box; }
  .bwf-word-in { display: inline-flex; white-space: nowrap; font-family: var(--serif); font-weight: 500; line-height: 1; letter-spacing: -.035em; user-select: none; -webkit-user-select: none; }
  .bwf-lw { display: inline-block; translate: 0 0; transition: translate 1.25s cubic-bezier(.16,.84,.2,1) var(--bwf-d, 0ms); }
  .bwf[data-in="false"] .bwf-lw { translate: 0 85%; }
  .bwf-l { display: inline-block; cursor: pointer; color: transparent; -webkit-background-clip: text; background-clip: text; background-repeat: no-repeat; background-size: var(--bwf-rw) var(--bwf-rh); background-position: calc(var(--bwf-x) * -1) calc(var(--bwf-y) * -1);
    background-image: linear-gradient(var(--bwf-ang), transparent calc(var(--bwf-b) - 9%), rgba(var(--bwf-lit),.55) calc(var(--bwf-b) - 1.5%), rgba(var(--bwf-lit),.7) var(--bwf-b), rgba(var(--bwf-lit),.2) calc(var(--bwf-b) + 3.5%), transparent calc(var(--bwf-b) + 8%)),
      linear-gradient(180deg, var(--bwf-wt) var(--bwf-top), var(--bwf-wf) var(--bwf-bot));
    transition: transform .5s cubic-bezier(.2,.9,.25,1.2), filter .4s; transform-origin: 50% 100%; }
  .bwf-l:hover { transform: translateY(-.045em); filter: brightness(1.35) saturate(1.1); }
  .bwf-l.is-hop { animation: bwf-hop .75s cubic-bezier(.2,.8,.2,1); }
  @keyframes bwf-hop { 0% { transform: translateY(0) scale(1,1); } 18% { transform: translateY(.02em) scale(1.06,.9); } 45% { transform: translateY(-.14em) scale(.97,1.05); } 70% { transform: translateY(.01em) scale(1.02,.97); } 100% { transform: translateY(-.045em) scale(1,1); } }
  .bwf-foot { position: absolute; left: 0; right: 0; bottom: 0; height: 34%; z-index: 2; pointer-events: none; background: linear-gradient(180deg, transparent, rgba(var(--bwf-bg-rgb),.55) 55%, var(--bwf-bg)); }
  @container (max-width: 760px) { .bwf-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 40px; } .bwf-col:nth-child(1) { grid-column: 1 / -1; max-width: none; } }
  @media (prefers-reduced-motion: reduce) { .bwf .bwf-beam, .bwf .bwf-lw, .bwf .bwf-fade, .bwf .bwf-label::after, .bwf .bwf-l, .bwf .bwf-soc, .bwf .bwf-link-t { transition: none !important; animation: none !important; } }
  /* v23: the copyright line sits at the very bottom, under the wordmark */
  .bwf-legal { position: relative; z-index: 3; box-sizing: border-box; max-width: 1240px; margin: 0 auto; padding: 14px clamp(20px, 6cqw, 88px) calc(16px + env(safe-area-inset-bottom)); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; font-size: 13px; color: var(--bwf-muted); border-top: 1px solid rgba(var(--bwf-ink-rgb),.1); }
  .bwf-legal-links { display: flex; gap: 22px; }
  .bwf-legal a { color: inherit; transition: color .2s; }
  .bwf-legal a:hover, .bwf-legal a:focus-visible { color: var(--bwf-ink); }

  /* ═════ v23 ═════ */
  @view-transition { navigation: auto; }
  .links a[aria-current="page"] { color: var(--ink); }

  /* loader: a small breathing emblem and a line filling along the bottom edge (no wordmark drawing) */
  #loader .ld-mark { position: absolute; left: 50%; top: 50%; width: 40px; transform: translate(-50%, -60%); color: var(--lav2); animation: ldBreath 2.4s ease-in-out infinite; }
  #loader .ld-mark svg { width: 100%; height: auto; display: block; }
  #loader .ld-mark path { fill: currentColor; }
  #loader .ld-tag { position: absolute; left: 0; right: 0; top: calc(50% + 46px); margin: 0; padding: 0 var(--gutter); text-align: center; font: italic 400 17px/1.3 var(--serif); color: #5E5868; letter-spacing: .01em; }
  #loader .ld-bar { left: 0; right: 0; bottom: 0; width: auto; height: 2px; margin: 0; background: rgba(21,19,27,.06); }
  #loader .ld-bar i { background: linear-gradient(90deg, var(--lav), var(--violet)); }
  @keyframes ldBreath { 0%, 100% { opacity: .45; } 50% { opacity: 1; } }

  /* hero: the outline and lavender wash are drawn by the shader, so the SVG layers only serve the fallback */
  .gl .zoomer { display: none; }
  .glow { mix-blend-mode: normal; opacity: .5; }
  .gl .glow { display: none; }
  .stage .hvid.hd { opacity: 0; transition: opacity .8s ease; }
  .stage .hvid.hd.on { opacity: 1; }
  .hero-copy h1 { font-size: clamp(46px, min(7.4vw, 14vh), 132px); }
  .hero-copy p { max-width: 48ch; }
  .hero-copy h1 em { display: block; }

  /* problems: title row, then the cards, then the bar. A grid, so the cards can never ride up over the title */
  .shift-stage { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto auto; padding: clamp(100px, 17vh, 160px) 0 clamp(14px, 3vh, 34px); }
  .shift-top { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding: 0 var(--gutter); }
  .shift-head { position: static; flex: 1 1 auto; min-width: 0; max-width: 1200px; }
  .shift-head .sec-h { font-size: clamp(34px, min(4.6vw, 8vh), 82px); max-width: none; }
  .shift-head .sec-h em { display: block; }
  .clock { position: static; flex: none; }
  .clock b { font-size: clamp(54px, min(10vw, 17vh), 180px); }
  .shift-gap { grid-row: 2; }
  .track { position: relative; left: auto; bottom: auto; grid-row: 3; padding-top: 14px; justify-self: start; width: max-content; }
  .shift-bar { position: relative; left: auto; right: auto; bottom: auto; grid-row: 4; margin: clamp(12px, 2.6vh, 30px) var(--gutter) 0; }
  /* desktop: the title sits centred on two lines with the counter to its right; every card keeps all its details,
     and the type scales with the screen height instead of anything being hidden */
  @media (min-width: 961px) {
    .shift-top { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; }
    .shift-head { grid-column: 2; text-align: center; max-width: none; }
    .shift-head .sec-h { font-size: clamp(32px, min(4.4vw, 7vh), 80px); margin: 0 0 clamp(6px, 1.4vh, 12px); }
    .shift-head p { margin: 0 auto; font-size: clamp(14px, 2.2vh, 16px); }
    .clock { grid-column: 3; justify-self: end; }
    .clock b { font-size: clamp(48px, min(8vw, 14vh), 160px); }
    .clock span { font-size: clamp(18px, 3.2vh, 34px); }
    .job { width: clamp(300px, 30vw, 420px); padding: clamp(14px, 2.6vh, 24px) clamp(18px, 1.8vw, 24px) clamp(12px, 2.2vh, 20px); }
    .job .when { font-size: clamp(16px, 2.8vh, 20px); margin-bottom: clamp(4px, 1vh, 8px); }
    .job h3 { font-size: clamp(18px, 3.3vh, 25px); margin-bottom: clamp(6px, 1.2vh, 10px); }
    .job p { font-size: clamp(13px, 2.2vh, 15px); margin-bottom: clamp(8px, 1.6vh, 14px); }
    .ticks li { font-size: clamp(12.5px, 2vh, 14px); padding-top: clamp(3px, .8vh, 7px); }
    .ticks li::before { width: 12px; height: 12px; }
  }

  /* statement with the sculpture beside it */
  .statement { padding: clamp(90px, 14vh, 180px) var(--gutter); }
  .st-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 72px); align-items: center; }
  .statement .big { font-size: clamp(32px, min(3.9vw, 7.4vh), 74px); }
  .sculpt { position: relative; height: min(72vh, 720px); min-height: 320px; touch-action: pan-y; background: center / contain no-repeat; }
  .sc-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
  .sc-hint { position: absolute; left: 50%; bottom: 4%; transform: translateX(-50%); font: italic 400 16px var(--serif); color: var(--mist); white-space: nowrap; opacity: 0; transition: opacity .6s; pointer-events: none; }
  .sculpt[data-gl="on"] .sc-hint { opacity: 1; }
  .sculpt:hover .sc-hint { opacity: 0; }

  /* services stack: keep the card inside the screen on short laptops */
  @media (min-width: 961px) { .ss-card-wrap { width: min(100%, calc((100vh - 360px) * 2.1)); justify-self: end; } }
  @media (min-width: 961px) and (max-height: 760px) { .ss-panel { padding-top: 34px; padding-bottom: 34px; } .ss-body { padding: 12px 26px 20px; } .ss-body > p { font-size: 16px; } .ss-lt { margin: 14px 0 8px !important; } .ss-caps li { padding: 7px 10px; font-size: 14px; } }
  .act h3 { font-size: clamp(56px, min(10vw, 19vh), 180px); }
  .final h2 { font-size: clamp(56px, min(10.5vw, 19vh), 196px); }

  /* about: the title rides over the photos, then settles in its own band, with the same space above and below */
  .wall { --th: calc(2 * .92 * clamp(48px, 8.4vw, 156px)); --gap: clamp(64px, 12vh, 150px); padding: 18vh var(--gutter) clamp(80px, 12vh, 150px); }
  .wall-pin { position: relative; padding-bottom: calc(var(--th) + 2 * var(--gap)); }
  .wall-title { top: calc(50vh - var(--th) / 2); margin-bottom: calc(-1 * var(--th)); }
  .wall-title h1 { font: 500 clamp(48px, 8.4vw, 156px)/0.92 var(--serif); letter-spacing: -.03em; margin: 0; color: #fff; }
  .wall-title h1 em { font-weight: 400; }
  .about-copy { position: relative; z-index: 1; margin-top: 0; }

  /* inner pages */
  .phead { padding: clamp(150px, 24vh, 240px) var(--gutter) clamp(50px, 8vh, 100px); }
  .phead .sec-h { font-size: clamp(52px, min(8vw, 15vh), 140px); max-width: 14ch; }
  .phead .sec-p { margin-bottom: 30px; }
  .chips { display: flex; flex-wrap: wrap; gap: 8px; }
  .chips a { padding: 10px 16px; border-radius: 999px; border: 1px solid var(--rule); background: rgba(255,255,255,.55); text-decoration: none; font-size: 14.5px; color: var(--ink); transition: border-color .2s, color .2s; }
  .chips a:hover { border-color: var(--violet); color: var(--violet); }
  .svc { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 100px); align-items: center; padding: clamp(70px, 12vh, 140px) var(--gutter); position: relative; }
  .svc.flip .svc-copy { order: 2; }
  .svc-n { font: italic 400 22px var(--serif); color: var(--mist); margin: 0 0 6px; }
  .svc .sec-h { font-size: clamp(44px, 5vw, 88px); margin-bottom: 18px; }
  .svc .sec-p { margin-bottom: 26px; }
  .svc-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; border-top: 1px solid var(--rule); }
  .svc-list li { padding: 11px 0; border-bottom: 1px solid var(--rule); font-size: 15.5px; }
  .svc-more { margin: 26px 0 0; }
  .svc-vis { position: relative; aspect-ratio: 1280 / 560; }
  .svc-vis .ss-final, .svc-vis .fin-app { left: 0; right: 0; top: 0; opacity: 1; }
  .svc-vis:has(.proto), .svc-vis:has(.req) { aspect-ratio: auto; }
  .proto { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; counter-reset: p; }
  .proto li { border-radius: 20px; padding: 22px 26px; display: grid; grid-template-columns: 34px 1fr; column-gap: 8px; }
  .proto li::before { content: counter(p) "."; counter-increment: p; grid-row: span 2; font: italic 400 22px/1.3 var(--serif); color: var(--violet); }
  .proto b { font: 500 28px/1.1 var(--serif); }
  .proto span { color: var(--mist); font-size: 15.5px; }
  .req { border-radius: 22px; padding: 24px 26px; display: grid; gap: 8px; }
  .req p { margin: 0; }
  .req .req-h { margin-bottom: 6px; font: italic 400 22px var(--serif); color: var(--violet); }
  .req p:not(.req-h) { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.6); font-size: 15.5px; }
  .req em { font-style: normal; font-weight: 600; font-size: 13px; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
  .req .g { color: #2F8F5B; background: #E3F4EA; } .req .a { color: #A0561B; background: #FBEBDD; } .req .v { color: #5A3FC0; background: #ECE7FB; }
  .endcap { text-align: center; padding-bottom: clamp(110px, 18vh, 200px); }
  .endcap .sec-h, .endcap .sec-p { margin-left: auto; margin-right: auto; }
  .endcap .ctas { justify-content: center; }
  body[data-page="contact"] #enquire { padding-top: clamp(140px, 22vh, 220px); }

  /* headlines sharpen once on arrival */
  .sec-h, .final h2, .wall-title h1 { font-variation-settings: "opsz" 96; }

  @media (max-width: 960px) {
    .shift-stage { padding-top: 74px; }
    .shift-head { max-width: none; }
    .shift-head .sec-h { font-size: clamp(30px, 8.4vw, 44px); }
    .track { bottom: auto; }
    .st-grid, .svc { grid-template-columns: 1fr; }
    .svc.flip .svc-copy { order: 0; }
    .sculpt { height: 58vh; min-height: 300px; }
    .svc-list { grid-template-columns: 1fr; }
    .phead { padding-top: 130px; }
  }
  @media (prefers-reduced-motion: reduce) { #loader .ld-mark { animation: none; } .sec-h, .final h2, .wall-title h1 { font-variation-settings: "opsz" 96; } }

  /* the page width never changes while the loader hides the scrollbar, so nothing nudges sideways */
  html { scrollbar-gutter: stable; }

  /* WhatsApp demo: heading, questions and phone fit one screen below the nav */
  #try { min-height: 100svh; display: grid; align-content: center; padding-top: clamp(92px, 15vh, 140px); padding-bottom: clamp(20px, 5vh, 70px); }
  #try .sec-h { font-size: clamp(38px, min(5.2vw, 10vh), 96px); margin-bottom: clamp(8px, 1.6vh, 18px); }
  #try .sec-p { font-size: clamp(15px, 2.4vh, 18px); margin-bottom: clamp(12px, 2.6vh, 28px); }
  .try-langs { margin-bottom: clamp(10px, 2vh, 18px); }
  .try-qs button { padding: clamp(8px, 1.5vh, 12px) 16px; }
  .try-note { margin-top: clamp(8px, 1.6vh, 14px); }
  .try-grid { grid-template-columns: minmax(0, 1fr) minmax(0, min(420px, calc((100svh - 190px) * .78))); }
  .phone { padding: 10px; border-radius: 34px; }
  .phone-in { height: clamp(300px, calc(100svh - 200px), 560px); }

  /* nav pill: liquid glass (after the 21st.dev "Liquid Glass Navbar" look): clear frosted body, bright rim, a soft
     iridescent edge, and a glass bubble under the link you point at */
  .nav.pill { background: linear-gradient(180deg, rgba(255,255,255,.46), rgba(244,241,234,.26)); backdrop-filter: blur(22px) saturate(1.9) brightness(1.08); -webkit-backdrop-filter: blur(22px) saturate(1.9) brightness(1.08);
    border: 1px solid rgba(255,255,255,.5);
    box-shadow: inset 0 1px 1px rgba(255,255,255,.95), inset 0 -1px 1px rgba(255,255,255,.3), inset 0 12px 22px -14px rgba(255,255,255,.8), inset 0 -10px 20px -16px rgba(183,174,218,.5), 0 22px 48px -22px rgba(21,19,27,.5), 0 2px 8px rgba(21,19,27,.07); }
  .nav.pill::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; pointer-events: none;
    background: conic-gradient(from 200deg, rgba(255,255,255,.9), rgba(183,174,218,.75), rgba(242,190,170,.55), rgba(255,255,255,.9), rgba(160,200,230,.5), rgba(183,174,218,.7), rgba(255,255,255,.9));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: .85; }
  .nav.pill .links { gap: 4px; }
  .nav.pill .links a { position: relative; display: block; padding: 8px 13px; border-radius: 999px; color: #2E2A38; transition: color .2s, background .3s, box-shadow .3s; }
  .nav.pill .links a:hover, .nav.pill .links a[aria-current="page"] { color: var(--ink); background: rgba(255,255,255,.55); box-shadow: inset 0 1px 1px rgba(255,255,255,.95), inset 0 0 0 1px rgba(183,174,218,.55), 0 6px 14px -8px rgba(107,79,208,.45); }
  .nav.pill .lang { background: rgba(255,255,255,.35); border-color: rgba(255,255,255,.6); }
  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .nav.pill { background: rgba(244,241,234,.94); } }

  /* less purple at the start: the server-room footage and the sky over it stay close to neutral */
  /* the colour treatment is baked into these files, so the browser does no per-frame filtering */
  .shift-bg, .acts-stage video { filter: none; }
  @media (max-width: 760px) { .ss-grain { animation: none; } }
  .sky { background: radial-gradient(70% 60% at 80% 10%, rgba(183,174,218,.10), transparent 70%), linear-gradient(180deg, rgba(21,19,27,.6), rgba(21,19,27,.15) 40%, rgba(21,19,27,.92)); }

  /* ═════ Apple-style liquid glass (after 21st.dev "Liquid Glass Button", designali-in): almost clear, strongly
     blurred and saturated, a bright specular edge top-left, a soft one bottom-right, and an inner glow.
     It tints itself light or dark from what is behind it, so text stays readable. ═════ */
  :root {
    --lg-fill: rgba(255,255,255,.22); --lg-ink: #1F1B29; --lg-sub: #3A3545;
    --lg-edge: inset 0 0 0 .5px rgba(255,255,255,.42), inset 1.5px 1.5px 1px -1px rgba(255,255,255,.98), inset -1.5px -1.5px 1px -1px rgba(255,255,255,.7), inset 0 0 14px 3px rgba(255,255,255,.16), inset 0 -10px 18px -12px rgba(21,19,27,.16);
    --lg-drop: 0 12px 32px -14px rgba(21,19,27,.42), 0 1px 3px rgba(21,19,27,.1);
    --lg-blur: blur(14px) saturate(1.7);
  }
  .nav.pill, .mk-dock, .mk-menu-btn, .mk-close, .mk-dock .mk-round, .btn-line, .try-langs, .chips a, .nav.pill .lang {
    background: var(--lg-fill); border: 0; box-shadow: var(--lg-edge), var(--lg-drop); backdrop-filter: none; -webkit-backdrop-filter: none;
  }
  /* only the two pieces that float over moving content blur what is behind them; everything else sits on a calm
     background, where a blur costs a frame budget and shows nothing, so it uses the same edges with a fill */
  .nav.pill, .mk-dock { backdrop-filter: var(--lg-blur); -webkit-backdrop-filter: var(--lg-blur); }
  .mk-menu-btn, .mk-dock .mk-round, .nav.pill .lang { box-shadow: var(--lg-edge); }
  .btn-line { --lg-fill: rgba(255,255,255,.12); }
  .job { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(32,29,41,.84); }
  .job.on { background: rgba(42,38,51,.92); }
  .glassy, .light .values li, .light .plan { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(255,255,255,.64); }
  .nav.pill::before { display: none; }
  .nav.pill { transition: transform .6s cubic-bezier(.2,.8,.2,1), background .4s, color .4s; }
  .nav.pill .links a { color: var(--lg-sub); }
  .nav.pill .links a:hover, .nav.pill .links a[aria-current="page"] { color: var(--lg-ink); background: rgba(255,255,255,.34); box-shadow: inset 1px 1px 1px -.5px rgba(255,255,255,.95), inset -1px -1px 1px -.5px rgba(255,255,255,.5), inset 0 0 8px rgba(255,255,255,.2); }
  /* over dark sections the same glass reads as smoked glass with light text */
  .nav.pill.on-dark, .mk-dock.on-dark { --lg-fill: rgba(28,25,36,.32); --lg-ink: #F4F1EA; --lg-sub: #D9D5E2; color: #F4F1EA; --nk-bird: var(--lav);
    --lg-edge: inset 0 0 0 .5px rgba(255,255,255,.18), inset 1.5px 1.5px 1px -1px rgba(255,255,255,.55), inset -1.5px -1.5px 1px -1px rgba(255,255,255,.25), inset 0 0 14px 3px rgba(255,255,255,.06); }
  .nav.pill.on-dark .logo svg, .nav.pill.on-dark .lang { color: #F4F1EA; }
  .nav.pill.on-dark .lang option { color: var(--ink); }
  .nav.pill.on-dark .links a:hover { background: rgba(255,255,255,.12); }
  .nav.pill.on-dark .mk-menu-btn, .mk-dock.on-dark .mk-round { color: #F4F1EA; }
  .nav.pill .btn { box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 6px 14px -8px rgba(0,0,0,.5); }
  .btn-line { color: var(--ivory); }
  .light .btn-line { --lg-fill: rgba(255,255,255,.45); color: var(--ink); }
  .light .btn-line:hover { color: var(--violet); }
  .chips a { --lg-fill: rgba(255,255,255,.5); }
  .try-langs { --lg-fill: rgba(255,255,255,.4); }

  /* ═════ phones ═════ */
  @media (max-width: 760px) {
    :root { --bar: calc(100lvh - 100svh); }
    /* sticky stages fill the tallest screen, so nothing shows through when the address bar hides;
       anything pinned to the bottom is lifted clear of the bar and the dock */
    .stage, .shift-stage, .acts-stage, .credits-stage, .tools-stage { height: 100lvh; }
    .reel { bottom: calc(96px + env(safe-area-inset-bottom) + var(--bar)); }
    .hero-copy { bottom: calc(9svh + var(--bar) + 70px); }
    .shift-stage { padding-bottom: calc(92px + env(safe-area-inset-bottom) + var(--bar)); }
    .act { bottom: calc(15svh + var(--bar)); }
    .scrub { bottom: calc(96px + var(--bar)); }
    .credits-stage { padding-bottom: var(--bar); }
    .nav:not(.pill) .lang { display: none; }
    .nav.pill { gap: 14px; padding: 6px 6px 6px 18px; }
    .mk-menu-btn { border: 0; }
    .mk-dock { left: 50%; right: auto; width: min(420px, calc(100% - 24px)); transform: translate(-50%, 140%); border: 0; }
    .mk-dock.on { transform: translate(-50%, 0); }
    .mk-dock .mk-book { box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 6px 14px -8px rgba(0,0,0,.6); }
    .mk-dock .mk-round { border: 0; }
    .mk-sheet { background: rgba(244,241,234,.72); backdrop-filter: blur(30px) saturate(1.8); -webkit-backdrop-filter: blur(30px) saturate(1.8); }
    .mk-sheet nav a { font: 500 34px/1.05 var(--serif); padding: 14px 0; }
    .mk-lang { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; font: 500 14px var(--sans); color: var(--mk-muted); }
    .mk-lang .lang { display: block; margin: 0; height: 44px; padding: 0 14px; border-radius: 999px; background: rgba(255,255,255,.5); border: 0; box-shadow: var(--lg-edge); font-size: 15px; }
    /* services: a calm list of full cards on phones */
    .ss-panel { position: relative; top: auto !important; min-height: 0; padding: 44px var(--gutter) 20px; }
    .ss-panel:first-of-type { padding-top: 90px; }
    .ss-panel:last-of-type { padding-bottom: 90px; }
    .ss-card-wrap { transform: none !important; opacity: 1 !important; }
    /* WhatsApp demo: one column, phone below the questions */
    #try { min-height: 0; display: block; padding-top: 96px; }
    .try-grid { grid-template-columns: 1fr; gap: 28px; }
    .phone-in { height: 440px; }
    .try-qs button { font-size: 15px; }
    .svc-vis:not(:has(.proto)):not(:has(.req)) { margin-inline: calc(var(--gutter) * -.4); }
  }
  .mk-dock.on-dark .mk-book { background: #F4F1EA; color: #15131B; }

  /* problems: the card slide, the progress bar and the dawn light follow the scroll on the compositor */
  #shift { view-timeline: --shift block; }
  .sdt .track { animation: shiftTrack linear both; animation-timeline: --shift; animation-range: contain 0% contain 100%; will-change: transform; }
  .sdt .shift-bar i { animation: shiftBar linear both; animation-timeline: --shift; animation-range: contain 0% contain 100%; }
  .sdt .dawn { animation: shiftDawn linear both; animation-timeline: --shift; animation-range: contain 0% contain 100%; }
  @keyframes shiftTrack { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(calc(var(--dist, 0px) * -1), 0, 0); } }
  @keyframes shiftBar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  @keyframes shiftDawn { 0%, 55% { opacity: 0; } 80% { opacity: .35; } 100% { opacity: 1; } }
  @media (max-width: 760px) { .job { transition: border-color .4s, background .4s, transform .5s cubic-bezier(.2,.8,.2,1); } .job.on { box-shadow: none; } }
  @media (max-width: 760px) { .shift-stage { padding-top: 100px; } }

  /* ═════ production pages: legal, blog, 404 ═════ */
  .bwf-addr { font-style: normal; font-size: 13.5px; line-height: 1.55; color: var(--bwf-muted); padding: 6px 0; display: block; }
  .doc { position: relative; padding: clamp(130px, 20vh, 200px) var(--gutter) clamp(80px, 12vh, 140px); }
  .doc-head { max-width: 760px; margin: 0 0 clamp(28px, 5vh, 48px); }
  .doc-head .sec-h { font-size: clamp(44px, 6vw, 88px); max-width: 18ch; }
  .doc-meta { margin: 0 0 14px; font-size: 14px; color: var(--mist); }
  .doc-meta a { color: inherit; }
  .doc-cover { width: 100%; max-width: 980px; border-radius: 22px; margin: 0 0 40px; }
  .prose { max-width: 68ch; font-size: 17.5px; line-height: 1.7; color: #2E2A38; }
  .prose h2 { font: 500 clamp(26px, 2.6vw, 36px)/1.15 var(--serif); margin: 2em 0 .5em; color: var(--ink); }
  .prose h3 { font: 600 19px/1.3 var(--sans); margin: 1.6em 0 .4em; color: var(--ink); }
  .prose p, .prose ul, .prose ol { margin: 0 0 1.1em; }
  .prose ul, .prose ol { padding-left: 1.2em; }
  .prose li { margin: .3em 0; }
  .prose a { color: var(--violet); text-underline-offset: 3px; }
  .prose strong { color: var(--ink); font-weight: 600; }
  .prose blockquote { margin: 1.4em 0; padding: 4px 0 4px 20px; border-left: 2px solid var(--lav); font: italic 400 21px/1.5 var(--serif); color: var(--ink); }
  .prose img { max-width: 100%; border-radius: 14px; }
  .prose code { font-size: .92em; padding: .1em .35em; border-radius: 6px; background: rgba(21,19,27,.06); }
  .blog-list { padding-top: 0; }
  .blog-empty { max-width: 56ch; font-size: 18px; color: var(--mist); }
  .blog-empty a { color: var(--violet); }
  .posts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 16px; }
  .post-card { border-radius: 22px; transition: transform .4s cubic-bezier(.2,.8,.2,1); }
  .post-card:hover { transform: translateY(-4px); }
  .post-card a { display: block; height: 100%; padding: 26px; text-decoration: none; }
  .post-card h2 { font: 500 28px/1.12 var(--serif); margin: 8px 0 10px; }
  .post-card p { margin: 0; color: var(--mist); font-size: 15.5px; }
  .post-meta { display: flex; gap: 14px; font-size: 13.5px; }
  .read-prog { position: fixed; left: 0; top: 0; z-index: 70; height: 2px; width: 100%; background: linear-gradient(90deg, var(--lav), var(--violet)); transform-origin: left; transform: scaleX(var(--rp, 0)); }
  .nf { min-height: 80svh; display: grid; align-content: center; justify-items: center; text-align: center; }
  .nf .sec-p { margin-bottom: 28px; }

  /* ═════ inner-page photos ═════ */
  .phead.has-photo { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 80px); align-items: center; padding-top: clamp(120px, 18vh, 180px); }
  .phead.has-photo .sec-h { font-size: clamp(48px, min(6.4vw, 13vh), 120px); }
  .phead-photo { position: relative; margin: 0; width: 100%; aspect-ratio: 4 / 5; max-height: 74vh; justify-self: end; border-radius: 28px; overflow: hidden; background: #E4DDF5; box-shadow: 0 40px 80px -40px rgba(43,30,90,.45); }
  .phead-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .phead-photo::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); background: linear-gradient(200deg, rgba(183,174,218,.28), transparent 42%); }
  .pband { position: relative; margin: 0; background: var(--paper); padding: clamp(20px, 4vh, 40px) var(--gutter); }
  .pband-frame { position: relative; overflow: hidden; border-radius: 28px; aspect-ratio: 21 / 9; background: #E4DDF5; }
  .pband.tall .pband-frame { aspect-ratio: 2 / 1; }
  .pband-frame img { position: absolute; left: 0; top: -10%; width: 100%; height: 120%; object-fit: cover; will-change: transform; }
  .pband:has(figcaption) .pband-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(21,19,27,.55), transparent 45%); pointer-events: none; }
  .pband figcaption { position: absolute; left: calc(var(--gutter) + clamp(20px, 3vw, 36px)); bottom: calc(clamp(20px, 4vh, 40px) + clamp(18px, 3vw, 32px)); font: italic 400 clamp(18px, 1.8vw, 26px)/1.2 var(--serif); color: #F4F1EA; }
  .doc-band { margin: 0 0 clamp(32px, 5vh, 56px); max-width: 980px; aspect-ratio: 3 / 1; overflow: hidden; border-radius: 22px; background: #E4DDF5; }
  .doc-band img { display: block; width: 100%; height: 100%; object-fit: cover; }
  @media (max-width: 760px) {
    .phead.has-photo { grid-template-columns: 1fr; gap: 28px; padding-top: 112px; }
    .phead-photo { aspect-ratio: 4 / 3; max-height: none; border-radius: 22px; }
    .pband-frame, .pband.tall .pband-frame { aspect-ratio: 4 / 5; border-radius: 22px; }
    .doc-band { aspect-ratio: 16 / 9; }
  }

  /* ═════ phones: fixes after launch ═════ */
  @media (max-width: 760px) {
    /* the menu button sits at the right edge (the language picker used to push it there) */
    .mk-menu-btn { margin-left: auto; }
    /* hero: the stage is as tall as the largest screen, so centre the wordmark on the part you can see
       (above the address bar): shift the plate up by half the bar */
    .stage canvas.smoke { top: calc(var(--bar) * -1); bottom: auto; height: calc(100% + var(--bar)); }
    .zoomer { top: calc(var(--bar) * -1); height: calc(100% + var(--bar)); bottom: auto; }
    .tagline { top: calc(50% - var(--bar) / 2 + var(--lw) * 0.17); }
    /* menu: a solid sheet that fades and settles; no live blur or clip-path animating over the video and smoke */
    .mk-sheet { background: radial-gradient(130% 80% at 85% 0%, #E4DDF5, #F4F1EA 62%); backdrop-filter: none; -webkit-backdrop-filter: none; clip-path: none; opacity: 0; transform: translateY(-10px);
      overflow-y: auto; overscroll-behavior: contain; will-change: opacity, transform;
      transition: opacity .28s ease, transform .4s cubic-bezier(.2,.9,.2,1), visibility 0s .4s; }
    .mk-sheet.on { opacity: 1; transform: none; clip-path: none; transition: opacity .28s ease, transform .4s cubic-bezier(.2,.9,.2,1), visibility 0s; }
    .mk-sheet nav a { transform: translateY(14px); transition: opacity .35s ease, transform .45s cubic-bezier(.2,.9,.2,1); }
    .mk-sheet.on nav a { transition-delay: calc(.06s + var(--i) * 40ms); }
    html:has(body.mk-locked) { overflow: hidden; }
  }

  /* loader: its line sits exactly where the hero's line is (same place, size and colour), so the hand-over is seamless */
  #loader .ld-tag { top: calc(50% + var(--lw) * 0.17); padding: 0; font: italic 400 clamp(17px, 1.6vw, 24px)/1.3 var(--serif); color: #2E2939; opacity: 0; transition: opacity .5s ease; }
  .tag-font #loader .ld-tag { opacity: 1; }

/* blog: short answer, questions, author, topics, related posts (fields from the editor) */
.doc-byline { margin: 18px 0 0; font-size: 15px; color: var(--mist); }
.doc-byline a { color: var(--ink); text-underline-offset: 4px; }
.answer { max-width: 68ch; margin: 0 0 clamp(32px, 5vh, 48px); padding: 22px 26px; border-radius: 18px; background: rgba(183,174,218,.22); border: 1px solid rgba(107,79,208,.18); }
.answer-k { margin: 0 0 6px; font: italic 400 19px var(--serif); color: var(--violet); }
.answer p:last-child { margin: 0; font-size: 18px; line-height: 1.6; color: var(--ink); }
.post-faq { max-width: 980px; margin-top: clamp(56px, 9vh, 96px); }
.post-faq .sec-h { font-size: clamp(32px, 4vw, 52px); margin: 0 0 18px; }
.author { display: flex; gap: 20px; align-items: flex-start; max-width: 68ch; margin-top: clamp(48px, 8vh, 80px); padding: 24px; border-radius: 22px; }
.author img { flex: none; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.author p { margin: 0 0 8px; color: var(--mist); font-size: 15.5px; }
.author .author-name { color: var(--ink); font: 500 22px/1.2 var(--serif); }
.author .author-name span { display: block; margin-top: 4px; font: 400 14px var(--sans); color: var(--mist); }
.author a { font-size: 14.5px; color: var(--violet); text-underline-offset: 3px; }
.post-topics { margin-top: 28px; }
.blog-topics { margin: 0 0 28px; }
section.related { padding-top: 0; margin-top: -1px; }
.related .sec-h { font-size: clamp(32px, 4vw, 52px); margin: 0 0 24px; }
.post-card h3 { font: 500 28px/1.12 var(--serif); margin: 8px 0 10px; }
.topic-head .posts { margin-top: 8px; }
@media (max-width: 760px) {
  .answer { padding: 18px 20px; }
  .author { flex-direction: column; }
}

/* blog list: compact head so posts show on the first screen; a featured latest post; cards with covers */
section.blog-page { padding-top: clamp(108px, 15vh, 140px); }
.blog-head { margin: 0 0 clamp(28px, 4vh, 40px); }
.blog-head .sec-h { font-size: clamp(40px, 5vw, 68px); margin: 0 0 10px; }
.blog-head .sec-p { max-width: 56ch; margin: 0; }
.blog-head .blog-topics { margin: 22px 0 0; }
.feature { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: stretch; margin: 0 0 18px; border-radius: 24px; overflow: hidden; text-decoration: none; color: var(--ink); transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s; }
.feature:hover { transform: translateY(-3px); box-shadow: 0 24px 50px -30px rgba(21,19,27,.45); }
.feature-img { display: block; min-height: 300px; overflow: hidden; background: #E4DDF5; }
.feature-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.feature:hover .feature-img img { transform: scale(1.04); }
.feature-body { display: flex; flex-direction: column; gap: 12px; padding: clamp(24px, 3vw, 40px); }
.feature-body h2 { margin: 0; font: 500 clamp(28px, 2.6vw, 38px)/1.12 var(--serif); }
.feature-body p { margin: 0; color: #4A4556; font-size: 16.5px; line-height: 1.6; }
.feature-go { margin-top: auto; padding-top: 8px; font-weight: 600; font-size: 15px; color: var(--violet); }
.pc-topic { font-size: 13px; font-weight: 600; color: var(--violet); }
.post-card a { display: flex; flex-direction: column; padding: 0; }
.pc-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 22px 22px 0 0; background: #E4DDF5; }
.pc-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.post-card:hover .pc-img img { transform: scale(1.04); }
.pc-body { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px 24px; }
.post-card .pc-body h2, .post-card .pc-body h3 { margin: 0; font: 500 24px/1.15 var(--serif); }
.post-card .pc-body p { margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* reading page: a readable column with a side panel, article typography of its own */
article.post { padding: clamp(104px, 15vh, 140px) var(--gutter) clamp(64px, 10vh, 110px); }
.post-head { max-width: 760px; margin: 0 0 clamp(24px, 4vh, 36px); }
.post-title { margin: 0 0 14px; font: 500 clamp(34px, 3.8vw, 52px)/1.08 var(--serif); letter-spacing: -.01em; max-width: 22ch; color: var(--ink); }
.post-dek { margin: 0; max-width: 60ch; font-size: 18.5px; line-height: 1.55; color: #4A4556; }
.post-grid { display: grid; grid-template-columns: minmax(0, 720px) 260px; gap: clamp(40px, 6vw, 88px); align-items: start; }
.post-cover { margin: 0 0 28px; aspect-ratio: 21 / 9; overflow: hidden; border-radius: 18px; background: #E4DDF5; }
.post-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.post .answer { max-width: none; margin: 0 0 32px; padding: 18px 22px; }
.post .answer-k { font: 600 13.5px var(--sans); }
.post .answer p:last-child { font-size: 17px; }
.article { font: 400 17px/1.75 var(--sans); color: #2E2A38; }
.article > :first-child { margin-top: 0; }
.article p { margin: 0 0 1.15em; }
.article h2 { margin: 2.1em 0 .7em; font: 600 22px/1.3 var(--sans); letter-spacing: -.01em; color: var(--ink); scroll-margin-top: 100px; }
.article h2::before { content: ""; display: block; width: 28px; height: 3px; margin: 0 0 14px; border-radius: 2px; background: var(--violet); }
.article h3 { margin: 1.7em 0 .5em; font: 600 18px/1.35 var(--sans); color: var(--ink); scroll-margin-top: 100px; }
.article strong { font-weight: 600; color: var(--ink); }
.article a { color: var(--violet); text-underline-offset: 3px; }
.article ul, .article ol { margin: 0 0 1.3em; padding: 0; list-style: none; }
.article li { position: relative; margin: 0 0 .65em; padding-left: 26px; }
.article ul > li::before { content: ""; position: absolute; left: 6px; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: var(--violet); }
.article ol { counter-reset: step; }
.article ol > li { padding-left: 38px; counter-increment: step; }
.article ol > li::before { content: counter(step); position: absolute; left: 0; top: .15em; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: rgba(107,79,208,.12); color: var(--violet); font: 600 13px/1 var(--sans); }
.article blockquote { margin: 1.5em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--lav); font: italic 400 20px/1.5 var(--serif); color: var(--ink); }
.article code { font-size: .92em; padding: .1em .35em; border-radius: 6px; background: rgba(21,19,27,.06); }
.article hr { border: 0; border-top: 1px solid var(--rule); margin: 2em 0; }
.post .post-faq { margin-top: 48px; }
.post .post-faq h2 { margin: 0 0 8px; font: 600 22px/1.3 var(--sans); color: var(--ink); scroll-margin-top: 100px; }
.post .post-faq h2::before { content: ""; display: block; width: 28px; height: 3px; margin: 0 0 14px; border-radius: 2px; background: var(--violet); }
.post .post-faq summary { padding: 18px 0; font: 600 17px/1.4 var(--sans); }
.post .post-faq details p { margin: 0 0 18px; font-size: 16.5px; color: #4A4556; }
.post .author { max-width: none; margin-top: 44px; }
.post-side { align-self: stretch; display: flex; flex-direction: column; gap: 12px; }
/* only the contents stay in view (the panel as a whole is taller than short laptop screens) */
.post-side .toc { position: sticky; top: 96px; max-height: calc(100vh - 120px); overflow-y: auto; }
.side-box { display: block; padding: 16px 18px; border-radius: 18px; background: rgba(255,255,255,.5); border: 1px solid rgba(21,19,27,.08); }
.side-k { display: block; margin: 0 0 10px; font: 600 13.5px var(--sans); color: var(--ink); }
.toc ol { margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.toc li { margin: 0; }
.toc a { display: block; padding: 6px 0; font-size: 14.5px; line-height: 1.4; color: #4A4556; text-decoration: none; border-top: 1px solid rgba(21,19,27,.07); }
.toc li:first-child a { border-top: 0; }
.toc a:hover { color: var(--violet); }
.side-box .chips a { padding: 7px 12px; font-size: 13.5px; }
.side-share { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0; font-size: 14.5px; }
.side-share a { color: var(--violet); text-underline-offset: 3px; }
.side-cta { text-decoration: none; color: #4A4556; font-size: 14.5px; line-height: 1.5; background: rgba(183,174,218,.22); border-color: rgba(107,79,208,.18); transition: border-color .2s; }
.side-cta:hover { border-color: var(--violet); }
.side-cta .side-k { color: var(--violet); }
@media (max-width: 1000px) {
  .post-grid { grid-template-columns: minmax(0, 1fr); }
  .post-side .toc { display: none; }
}
@media (max-width: 900px) {
  .feature { grid-template-columns: minmax(0, 1fr); }
  .feature-img { min-height: 0; aspect-ratio: 16 / 10; }
}
@media (max-width: 760px) {
  .article { font-size: 16.5px; }
  .post-dek { font-size: 17px; }
}

/* sources and the note on how a post was made (blog post page) */
.post-notes { max-width: 68ch; margin-top: clamp(40px, 6vh, 64px); padding-top: 20px; border-top: 1px solid rgba(107,79,208,.18); font-size: 15px; color: var(--mist); }
.post-notes .notes-h { margin: 0 0 8px; font: 500 17px/1.2 var(--serif); color: var(--ink); }
.post-notes ul { margin: 0 0 14px; padding-left: 20px; display: grid; gap: 4px; }
.post-notes a { color: var(--violet); overflow-wrap: anywhere; }
.post-notes .ai-note { margin: 0; font-style: italic; }

/* phones: a long press on the sculpture, animations and page furniture must not select them; reading text and forms stay selectable */
@media (hover: none), (pointer: coarse) {
  body { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; -webkit-tap-highlight-color: transparent; }
  .article, .post-head, .post-dek, .answer, .post-faq, .post-notes, .doc, address, .bwf-addr, input, textarea, select, a[href^="mailto:"], a[href^="tel:"] { -webkit-user-select: text; user-select: text; -webkit-touch-callout: default; }
}

/* blog as a newspaper: masthead, section bar, lead story with a rail, hairline column rules; pictures everywhere */
.np { padding-top: clamp(96px, 13vh, 120px); --np-rule: rgba(21,19,27,.16); }
.np-mast { text-align: center; }
.np-mast h1 { margin: 0; font: 500 clamp(44px, 7.4vw, 104px)/1 var(--serif); letter-spacing: -.02em; color: var(--ink); }
.np-mast h1 em { font-style: italic; color: var(--violet); }
.np-mast p { margin: 10px auto 0; max-width: 60ch; font-size: 15px; color: #4A4556; }
.np-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 24px; margin: 18px 0 clamp(20px, 3vh, 30px); padding: 9px 0; border-top: 3px double var(--ink); border-bottom: 1px solid var(--ink); font-size: 13.5px; color: #4A4556; }
.np-bar nav { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.np-bar a { color: var(--ink); font-weight: 600; text-decoration: none; }
.np-bar a:hover { color: var(--violet); }
.np-front { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: clamp(24px, 3vw, 40px); }
.np-lead { display: block; color: var(--ink); text-decoration: none; }
.np-img { display: block; overflow: hidden; background: #E4DDF5; }
.np-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
a:hover > .np-img img { transform: scale(1.03); }
.np-lead > .np-img { aspect-ratio: 16 / 9; max-height: 56vh; width: 100%; margin-bottom: 14px; }
.np-kicker { display: block; margin: 0 0 6px; font: 600 13px/1.3 var(--sans); color: var(--violet); }
.np-kicker a { color: inherit; text-decoration: none; }
.np-lead h2 { margin: 0 0 10px; font: 500 clamp(32px, 3.7vw, 52px)/1.06 var(--serif); letter-spacing: -.01em; }
.np-lead:hover h2, .np-brief:hover h3 { color: var(--violet); }
.np-lead p { margin: 0 0 10px; max-width: 62ch; font: 400 18px/1.5 Georgia, "Times New Roman", serif; color: #3A3644; }
.np-meta { display: flex; gap: 14px; font-size: 13px; color: #6A6577; }
.np-rail { display: flex; flex-direction: column; padding-left: clamp(24px, 3vw, 40px); border-left: 1px solid var(--np-rule); }
.np-label { margin: 0 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--ink); font: italic 500 21px/1.2 var(--serif); color: var(--ink); }
.np-label-wide { margin-top: clamp(36px, 6vh, 56px); }
.np-brief { display: grid; grid-template-columns: minmax(0, 1fr) 96px; gap: 14px; padding: 0 0 14px; margin-bottom: 14px; border-bottom: 1px solid var(--np-rule); color: var(--ink); text-decoration: none; }
.np-brief .np-img { aspect-ratio: 1; }
.np-brief h3 { margin: 0 0 6px; font: 500 20px/1.15 var(--serif); }
.np-short { margin: 0 0 14px; font: 400 17px/1.55 Georgia, "Times New Roman", serif; color: #2E2A38; }
.np-short::first-letter { float: left; margin: 5px 8px 0 0; font: 500 52px/.8 var(--serif); color: var(--violet); }
.np-more { font-weight: 600; font-size: 15px; color: var(--violet); }
.np-cta { margin-top: auto; padding: 14px 0 0; border-top: 1px solid var(--np-rule); font-size: 14.5px; line-height: 1.45; color: #4A4556; text-decoration: none; }
.np-more + .np-cta { margin-top: 22px; }
.np-cta strong { display: block; font: italic 500 19px/1.25 var(--serif); color: var(--violet); }
/* story cards on the list, topic and "read next" */
.light .posts { gap: 28px clamp(24px, 3vw, 40px); }
.post-card { border-radius: 0; border-top: 1px solid var(--ink); background: none; padding-top: 12px; }
.post-card:hover { transform: none; }
.pc-img { border-radius: 0; aspect-ratio: 3 / 2; }
.pc-body { padding: 12px 0 0; }
.post-card .pc-body h2, .post-card .pc-body h3 { font: 500 25px/1.12 var(--serif); }
.post-card:hover .pc-body h2, .post-card:hover .pc-body h3 { color: var(--violet); }
.post-card .pc-body p { font: 400 15.5px/1.5 Georgia, "Times New Roman", serif; color: #3A3644; }
.post-card .post-meta { color: #6A6577; font-size: 13px; }
/* the story page */
article.post { padding-top: clamp(96px, 13vh, 124px); }
.post-head { max-width: 880px; margin: 0 auto clamp(20px, 3vh, 28px); text-align: center; }
.post-title { max-width: none; margin: 0 0 12px; font-size: clamp(36px, 5vw, 66px); line-height: 1.04; }
.post-dek { max-width: 62ch; margin: 0 auto; font: italic 400 20px/1.45 Georgia, "Times New Roman", serif; color: #3A3644; }
.post-line { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 20px; margin: 18px 0 0; padding: 9px 0; border-top: 3px double var(--ink); border-bottom: 1px solid var(--ink); font-size: 13.5px; color: #4A4556; }
.post-line a { color: var(--ink); font-weight: 600; }
.post-cover { max-width: 1100px; max-height: 62vh; margin: 0 auto clamp(24px, 4vh, 36px); aspect-ratio: 2 / 1; border-radius: 0; }
.post-grid { max-width: 1100px; margin: 0 auto; grid-template-columns: minmax(0, 1fr) 250px; gap: clamp(28px, 4vw, 56px); }
.article { font: 400 18px/1.68 Georgia, "Times New Roman", serif; color: #25222D; }
.article > p:first-of-type::first-letter { float: left; margin: 7px 10px 0 0; font: 500 66px/.82 var(--serif); color: var(--violet); }
.article h2 { font: 500 30px/1.15 var(--serif); letter-spacing: -.005em; }
.article h2::before { display: none; }
.article h3 { font: 600 20px/1.3 Georgia, "Times New Roman", serif; }
.answer { max-width: none; margin: 0 0 26px; padding: 14px 0; border-radius: 0; background: none; border: 0; border-top: 2px solid var(--ink); border-bottom: 1px solid rgba(21,19,27,.16); }
.answer p:last-child { font: 400 18px/1.55 Georgia, "Times New Roman", serif; }
.post .post-faq h2 { font: 500 30px/1.15 var(--serif); }
.post .post-faq h2::before { display: none; }
.post .post-faq summary { font: 500 19px/1.3 var(--serif); }
.post-side { padding-left: clamp(20px, 3vw, 32px); border-left: 1px solid rgba(21,19,27,.16); gap: 18px; }
.side-box { padding: 0 0 14px; border: 0; border-bottom: 1px solid rgba(21,19,27,.16); border-radius: 0; background: none; }
.side-k { font: italic 500 18px/1.2 var(--serif); }
.side-cta { background: none; }
.author { border-radius: 0; border-top: 2px solid var(--ink); background: none; box-shadow: none; padding: 16px 0 0; max-width: none; }
.author p { color: #4A4556; }
@media (max-width: 1000px) {
  .post-grid { grid-template-columns: minmax(0, 1fr); }
  .post-side { padding-left: 0; border-left: 0; }
}
@media (max-width: 900px) {
  .np-front { grid-template-columns: minmax(0, 1fr); }
  .np-rail { padding: 18px 0 0; border-left: 0; border-top: 1px solid var(--np-rule); }
  .np-cta { margin-top: 18px; }
}
@media (max-width: 760px) {
  .np-bar { justify-content: center; text-align: center; }
  .np-bar nav { justify-content: center; }
  .post-cover { aspect-ratio: 3 / 2; margin-inline: calc(var(--gutter) * -1); max-width: none; }
  .article { font-size: 17px; }
  .post-dek { font-size: 18px; }
}
