.footer[data-astro-cid-jo6i4kqk]{background:var(--ink);color:var(--slate)}.row[data-astro-cid-jo6i4kqk]{padding-block:28px calc(28px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line-dark);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font-size:11px;display:flex}a[data-astro-cid-jo6i4kqk]{text-decoration:none}a[data-astro-cid-jo6i4kqk]:hover{color:var(--fog)}.quarters[data-astro-cid-zjjrmyej]{margin:0}svg[data-astro-cid-zjjrmyej]{width:100%;height:auto;display:block;overflow:visible}.line[data-astro-cid-zjjrmyej]{fill:none;stroke:var(--fog-faint);stroke-width:1.5px;stroke-dasharray:1;animation:q-draw 1.8s var(--ease) both}.node[data-astro-cid-zjjrmyej]{fill:var(--ink);stroke:var(--fog-faint);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:q-pop .5s var(--ease) both}.node[data-astro-cid-zjjrmyej].top{fill:var(--accent);stroke:var(--accent)}text[data-astro-cid-zjjrmyej]{font-family:var(--mono);letter-spacing:.06em;font-size:11px}.name[data-astro-cid-zjjrmyej]{fill:var(--fog-dim)}.quarter[data-astro-cid-zjjrmyej]{fill:var(--fog-faint)}.verdict[data-astro-cid-zjjrmyej]{fill:var(--fog);text-transform:uppercase}.verdict[data-astro-cid-zjjrmyej].switch{fill:var(--accent)}.decision[data-astro-cid-zjjrmyej]{animation:q-fade .5s var(--ease) both}figcaption[data-astro-cid-zjjrmyej]{font-family:var(--mono);letter-spacing:.08em;color:var(--fog-faint);margin-top:10px;font-size:11px}@media (width<=600px){text[data-astro-cid-zjjrmyej]{font-size:14px}}@keyframes q-draw{0%{stroke-dashoffset:1px}}@keyframes q-pop{0%{transform:scale(0)}}@keyframes q-fade{0%{opacity:0}}.pitch[data-astro-cid-xhu64xer]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,80px);display:grid}.head[data-astro-cid-xhu64xer]{display:block}.card[data-astro-cid-xhu64xer]{grid-template-rows:auto 1fr}.card[data-astro-cid-xhu64xer] h3[data-astro-cid-xhu64xer]{margin-top:6px}.contact[data-astro-cid-xhu64xer]{border-top:1px solid var(--fog);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:clamp(28px,4vw,64px);margin-top:clamp(64px,10vh,120px);padding-top:28px;display:grid}.eyebrow[data-astro-cid-xhu64xer]{color:var(--accent);margin:0 0 16px}.contact-title[data-astro-cid-xhu64xer]{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;max-width:22ch;margin:0;font-size:clamp(1.8rem,3.4vw,3.2rem);font-weight:500;line-height:1.04}.contact-actions[data-astro-cid-xhu64xer]{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}@media (width<=900px){.pitch[data-astro-cid-xhu64xer],.contact[data-astro-cid-xhu64xer]{grid-template-columns:1fr}.contact-actions[data-astro-cid-xhu64xer]{justify-content:flex-start}}.hero[data-astro-cid-ge2uvauf]{background:var(--ink);color:var(--fog);padding-block:clamp(64px,12vh,140px) clamp(64px,10vh,120px)}.grid[data-astro-cid-ge2uvauf]{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(32px,5vw,80px);display:grid}.eyebrow[data-astro-cid-ge2uvauf]{color:var(--fog-faint);margin:0 0 22px}h1[data-astro-cid-ge2uvauf]{font-family:var(--display);letter-spacing:-.045em;text-wrap:balance;max-width:13ch;margin:0;font-size:clamp(2.5rem,6.4vw,6.4rem);font-weight:500;line-height:.96}.sub[data-astro-cid-ge2uvauf]{max-width:46ch;color:var(--fog-dim);margin:clamp(18px,3vh,28px) 0 0;font-size:clamp(15px,1.25vw,18px)}.actions[data-astro-cid-ge2uvauf]{flex-wrap:wrap;gap:12px;margin-top:clamp(22px,3.6vh,34px);display:flex}@media (width<=900px){.grid[data-astro-cid-ge2uvauf]{grid-template-columns:1fr}.walk[data-astro-cid-ge2uvauf]{max-width:560px}}.walk{margin:0}.walk svg{width:100%;height:auto;transition:opacity .45s var(--ease);display:block}.walk svg text{font-family:var(--mono)}.walk [data-scene]{display:none}.walk[data-track=U] [data-scene=U],.walk[data-track=B] [data-scene=B],.walk[data-track=C] [data-scene=C],.walk[data-track=R] [data-scene=R]{display:inline}.walk .line{letter-spacing:.02em;fill:var(--fog);font-size:.34px}.walk .line .key{fill:var(--accent)}.walk .answer{fill:var(--fog-dim);font-size:.3px}.walk .chip{fill:var(--accent)}.walk .chip.bad{fill:var(--fog)}.walk .chip-text{letter-spacing:.1em;text-transform:uppercase;fill:var(--on-accent);font-size:.26px}.walk .chip-text.bad{fill:var(--ink)}.walk .status{letter-spacing:.04em;fill:var(--fog-dim);font-size:.3px}.walk .tag{letter-spacing:.08em;text-transform:uppercase;fill:var(--fog-faint);font-size:.26px}.walk .calc{fill:var(--fog);font-size:.27px}.walk .calc.hot,.walk .measure{fill:var(--accent)}.walk .measure{font-size:.34px}.walk .room{fill:#e9edf208;stroke:#e9edf28c;stroke-width:.05px}.walk .room-name{letter-spacing:.06em;text-transform:uppercase;fill:#e9edf280;text-anchor:middle;transition:opacity .5s var(--ease), transform .6s var(--ease);font-size:.28px}.walk.at-4 .room-name{opacity:.4}.walk.at-4 [data-scene=B] .room-name{transform:translateY(-.42px)}.walk.at-4 [data-scene=B] .room-name.hall{transform:none}.walk .edge{fill:none;stroke:#e9edf2b3;stroke-width:.04px}.walk .node{fill:var(--ink);stroke:var(--fog);stroke-width:.05px}.walk .route{fill:none;stroke:var(--accent);stroke-width:.12px;stroke-linecap:round;stroke-linejoin:round}.walk .mark-dot{fill:var(--accent)}.walk .ring{fill:none;stroke:var(--accent);stroke-width:.05px;transform-box:fill-box;transform-origin:50%;animation:hs-ping 1.4s var(--ease) infinite}.walk .street{fill:#e9edf20f}.walk .parcel{fill:#e9edf208;stroke:var(--fog);stroke-width:.06px;transition:stroke-dashoffset 1.1s var(--ease), stroke .4s var(--ease)}.walk .neighbour{fill:#e9edf214;stroke:#e9edf259;stroke-width:.04px}.walk .setback{fill:none;stroke:var(--accent);stroke-width:.04px;stroke-dasharray:.16 .12}.walk .footprint{fill:#1f6fff38}.walk .ground{stroke:var(--fog);stroke-width:.06px}.walk .solid{fill:var(--fog)}.walk .glass{fill:#1f6fff73;stroke:#0000;stroke-width:.06px;transition:opacity .5s var(--ease), stroke .4s var(--ease)}.walk .ray{stroke:var(--accent);stroke-width:.04px}.walk .overhang{stroke:var(--fog);stroke-width:.16px}.walk .dim{stroke:var(--accent);stroke-width:.03px}.walk.fading svg{opacity:0}.walk [data-from],.walk [data-only]{transition:opacity .5s var(--ease)}.walk [data-draw]{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.1s var(--ease)}.walk [data-pop]{transform-box:fill-box;transform-origin:50%;transition:transform .45s var(--ease)}.walk.instant,.walk.instant *{transition:none!important}.walk:not(.at-1) [data-from="1"],.walk:not(.at-2) [data-from="2"],.walk:not(.at-3) [data-from="3"],.walk:not(.at-4) [data-from="4"],.walk:not(.at-5) [data-from="5"],.walk:not(.now-1) [data-only="1"],.walk:not(.now-2) [data-only="2"],.walk:not(.now-3) [data-only="3"],.walk:not(.now-4) [data-only="4"],.walk:not(.now-5) [data-only="5"]{opacity:0}.walk:not(.at-1) [data-draw="1"],.walk:not(.at-4) [data-draw="4"]{stroke-dashoffset:1px}.walk:not(.at-4) [data-pop="4"]{transform:scale(0)}.walk.now-2 [data-hl="2"]{stroke:var(--accent)}.walk .track-row{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.walk .track-row button{box-shadow:inset 0 0 0 1px var(--line-dark);color:var(--fog-faint);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color .3s var(--ease), box-shadow .3s var(--ease);background:0 0;border:0;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:11px;display:inline-flex}.walk .track-row button:hover{color:var(--fog)}.walk .track-row button[aria-pressed=true]{color:var(--fog);box-shadow:inset 0 0 0 1px var(--accent)}.walk .track-row .letter{width:20px;height:20px;color:var(--fog);background:#e9edf21f;place-items:center;display:inline-grid}.walk .track-row button[aria-pressed=true] .letter{background:var(--accent);color:var(--on-accent)}.walk .steps{border-top:1px solid var(--line-dark);grid-template-columns:repeat(5,minmax(0,1fr));margin:18px 0 0;padding:0;list-style:none;display:grid}.walk .steps button{width:100%;color:var(--fog-faint);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;text-align:left;cursor:pointer;transition:color .3s var(--ease);background:0 0;border:0;align-items:baseline;gap:8px;padding:14px 6px 4px 0;font-size:11px;display:flex;position:relative}.walk .steps button:hover,.walk .steps button[aria-current=step]{color:var(--fog)}.walk .steps .n{color:var(--accent)}.walk .bar{background:var(--accent);width:0;height:2px;position:absolute;top:-1px;left:0}.walk .steps button[data-done] .bar{background:#e9edf259;width:100%}.walk .steps button[aria-current=step] .bar{animation:hs-progress var(--dur) linear forwards}@keyframes hs-progress{0%{width:0}to{width:100%}}@keyframes hs-ping{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(3)}}@media (prefers-reduced-motion:reduce){.walk .steps button[aria-current=step] .bar{width:100%}}@media (width<=520px){.walk .track-row{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.walk .track-row button{letter-spacing:.06em;justify-content:center;padding:9px 4px;font-size:10px}.walk .track-row .letter{display:none}.walk .steps button{letter-spacing:.06em;flex-direction:column;gap:2px;font-size:10px}}.board[data-astro-cid-terdhxvy]{background:var(--ink);color:var(--fog);margin-top:clamp(40px,6vh,64px)}.board-head[data-astro-cid-terdhxvy]{border-bottom:1px solid var(--line-dark);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:18px clamp(16px,2.4vw,32px);font-size:11px;display:flex}.live[data-astro-cid-terdhxvy]{color:var(--fog);align-items:center;gap:10px;display:inline-flex}.live[data-astro-cid-terdhxvy] i[data-astro-cid-terdhxvy]{background:var(--accent);border-radius:50%;width:8px;height:8px;position:relative}.live[data-astro-cid-terdhxvy] i[data-astro-cid-terdhxvy]:after{content:"";background:var(--accent);animation:lb-ping 2s var(--ease) infinite;border-radius:50%;position:absolute;inset:0}.live[data-astro-cid-terdhxvy].waiting i[data-astro-cid-terdhxvy],.live[data-astro-cid-terdhxvy].waiting i[data-astro-cid-terdhxvy]:after{background:var(--fog-faint)}.head-meta[data-astro-cid-terdhxvy]{color:var(--fog-faint)}.tabs[data-astro-cid-terdhxvy]{box-shadow:inset 0 0 0 1px var(--line-dark);margin-left:auto;display:flex}.tabs[data-astro-cid-terdhxvy] button[data-astro-cid-terdhxvy]{min-width:44px;color:var(--fog-dim);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;transition:background .3s var(--ease), color .3s var(--ease);background:0 0;border:0;padding:9px 12px}.tabs[data-astro-cid-terdhxvy] button[data-astro-cid-terdhxvy]:hover{color:var(--fog)}.tabs[data-astro-cid-terdhxvy] button[data-astro-cid-terdhxvy][aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.rows[data-astro-cid-terdhxvy]{margin:0;padding:0;list-style:none}.row[data-astro-cid-terdhxvy]{border-bottom:1px solid var(--line-dark);font-variant-numeric:tabular-nums;grid-template-columns:36px minmax(150px,1.2fr) minmax(140px,2fr) 64px repeat(4,52px);align-items:center;column-gap:clamp(10px,1.6vw,22px);padding:16px clamp(16px,2.4vw,32px);display:grid}.cols[data-astro-cid-terdhxvy]{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fog-faint);padding-block:12px;font-size:10.5px}.num[data-astro-cid-terdhxvy]{text-align:right}.pos[data-astro-cid-terdhxvy]{font-family:var(--mono);color:var(--fog-faint);font-size:13px}.entry[data-astro-cid-terdhxvy]{background:var(--ink);animation:lb-in .7s var(--ease) both;animation-delay:calc(var(--i) * 90ms)}.entry[data-astro-cid-terdhxvy]:first-child .pos[data-astro-cid-terdhxvy]{color:var(--accent)}.model[data-astro-cid-terdhxvy]{font-weight:500;display:block}.provider[data-astro-cid-terdhxvy]{font-family:var(--mono);letter-spacing:.06em;color:var(--fog-faint);font-size:10.5px;display:block}.meter[data-astro-cid-terdhxvy]{background:linear-gradient(var(--line-dark), var(--line-dark)) 0 50% / 100% 1px no-repeat;height:14px;position:relative}.meter[data-astro-cid-terdhxvy] .ci[data-astro-cid-terdhxvy]{top:3px;bottom:3px;left:var(--lo);width:calc(var(--hi) - var(--lo));transition:left .8s var(--ease), width .8s var(--ease);background:#1f6fff73;position:absolute}.meter[data-astro-cid-terdhxvy] .pt[data-astro-cid-terdhxvy]{top:0;bottom:0;left:var(--v);background:var(--fog);width:2px;transition:left .8s var(--ease);margin-left:-1px;position:absolute}.board[data-astro-cid-terdhxvy]:not(.is-in) .meter[data-astro-cid-terdhxvy] .ci[data-astro-cid-terdhxvy]{width:0}.board[data-astro-cid-terdhxvy]:not(.is-in) .meter[data-astro-cid-terdhxvy] .pt[data-astro-cid-terdhxvy]{left:0}.val[data-astro-cid-terdhxvy]{font-family:var(--display);letter-spacing:-.02em;color:var(--fog);font-size:22px;font-weight:500}.track-col[data-astro-cid-terdhxvy]{color:var(--fog-dim);transition:color .3s var(--ease);font-size:14px}.board[data-astro-cid-terdhxvy][data-metric=U] [data-astro-cid-terdhxvy][data-col=U],.board[data-astro-cid-terdhxvy][data-metric=B] [data-astro-cid-terdhxvy][data-col=B],.board[data-astro-cid-terdhxvy][data-metric=C] [data-astro-cid-terdhxvy][data-col=C],.board[data-astro-cid-terdhxvy][data-metric=R] [data-astro-cid-terdhxvy][data-col=R]{color:var(--accent)}.message[data-astro-cid-terdhxvy] .typing[data-astro-cid-terdhxvy]{font-family:var(--mono);letter-spacing:.04em;color:var(--fog);grid-column:2/-1;font-size:13px}.typing[data-astro-cid-terdhxvy]:after{content:"";vertical-align:-.2em;background:var(--accent);width:.6em;height:1.1em;margin-left:6px;animation:1.1s step-end infinite lb-blink;display:inline-block}.ghost[data-astro-cid-terdhxvy] .bone[data-astro-cid-terdhxvy]{background:linear-gradient(90deg, var(--ink-2) 0%, #1f2329 40%, var(--ink-2) 80%) 0 0 / 300% 100%;height:10px;animation:2.4s linear infinite lb-shimmer;animation-delay:calc(var(--i) * -.4s)}.ghost[data-astro-cid-terdhxvy] .bone[data-astro-cid-terdhxvy].short{width:70%}.ghost[data-astro-cid-terdhxvy] .bone[data-astro-cid-terdhxvy].tiny{grid-column:4/-1;justify-self:end;width:40%}.ghost[data-astro-cid-terdhxvy] .pos[data-astro-cid-terdhxvy]{opacity:.4}.board-foot[data-astro-cid-terdhxvy]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding:22px clamp(16px,2.4vw,32px);display:flex}.board-foot[data-astro-cid-terdhxvy] p[data-astro-cid-terdhxvy]{max-width:60ch;color:var(--fog-dim);margin:0;font-size:15px}.board-foot[data-astro-cid-terdhxvy] .btn[data-astro-cid-terdhxvy]{background:var(--accent);color:var(--on-accent)}.board-foot[data-astro-cid-terdhxvy] .btn[data-astro-cid-terdhxvy]:hover{background:var(--fog);color:var(--ink)}.composition[data-astro-cid-terdhxvy]{margin-top:clamp(40px,6vh,64px)}.waffles[data-astro-cid-terdhxvy]{border-top:1px solid var(--ink);grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,44px);margin-top:16px;padding-top:18px;display:grid}.waffle-head[data-astro-cid-terdhxvy]{align-items:center;gap:10px;margin:0 0 14px;font-size:15px;font-weight:500;display:flex}.waffle-total[data-astro-cid-terdhxvy]{font-family:var(--mono);color:var(--slate);margin-left:auto;font-size:12px;font-weight:400}.track-letter[data-astro-cid-terdhxvy]{background:var(--ink);width:22px;height:22px;color:var(--paper);font-family:var(--mono);place-items:center;font-size:11px;display:inline-grid}.cells[data-astro-cid-terdhxvy]{grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;display:grid}.cell[data-astro-cid-terdhxvy]{aspect-ratio:1;background:var(--accent);animation:lb-cell .5s var(--ease) both;animation-delay:calc(var(--i) * 7ms);display:block}.cell[data-astro-cid-terdhxvy].L1{background:#1f6fff1f}.cell[data-astro-cid-terdhxvy].L2{background:#1f6fff33}.cell[data-astro-cid-terdhxvy].L3{background:#1f6fff80}.cell[data-astro-cid-terdhxvy].L5{background:var(--ink)}.legend[data-astro-cid-terdhxvy]{font-family:var(--mono);letter-spacing:.08em;color:var(--slate);flex-wrap:wrap;gap:8px 22px;margin:18px 0 0;font-size:11px;display:flex}.legend[data-astro-cid-terdhxvy] span[data-astro-cid-terdhxvy]{align-items:center;gap:8px;display:inline-flex}.legend[data-astro-cid-terdhxvy] .cell[data-astro-cid-terdhxvy]{width:10px;animation:none}.legend-note[data-astro-cid-terdhxvy]{margin-left:auto}.method[data-astro-cid-terdhxvy]{color:var(--slate);max-width:80ch;margin:28px 0 0;font-size:13px}@keyframes lb-ping{to{opacity:0;transform:scale(2.6)}}@keyframes lb-blink{50%{opacity:0}}@keyframes lb-shimmer{to{background-position:-300% 0}}@keyframes lb-in{0%{opacity:0;transform:translateY(10px)}}@keyframes lb-cell{0%{opacity:0;transform:scale(.3)}}@media (width<=900px){.waffles[data-astro-cid-terdhxvy]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.row[data-astro-cid-terdhxvy]{grid-template-columns:26px minmax(0,1fr) 60px;row-gap:10px}.row[data-astro-cid-terdhxvy] .meter[data-astro-cid-terdhxvy]{grid-area:2/2/auto/-1}.track-col[data-astro-cid-terdhxvy],.cols[data-astro-cid-terdhxvy]{display:none}.tabs[data-astro-cid-terdhxvy]{width:100%;margin-left:0}.tabs[data-astro-cid-terdhxvy] button[data-astro-cid-terdhxvy]{flex:1}.ghost[data-astro-cid-terdhxvy] .bone[data-astro-cid-terdhxvy]:nth-of-type(2){grid-area:2/2/auto/-1}.ghost[data-astro-cid-terdhxvy] .bone[data-astro-cid-terdhxvy].tiny{grid-area:1/3;width:100%}}@media (width<=520px){.waffles[data-astro-cid-terdhxvy]{gap:20px 16px}.waffle-head[data-astro-cid-terdhxvy]{align-items:flex-start;font-size:13px;line-height:1.25}.cells[data-astro-cid-terdhxvy]{grid-template-columns:repeat(10,minmax(0,1fr));gap:2px}.legend-note[data-astro-cid-terdhxvy]{margin-left:0}}.detail[data-astro-cid-pio75mfn]{background:var(--paper);width:min(1120px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--ink);overscroll-behavior:contain;border:0;padding:0;overflow:auto}.detail[data-astro-cid-pio75mfn]::backdrop{backdrop-filter:blur(4px);background:#0a0b0db8}.detail[data-astro-cid-pio75mfn][open]{animation:d-in .5s var(--ease) both}.detail[data-astro-cid-pio75mfn][open]::backdrop{animation:d-fade .4s var(--ease) both}.frame[data-astro-cid-pio75mfn]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid;position:relative}.visual[data-astro-cid-pio75mfn]{border-right:1px solid var(--line-paper);background:#fff;align-items:center;padding:clamp(24px,4vw,48px);display:grid}.visual[data-astro-cid-pio75mfn] .fig{aspect-ratio:3/2;background:0 0;height:auto}.body[data-astro-cid-pio75mfn]{padding:clamp(28px,4vw,48px) clamp(24px,4vw,48px) clamp(28px,4vw,44px)}.kicker[data-astro-cid-pio75mfn]{font-family:var(--mono);letter-spacing:.06em;color:var(--slate);margin:0 0 14px;font-size:12px}h3[data-astro-cid-pio75mfn]{font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;line-height:1.04}.summary[data-astro-cid-pio75mfn]{color:var(--text-paper);max-width:52ch;margin:16px 0 0}.block[data-astro-cid-pio75mfn]{margin-top:28px}.families[data-astro-cid-pio75mfn]{border-top:1px solid var(--ink);margin:12px 0 0;padding:0;list-style:none}.families[data-astro-cid-pio75mfn] li[data-astro-cid-pio75mfn]{border-bottom:1px solid var(--line-paper);grid-template-columns:minmax(0,1fr) auto 32px;align-items:baseline;column-gap:12px;padding:12px 0;display:grid}.fam-name[data-astro-cid-pio75mfn]{font-weight:500}.fam-level[data-astro-cid-pio75mfn],.fam-count[data-astro-cid-pio75mfn]{font-family:var(--mono);color:var(--slate);text-align:right;font-size:12px}.fam-count[data-astro-cid-pio75mfn]{color:var(--ink)}.fam-bar[data-astro-cid-pio75mfn]{height:3px;width:calc(var(--share) * 100%);background:var(--accent);transform-origin:0;animation:d-bar .8s var(--ease) both;animation-delay:calc(.25s + var(--i) * 80ms);grid-column:1/-1;margin:8px 0 6px}.fam-example[data-astro-cid-pio75mfn]{color:var(--text-paper);grid-column:1/-1;font-size:14px}.points[data-astro-cid-pio75mfn]{border-top:1px solid var(--ink);margin:24px 0 0;padding:0;list-style:none}.points[data-astro-cid-pio75mfn] li[data-astro-cid-pio75mfn]{border-bottom:1px solid var(--line-paper);animation:d-rise .5s var(--ease) both;animation-delay:calc(.2s + var(--i) * 80ms);padding:12px 0 12px 22px;position:relative}.points[data-astro-cid-pio75mfn] li[data-astro-cid-pio75mfn]:before{content:"";background:var(--accent);width:8px;height:8px;position:absolute;top:21px;left:0}.note[data-astro-cid-pio75mfn]{color:var(--text-paper);margin:20px 0 0;font-size:15px}.note[data-astro-cid-pio75mfn] .label[data-astro-cid-pio75mfn]{margin-bottom:6px;display:block}.close-form[data-astro-cid-pio75mfn]{margin:0;position:absolute;top:12px;right:12px}.close[data-astro-cid-pio75mfn]{background:var(--ink);width:40px;height:40px;color:var(--paper);cursor:pointer;transition:background .3s var(--ease);border:0;place-items:center;display:grid}.close[data-astro-cid-pio75mfn]:hover{background:var(--accent)}.close[data-astro-cid-pio75mfn] svg[data-astro-cid-pio75mfn]{stroke:currentColor;stroke-width:1.6px;fill:none;width:16px;height:16px}html.has-dialog{overflow:hidden}@keyframes d-in{0%{opacity:0;transform:translateY(16px)scale(.985)}}@keyframes d-fade{0%{opacity:0}}@keyframes d-bar{0%{transform:scaleX(0)}}@keyframes d-rise{0%{opacity:0;transform:translateY(6px)}}@media (width<=820px){.frame[data-astro-cid-pio75mfn]{grid-template-columns:1fr}.visual[data-astro-cid-pio75mfn]{border-right:0;border-bottom:1px solid var(--line-paper);padding:56px 20px 20px}}.tick[data-astro-cid-cqctqgnh]{stroke:var(--slate);stroke-width:1px;opacity:.45;animation:.3s ease-out both fig-fade}.interval[data-astro-cid-cqctqgnh]{fill:var(--accent);transform-box:fill-box;transform-origin:50%;animation:n-grow .8s var(--ease) both}.point[data-astro-cid-cqctqgnh]{fill:var(--ink)}.bracket[data-astro-cid-cqctqgnh]{fill:none;stroke:var(--ink);stroke-width:1.2px}.ink-text[data-astro-cid-cqctqgnh]{fill:var(--ink)}.value[data-astro-cid-cqctqgnh]{fill:var(--accent)}@keyframes n-grow{0%{transform:scaleX(0)}}.room[data-astro-cid-w7ggkq5l]{fill:var(--paper);stroke:var(--ink);stroke-width:.1px}.route[data-astro-cid-w7ggkq5l]{fill:none;stroke:var(--accent);stroke-width:.26px;stroke-linecap:round;stroke-linejoin:round}.spin[data-astro-cid-w7ggkq5l]{transform-box:view-box;transform-origin:120px 78px;animation:i-spin 8s var(--ease) infinite}.state[data-astro-cid-w7ggkq5l]{fill:var(--ink);opacity:0;animation:8s linear infinite i-state}.state[data-astro-cid-w7ggkq5l].first{opacity:1}.answer[data-astro-cid-w7ggkq5l]{fill:var(--accent)}@keyframes i-spin{0%,18%{transform:rotate(0)scaleX(1)}25%,43%{transform:rotate(90deg)scaleX(1)}50%,68%{transform:rotate(90deg)scaleX(-1)}75%,93%{transform:rotate(180deg)scaleX(-1)}to{transform:rotate(360deg)scaleX(1)}}@keyframes i-state{0%,24%{opacity:1}25%,to{opacity:0}}.card[data-astro-cid-bi3lehka]{fill:var(--paper);stroke:var(--ink);stroke-width:1.2px}.slot[data-astro-cid-bi3lehka]{fill:#1f6fff1f}.ink-text[data-astro-cid-bi3lehka]{fill:var(--ink)}.value[data-astro-cid-bi3lehka]{fill:var(--accent);font-size:11px}.track[data-astro-cid-bi3lehka]{stroke:var(--line-paper);stroke-width:2px}.progress[data-astro-cid-bi3lehka]{stroke:var(--accent);stroke-width:2px;transform-box:fill-box;transform-origin:0;animation:2.4s linear infinite f-progress}.roll[data-astro-cid-bi3lehka]{animation:f-roll 9.6s var(--ease) infinite}@keyframes f-progress{0%{transform:scaleX(0)}}@keyframes f-roll{0%,22%{transform:translateY(0)}25%,47%{transform:translateY(-22px)}50%,72%{transform:translateY(-44px)}75%,97%{transform:translateY(-66px)}to{transform:translateY(-88px)}}.band[data-astro-cid-z6xrels5]{fill:#1f6fff29}.expected[data-astro-cid-z6xrels5]{stroke:var(--ink);stroke-width:1.2px}.ink-text[data-astro-cid-z6xrels5]{fill:var(--ink)}.value[data-astro-cid-z6xrels5],.dot[data-astro-cid-z6xrels5]{fill:var(--accent)}.answer[data-astro-cid-z6xrels5]{animation:1.1s cubic-bezier(.5,0,.5,1.4) .5s both v-drop}@keyframes v-drop{0%{opacity:0;transform:translateY(-46px)}30%{opacity:1}}.principle[data-astro-cid-7wvsl737]{grid-template-rows:auto auto 1fr auto}.principle[data-astro-cid-7wvsl737] h3[data-astro-cid-7wvsl737]{margin-top:10px}.principle[data-astro-cid-7wvsl737] p[data-astro-cid-7wvsl737]{font-size:15px;line-height:1.4}.split[data-astro-cid-sm6oqvwz]{border-top:1px solid var(--ink);grid-template-columns:1fr 1fr 2fr;gap:clamp(16px,2.4vw,32px);margin-top:clamp(40px,6vh,64px);padding-top:18px;display:grid}.tiles[data-astro-cid-sm6oqvwz]{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.locked[data-astro-cid-sm6oqvwz] .tiles[data-astro-cid-sm6oqvwz]{grid-template-columns:repeat(8,minmax(0,1fr))}.tile[data-astro-cid-sm6oqvwz]{aspect-ratio:1;background:var(--paper-2);animation:o-in .5s var(--ease) both;animation-delay:calc(var(--i) * 30ms);align-content:center;gap:5px;padding:18%;display:grid;position:relative;overflow:hidden}.line[data-astro-cid-sm6oqvwz]{background:var(--slate);width:60%;height:2px;display:block}.line[data-astro-cid-sm6oqvwz].long{background:var(--ink);width:100%}.locked[data-astro-cid-sm6oqvwz] .tile[data-astro-cid-sm6oqvwz]{background:var(--ink);padding:0}.cipher[data-astro-cid-sm6oqvwz]{align-content:center;gap:3px;display:grid;position:absolute;inset:16%;overflow:hidden}.stream[data-astro-cid-sm6oqvwz]{font-family:var(--mono);letter-spacing:.08em;color:var(--accent);opacity:.85;white-space:nowrap;font-size:8px;line-height:1;animation:4.2s linear infinite o-scroll}.group-name[data-astro-cid-sm6oqvwz]{margin:14px 0 2px;font-weight:500}.group-note[data-astro-cid-sm6oqvwz]{color:var(--slate);margin:0;font-size:14px}.actions[data-astro-cid-sm6oqvwz]{flex-wrap:wrap;gap:12px;margin-top:clamp(32px,5vh,48px);display:flex}@keyframes o-in{0%{opacity:0;transform:translateY(8px)}}@keyframes o-scroll{to{transform:translate(-50%)}}@media (width<=760px){.split[data-astro-cid-sm6oqvwz]{grid-template-columns:1fr 1fr}.locked[data-astro-cid-sm6oqvwz]{grid-column:1/-1}}.topbar[data-astro-cid-h7lskm3e]{z-index:20;-webkit-backdrop-filter:blur(10px);color:var(--fog);border-bottom:1px solid var(--line-dark);background:#0a0b0deb;position:sticky;top:0}.bar[data-astro-cid-h7lskm3e]{align-items:center;gap:clamp(16px,3vw,40px);height:60px;display:flex}.brand[data-astro-cid-h7lskm3e]{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand[data-astro-cid-h7lskm3e] svg[data-astro-cid-h7lskm3e]{width:22px;height:22px}.name[data-astro-cid-h7lskm3e]{font-family:var(--display);letter-spacing:.02em;font-size:15px;font-weight:600}.by[data-astro-cid-h7lskm3e]{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fog-faint);font-size:10.5px}nav[data-astro-cid-h7lskm3e]{gap:clamp(14px,2.4vw,32px);margin-left:auto;font-size:14px;display:flex}nav[data-astro-cid-h7lskm3e] a[data-astro-cid-h7lskm3e]{opacity:.78;transition:opacity .3s var(--ease);text-decoration:none}nav[data-astro-cid-h7lskm3e] a[data-astro-cid-h7lskm3e]:hover{opacity:1}.cta[data-astro-cid-h7lskm3e]{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:var(--on-accent);transition:background .3s var(--ease), color .3s var(--ease);padding:9px 14px;font-size:11px;text-decoration:none}.cta[data-astro-cid-h7lskm3e]:hover{background:var(--fog);color:var(--ink)}@media (width<=860px){nav[data-astro-cid-h7lskm3e]{display:none}.cta[data-astro-cid-h7lskm3e]{margin-left:auto}}@media (width<=420px){.by[data-astro-cid-h7lskm3e]{display:none}}.room[data-astro-cid-khyqjkhf]{fill:none;stroke:var(--slate);stroke-width:.05px;opacity:.6}.edge[data-astro-cid-khyqjkhf]{fill:none;stroke:var(--ink);stroke-width:.07px}.route[data-astro-cid-khyqjkhf]{fill:none;stroke:var(--accent);stroke-width:.2px;stroke-linecap:round;stroke-linejoin:round}.node[data-astro-cid-khyqjkhf]{fill:var(--paper);stroke:var(--ink);stroke-width:.08px;transform-box:fill-box;transform-origin:50%;animation:b-pop .5s var(--ease) both}.node[data-astro-cid-khyqjkhf].hot{fill:var(--accent);stroke:var(--accent)}.len[data-astro-cid-khyqjkhf]{fill:var(--accent);font-size:.62px}@keyframes b-pop{0%{transform:scale(0)}}.setback[data-astro-cid-un57q6mn]{fill:none;stroke:var(--slate);stroke-width:1px;stroke-dasharray:3 3}.floor[data-astro-cid-un57q6mn]{fill:var(--paper-2);stroke:var(--ink);stroke-width:1px;transform-box:fill-box;transform-origin:50% 100%;animation:u-rise .6s var(--ease) both}.floor[data-astro-cid-un57q6mn].top{fill:var(--accent);stroke:var(--accent);animation:u-rise .6s var(--ease) both, u-hit .5s var(--ease) both}.limit[data-astro-cid-un57q6mn]{stroke:var(--accent);stroke-width:1.2px}.limit-label[data-astro-cid-un57q6mn]{fill:var(--accent)}@keyframes u-rise{0%{opacity:0;transform:scaleY(.2)}}@keyframes u-hit{0%{fill:var(--paper-2);stroke:var(--ink)}}.glass[data-astro-cid-fpd5cmlp]{fill:#1f6fff47}.shade[data-astro-cid-fpd5cmlp]{fill:var(--ink);opacity:.78}.solid[data-astro-cid-fpd5cmlp]{fill:var(--ink)}.ray[data-astro-cid-fpd5cmlp]{stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 3}.sun[data-astro-cid-fpd5cmlp]{fill:var(--accent)}.arm[data-astro-cid-fpd5cmlp]{transform-box:view-box;transform-origin:128px 70px;animation:7s ease-in-out infinite alternate c-sun;transform:rotate(38deg)}@keyframes c-sun{0%{transform:rotate(14deg)}to{transform:rotate(58deg)}}.bar[data-astro-cid-ujjqykqo]{fill:var(--accent);transform-box:fill-box;transform-origin:0;animation:r-fill 1.6s var(--ease) .3s both}.limit[data-astro-cid-ujjqykqo]{stroke:var(--ink);stroke-width:1.5px}.value[data-astro-cid-ujjqykqo]{fill:var(--on-accent)}.ink-text[data-astro-cid-ujjqykqo],.stamp[data-astro-cid-ujjqykqo]{fill:var(--ink)}.stamp-text[data-astro-cid-ujjqykqo]{fill:var(--paper);text-transform:uppercase;letter-spacing:.08em}@keyframes r-fill{0%{transform:scaleX(0)}}.track[data-astro-cid-c4q6cj7k]{grid-template-rows:auto auto auto 1fr auto}.track[data-astro-cid-c4q6cj7k] .fig{margin-bottom:6px}.track[data-astro-cid-c4q6cj7k] h3[data-astro-cid-c4q6cj7k]{margin-top:4px}.question[data-astro-cid-c4q6cj7k]{font-size:15px;line-height:1.4}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#0a0b0d;--ink-2:#14161a;--paper:#f4f5f7;--paper-2:#e6e8ec;--fog:#e9edf2;--slate:#7d8592;--text-paper:#3b4048;--accent:#1f6fff;--on-accent:#fff;--line-paper:#0a0b0d1f;--line-dark:#e9edf224;--fog-dim:#e9edf2b8;--fog-faint:#e9edf280;--display:"General Sans", "Helvetica Neue", Arial, sans-serif;--body:"General Sans", "Helvetica Neue", Arial, sans-serif;--mono:"Geist Mono Variable", ui-monospace, "SFMono-Regular", Menlo, monospace;--ease:cubic-bezier(.22, 1, .36, 1);--gutter:max(20px, 3.2vw);--max:1440px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:64px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.5}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin:0 auto}.label,.eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.label{color:var(--slate)}.mark{font-family:var(--mono);letter-spacing:.06em;color:var(--slate);font-size:12px}.btn{background:var(--ink);color:var(--paper);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .35s var(--ease), color .35s var(--ease), box-shadow .35s var(--ease);border:0;align-items:center;gap:12px;padding:15px 22px;font-size:12px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent);color:var(--on-accent)}.btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.on-dark .btn{background:var(--accent);color:var(--on-accent)}.on-dark .btn:hover{background:var(--fog);color:var(--ink)}.on-dark .btn-ghost{color:var(--fog);background:0 0;box-shadow:inset 0 0 0 1px #e9edf266}.on-dark .btn-ghost:hover{background:var(--fog);color:var(--ink);box-shadow:none}.section{border-top:1px solid var(--line-paper);padding-block:clamp(72px,12vh,140px)}.section-head{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;display:grid}.section-head .mark{grid-column:1/-1;margin:0 0 22px}.section-head h2{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;grid-column:1/span 9;margin:0;font-size:clamp(2rem,4vw,3.9rem);font-weight:500;line-height:1.02}.section-head .lede{color:var(--text-paper);grid-column:1/span 6;max-width:50ch;margin:28px 0 0;font-size:19px;line-height:1.5}.dark{background:var(--ink);color:var(--fog);border-top:0}.dark .section-head .lede{color:var(--fog-dim)}.dark .mark{color:var(--fog-faint)}.cards{border-top:1px solid var(--ink);grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(48px,8vh,88px) 0 0;padding:0;list-style:none;display:grid}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border-right:1px solid var(--line-paper);grid-template-rows:auto auto 1fr;gap:14px;min-width:0;padding:22px clamp(12px,2vw,28px) 8px 0;display:grid}.card+.card{padding-left:clamp(16px,2vw,28px)}.card:last-child{border-right:0}.card h3{font-family:var(--display);letter-spacing:-.03em;margin:20px 0 0;font-size:clamp(1.4rem,2vw,1.9rem);font-weight:500;line-height:1.05}.card p{color:var(--text-paper);max-width:34ch;margin:0}.dark .cards{border-top-color:var(--fog)}.dark .card{border-right-color:var(--line-dark)}.dark .card p{color:var(--fog-dim)}@media (width<=1000px){.cards,.cards.three{grid-template-columns:repeat(2,minmax(0,1fr))}.card:nth-child(2n){border-right:0}.card:nth-child(odd){padding-left:0}.card:nth-child(n+3){border-top:1px solid var(--line-paper)}.dark .card:nth-child(n+3){border-top-color:var(--line-dark)}}@media (width<=680px){body{font-size:16px}.section-head h2,.section-head .lede{grid-column:1/-1}.section-head .lede{font-size:17px}.cards,.cards.three{grid-template-columns:1fr}.card,.card+.card,.card:nth-child(odd){border-right:0;padding:22px 0 28px}.card+.card{border-top:1px solid var(--line-paper)}.dark .card+.card{border-top-color:var(--line-dark)}}.js [data-reveal]:not(.is-in),.js [data-reveal]:not(.is-in) *{animation-play-state:paused!important}.fig{background:var(--paper);height:clamp(170px,15vw,230px);margin:0}.fig svg{width:100%;height:100%;display:block;overflow:visible}.fig text{font-family:var(--mono);letter-spacing:.04em;fill:var(--slate);font-size:8px}.fig .ink{fill:none;stroke:var(--ink);stroke-width:1.2px}.fig .draw{stroke-dasharray:1;stroke-dashoffset:0;animation:fig-draw 1.2s var(--ease) both}.fig .fade{animation:fig-fade .6s var(--ease) both}@keyframes fig-draw{0%{stroke-dashoffset:1px}}@keyframes fig-fade{0%{opacity:0}}.openable{position:relative}.open{color:var(--ink);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .3s var(--ease);background:0 0;border:0;justify-self:start;align-items:center;gap:10px;margin-top:10px;padding:0;font-size:11px;display:inline-flex}.open:after{content:"";position:absolute;inset:0}.open i{width:20px;height:20px;transition:background-color .3s var(--ease), transform .4s var(--ease);background:linear-gradient(currentColor,currentColor) 50%/8px 1px no-repeat,linear-gradient(currentColor,currentColor) 50%/1px 8px no-repeat;box-shadow:inset 0 0 0 1px}.openable:hover .open,.open:focus-visible{color:var(--accent)}.openable:hover .open i{transform:rotate(90deg)}.open:focus-visible{outline:none}.open:focus-visible:after{outline:2px solid var(--accent);outline-offset:-2px}
