@font-face{font-family:"Instrument Sans";src:url("/assets/fonts/instrument-sans-latin-wght.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/ibm-plex-mono-latin-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--background:#0E0F11;--surface:#15171A;--surface-raised:#1B1E22;--text:#ECEDEE;--text-muted:#9BA1A6;--accent:#F2B441;--line:rgb(255 255 255 / 0.08);--line-strong:rgb(255 255 255 / 0.14);--line-hover:rgb(255 255 255 / 0.24);--font-sans:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--fs-display:clamp(2.75rem,1.4rem + 5vw,5.5rem);--fs-page:clamp(2.75rem,1.8rem + 3.4vw,4.5rem);--fs-h2:clamp(1.75rem,1.35rem + 1.3vw,2.5rem);--fs-lede:clamp(1.1875rem,1.05rem + 0.45vw,1.4375rem);--fs-h3:1.375rem;--fs-body:1.0625rem;--fs-small:0.9375rem;--fs-mono:0.75rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--gutter:var(--s-4);--section-y:var(--s-8);--sidebar-w:240px;--strip-h:48px;--tabs-h:48px;--measure:62ch;--radius:6px;--radius-lg:8px;--ease-standard:cubic-bezier(0.2,0,0,1);--ease-emphasized:cubic-bezier(0.16,1,0.3,1);--ease-enter:cubic-bezier(0.22,1,0.36,1);--duration-micro:140ms;--duration-fast:200ms;--duration-normal:320ms;--duration-reveal:560ms;--duration-slow:800ms;--stagger:70ms;--rise:12px;color-scheme:dark}@media (min-width:768px){:root{--gutter:var(--s-6);--section-y:var(--s-9)}}@media (min-width:1280px){:root{--gutter:var(--s-8);--section-y:var(--s-10)}}*,*::before,*::after{box-sizing:border-box}html{background:var(--background);color:var(--text);font:400 var(--fs-body) / 1.65 var(--font-sans);-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:calc(var(--tabs-h) + var(--s-4))}@media (min-width:1024px){html{scroll-padding-top:0}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;min-height:100vh;background:var(--background);overflow-wrap:break-word}h1,h2,h3,p,ul,ol,dl,dd,blockquote{margin:0}ul,ol{padding:0;list-style:none}img,svg{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration-color:var(--line-hover);text-decoration-thickness:1px;text-underline-offset:0.2em;transition:color var(--duration-micro) var(--ease-standard),text-decoration-color var(--duration-micro) var(--ease-standard)}a:hover{text-decoration-color:currentColor}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:rgb(242 180 65 / 0.3);color:var(--text)}.icon{flex:none;width:1em;height:1em}.vh{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:absolute;z-index:100;top:var(--s-3);left:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius);font-weight:500;text-decoration:none;transform:translateY(-200%);transition:transform var(--duration-fast) var(--ease-emphasized)}.skip:focus-visible{transform:none}main:focus{outline:none}.facts,.rule,.strip__code,.strip__meta,.sidebar__sub,.gauge__label,.tab__code,.datalist dt,.card__data,.card__tags,.category__count,.contact__code,.contact__handle,.footer{font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:400;line-height:1.5;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted)}.link{position:relative;display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;color:var(--text-muted);font-size:var(--fs-small);font-weight:500;text-decoration:none}.link__text{position:relative}.link__text::after{content:"";position:absolute;right:0;bottom:-2px;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--duration-fast) var(--ease-emphasized)}.link .icon{transition:transform var(--duration-fast) var(--ease-standard)}.link:hover,.link:focus-visible{color:var(--text)}.link:hover .link__text::after,.link:focus-visible .link__text::after{transform:scaleX(1)}.link:hover .icon--arrow-right,.link:focus-visible .icon--arrow-right{transform:translateX(4px)}.link:hover .icon--arrow-left,.link:focus-visible .icon--arrow-left{transform:translateX(-4px)}.link:hover .icon--arrow-up-right,.link:focus-visible .icon--arrow-up-right{transform:translate(2px,-2px)}.icon--arrow-up-right{width:0.8em;height:0.8em}.action--primary{color:var(--text);font-size:var(--fs-body);box-shadow:inset 0 -1px 0 var(--line-hover)}.action--primary .link__text{position:static}.action--primary .link__text::after{bottom:0;background:var(--accent)}.shell{min-height:100vh}.frame{min-width:0}.sidebar{display:none}@media (min-width:1024px){.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;height:100dvh;padding:var(--s-6) 0 var(--s-5);border-right:1px solid var(--line);overflow-y:auto;scrollbar-width:none}}.sidebar__id{display:block;padding:0 var(--s-5);text-decoration:none}.sidebar__name{display:block;font-size:1.0625rem;font-weight:600;line-height:1.15;letter-spacing:-0.01em;transition:color var(--duration-micro) var(--ease-standard)}.sidebar__sub{display:block;margin-top:var(--s-2)}.sidebar__id:hover .sidebar__name{color:var(--accent)}.strips{position:relative;margin-top:var(--s-7)}.strips__list{border-top:1px solid var(--line)}.strip{position:relative;display:grid;grid-template-columns:minmax(28px,auto) minmax(0,1fr) auto;align-items:center;gap:var(--s-3);min-height:var(--strip-h);padding:var(--s-2) var(--s-5);border-bottom:1px solid var(--line);color:var(--text-muted);text-decoration:none;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-micro) var(--ease-standard)}.strip::before{content:"";position:absolute;top:-1px;bottom:0;left:0;width:2px;background:var(--line-hover);transform:scaleY(0);transform-origin:top;transition:transform var(--duration-fast) var(--ease-emphasized)}.strip__code,.strip__label{transition:transform var(--duration-fast) var(--ease-standard),color var(--duration-micro) var(--ease-standard)}.strip__label{font-size:var(--fs-small);font-weight:500;letter-spacing:0.005em;transition-delay:20ms}.strip__meta{color:var(--text-muted);opacity:0.8}.strip:hover{background:var(--surface);color:var(--text)}.strip:hover::before{transform:scaleY(1)}.strip:hover .strip__code{transform:translateX(2px)}.strip:hover .strip__label{transform:translateX(1px)}.strip:focus-visible{outline-offset:-2px;border-radius:0}.strip[aria-current]{background:var(--surface);color:var(--text)}.strip[aria-current] .strip__code{color:var(--accent);transform:translateX(2px)}.strips__marker{position:absolute;z-index:1;top:0;left:0;width:2px;height:var(--strip-h);background:var(--accent);opacity:0;transform:translateY(var(--y,0)) scaleY(var(--sy,1));transform-origin:top;pointer-events:none}.strips__marker.is-on{opacity:1}.strips__marker.is-ready{transition:transform var(--duration-normal) var(--ease-emphasized),opacity var(--duration-fast) var(--ease-standard)}.gauge{position:relative;display:flex;align-items:flex-start;gap:var(--s-3);height:120px;margin:var(--s-6) var(--s-5) 0}.gauge__ticks{width:12px;height:120px;overflow:visible}.gauge__ticks path{fill:none;stroke:var(--line-hover);stroke-width:1;vector-effect:non-scaling-stroke}.gauge__pointer{position:absolute;top:-1px;left:14px;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-right:6px solid var(--accent);transform:translateY(calc(var(--progress,0) * 116px - 3px));opacity:0;transition:transform var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.js-ready .gauge__pointer{opacity:1}.gauge__label{margin-left:var(--s-4);writing-mode:vertical-rl;transform:rotate(180deg);align-self:flex-end;opacity:0.8}.sidebar__foot{margin-top:auto;padding:var(--s-6) var(--s-5) 0;display:grid;gap:var(--s-4)}.sidebar__page{justify-self:start;min-height:40px;color:var(--text)}.sidebar__social{display:grid;gap:var(--s-1);padding-top:var(--s-4);border-top:1px solid var(--line)}.sidebar__social .link{min-height:32px;font-weight:400}.masthead{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) var(--gutter)}.masthead__name{display:inline-flex;align-items:center;min-height:44px;font-weight:600;letter-spacing:-0.01em;text-decoration:none}.masthead__link{font-weight:400}.tabs{position:sticky;top:0;z-index:20;background:var(--background);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tabs__list{position:relative;display:flex;height:var(--tabs-h);padding:0 calc(var(--gutter) - var(--s-3));overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.tabs__list::-webkit-scrollbar{display:none}.tabs__list.fade-end{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent)}.tabs__list.fade-start.fade-end{-webkit-mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent)}.tabs__list.fade-start:not(.fade-end){-webkit-mask-image:linear-gradient(to right,transparent,#000 40px);mask-image:linear-gradient(to right,transparent,#000 40px)}.tab{position:relative;display:flex;align-items:center;gap:var(--s-2);height:100%;min-height:44px;padding:0 var(--s-3);color:var(--text-muted);font-size:var(--fs-small);font-weight:500;white-space:nowrap;text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}.tab__code{transition:color var(--duration-fast) var(--ease-standard)}.tab:hover{color:var(--text)}.tab[aria-current]{color:var(--text)}.tab[aria-current] .tab__code{color:var(--accent)}.tab:focus-visible{outline-offset:-4px}.tabs__indicator{position:absolute;bottom:0;left:0;width:100px;height:2px;background:var(--accent);opacity:0;transform:translateX(var(--x,0)) scaleX(var(--sx,0));transform-origin:left;pointer-events:none}.tabs__indicator.is-on{opacity:1}.tabs__indicator.is-ready{transition:transform var(--duration-normal) var(--ease-emphasized),opacity var(--duration-fast) var(--ease-standard)}@media (min-width:1024px){.masthead,.tabs{display:none}}.section{padding:var(--section-y) var(--gutter);border-top:1px solid var(--line)}.section:first-child{border-top:0}.wrap{width:100%;max-width:1180px;margin:0 auto}.rule{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-7)}.rule::after{content:"";flex:1;height:1px;background:var(--line-strong);transform-origin:left}.rule__code{color:var(--accent)}.section__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2) var(--s-5);margin-bottom:var(--s-7)}.section__head .rule{flex:1 1 280px;margin-bottom:0}.section__aside{display:inline-flex}.facts{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--s-1)}.facts__mark{width:6px;height:6px;margin-right:var(--s-2);background:var(--accent)}.facts__sep{white-space:pre}.display{margin-top:var(--s-5);font-size:var(--fs-display);font-weight:600;line-height:0.95;letter-spacing:-0.04em;text-wrap:balance}.display .line{display:block;padding-bottom:0.12em;margin-bottom:-0.12em;overflow:hidden}.display .line>span{display:block}.display--page{font-size:var(--fs-page);line-height:1;letter-spacing:-0.035em}.lede{max-width:34ch;margin-top:var(--s-6);font-size:var(--fs-lede);line-height:1.45;letter-spacing:-0.005em;color:var(--text-muted);text-wrap:pretty}.lede a{color:var(--text)}.intro{display:grid;align-content:center;padding-top:var(--s-7)}.intro__grid{display:grid;gap:var(--s-7);align-items:center}.intro__actions{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);margin-top:var(--s-6)}@media (min-width:768px){.intro{padding-top:var(--section-y)}}@media (min-width:1024px){.intro{min-height:min(100vh,960px)}.intro__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-8)}}.radar{width:100%;max-width:300px;justify-self:center}@media (min-width:768px){.radar{max-width:380px}}@media (min-width:1024px){.radar{max-width:460px;justify-self:end}}.radar svg{width:100%;height:auto;overflow:visible}.radar__axis,.radar__ring{fill:none;stroke:var(--line-strong);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:0}.radar__axis{stroke:var(--line)}.radar__ring--3{stroke:var(--line-hover)}.radar__ticks{fill:none;stroke:var(--line-hover);stroke-width:1}.radar__bearings text,.radar__block text{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;fill:var(--text-muted);white-space:pre}.radar__dot{fill:var(--text-muted)}.radar__dot[data-i="0"]{opacity:0.2}.radar__dot[data-i="1"]{opacity:0.35}.radar__dot[data-i="2"]{opacity:0.5}.radar__dot[data-i="3"]{opacity:0.7}.radar__dot[data-i="4"]{opacity:0.9}.radar__target{fill:none;stroke:var(--accent);stroke-width:1.5;transform-box:fill-box;transform-origin:center}.radar__leader{fill:none;stroke:var(--text-muted);stroke-width:1;stroke-dasharray:1}.radar__block rect{fill:var(--background)}.radar__block text{font-size:13px}.radar__block .radar__callsign{fill:var(--text)}.radar--empty .radar__callsign{fill:var(--accent)}.about__grid{display:grid;gap:var(--s-7)}@media (min-width:1024px){.about__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-8)}}.pull{padding-left:var(--s-5);border-left:2px solid var(--accent);font-size:var(--fs-h2);font-weight:500;line-height:1.18;letter-spacing:-0.025em;text-wrap:balance}.datalist{display:grid;margin-top:var(--s-7);border-top:1px solid var(--line)}.datalist div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.datalist dt{padding-top:0.2em}.datalist dd{font-size:var(--fs-small)}.prose{max-width:var(--measure)}.prose p + p{margin-top:1.1em}.prose p:first-child{font-size:var(--fs-lede);line-height:1.5;letter-spacing:-0.005em}@media (min-width:1024px){.prose{padding-top:var(--s-1)}}.work{background:var(--surface)}.work .card{background:var(--background)}.showcase{display:grid;gap:var(--s-4)}@media (min-width:768px){.showcase{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5)}.showcase>.card{grid-column:span 6}}@media (min-width:1280px){.showcase>.span-7{grid-column:span 7}.showcase>.span-5{grid-column:span 5}.showcase>.span-4{grid-column:span 4}}.work__more{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);margin-top:var(--s-6)}.card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);transition:transform var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.card__edge{position:absolute;z-index:2;top:0;bottom:0;left:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform var(--duration-normal) var(--ease-emphasized);pointer-events:none}.card__data{display:flex;flex-wrap:wrap;gap:0 var(--s-2);padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--line);transition:color var(--duration-fast) var(--ease-standard)}.card__data span + span::before{content:"·";margin-right:var(--s-2);opacity:0.6}.card__index{color:var(--text);transition:color var(--duration-fast) var(--ease-standard)}.card__year{margin-left:auto}.card__year::before{display:none}.card__visual{position:relative;aspect-ratio:32 / 15;max-height:264px;overflow:hidden;border-bottom:1px solid var(--line)}.card__visual svg,.card__visual img{width:100%;height:100%;overflow:visible;object-fit:cover;transition:transform var(--duration-normal) var(--ease-standard)}.card__body{display:flex;flex:1;flex-direction:column;padding:var(--s-5)}.card__title{font-size:var(--fs-h3);font-weight:600;line-height:1.25;letter-spacing:-0.015em}.card--featured .card__title{font-size:clamp(1.375rem,1.2rem + 0.5vw,1.625rem)}.card__link{display:inline-flex;align-items:center;gap:var(--s-2);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}.card__link::after{content:"";position:absolute;z-index:1;inset:0;border-radius:var(--radius-lg)}.card__link:focus-visible{outline:none}.card__link:focus-visible::after{outline:2px solid var(--accent);outline-offset:-2px}.card__link .icon{width:0.75em;height:0.75em;color:var(--text-muted);transition:transform var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.card__desc{margin-top:var(--s-2);max-width:var(--measure)}.card__why{margin-top:var(--s-2);max-width:var(--measure);color:var(--text-muted);font-size:var(--fs-small)}.card__tags{display:flex;flex-wrap:wrap;margin-top:var(--s-5);transition:color var(--duration-fast) var(--ease-standard)}.card__tags li + li::before{content:"·";margin:0 var(--s-2);opacity:0.6}.card__actions{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:0 var(--s-5);margin-top:auto;padding-top:var(--s-4)}.card__tags + .card__actions{margin-top:var(--s-4)}.card__body>.card__actions:last-child{margin-top:auto}.card__actions .icon{width:12px;height:12px}@media (hover:hover){.card:hover{transform:translateY(-3px);border-color:var(--line-hover)}.card:hover .card__edge{transform:scaleY(1)}.card:hover .card__visual svg,.card:hover .card__visual img{transform:scale(1.02)}.card:hover .card__link{color:#fff}.card:hover .card__link .icon{transform:translateX(4px);color:var(--accent)}.card:hover .card__data,.card:hover .card__tags{color:var(--text)}.card:hover .card__index{color:var(--accent)}}.card:focus-within{transform:translateY(-3px);border-color:var(--line-hover)}.card:focus-within .card__edge{transform:scaleY(1)}.card:focus-within .card__visual svg,.card:focus-within .card__visual img{transform:scale(1.02)}.card:focus-within .card__link{color:#fff}.card:focus-within .card__link .icon{transform:translateX(4px);color:var(--accent)}.card:focus-within .card__data,.card:focus-within .card__tags{color:var(--text)}.card:focus-within .card__index{color:var(--accent)}.v-grid{fill:rgb(255 255 255 / 0.07)}.card__visual pattern circle{fill:rgb(255 255 255 / 0.09)}.v-line,.v-faint,.v-bar,.v-cell{fill:none;stroke-width:1;vector-effect:non-scaling-stroke}.v-line{stroke:var(--line-hover)}.v-faint{stroke:var(--line-strong)}.v-cell{stroke:var(--line-strong);fill:var(--background)}.work .v-cell{fill:var(--surface)}.v-bar{stroke:var(--line-hover);stroke-width:4;vector-effect:none}.v-bar--accent{stroke:var(--accent)}.v-accent-stroke{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.v-text,.v-strong{font-family:var(--font-mono);font-size:14px;letter-spacing:0.06em}.v-text{fill:var(--text-muted)}.v-strong{fill:var(--text);font-size:17px;letter-spacing:0.02em}.v-accent-fill{fill:var(--accent)}.index-head{padding-bottom:var(--s-8)}.index-head .lede{max-width:46ch}.category{padding-block:var(--s-8)}@media (min-width:1280px){.category{padding-block:var(--s-9)}}.category__grid{display:grid;gap:var(--s-6)}.category__head .rule{margin-bottom:var(--s-3)}.category__index{display:flex;flex-wrap:wrap;gap:0 var(--s-4);margin-top:var(--s-2)}.category__index .link{font-weight:400}.category__cards{display:grid;gap:var(--s-4)}@media (min-width:768px){.category__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5)}.category__cards>.span-wide{grid-column:1 / -1}}@media (min-width:1280px){.category__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-5)}.category__head{grid-column:1 / span 4;position:sticky;top:var(--s-6);align-self:start;padding-right:var(--s-6)}.category__index{display:grid;gap:0;margin-top:var(--s-4);border-top:1px solid var(--line)}.category__index li{border-bottom:1px solid var(--line)}.category__index .link{display:flex;min-height:40px}.category__cards{grid-column:5 / -1}}.contact__list{border-top:1px solid var(--line-strong)}.contact__link{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"code arrow" "label arrow" "handle arrow";align-items:center;gap:var(--s-1) var(--s-4);padding:var(--s-5) 0;border-bottom:1px solid var(--line-strong);text-decoration:none}.contact__code{grid-area:code;display:inline-flex;align-items:center;gap:var(--s-2);transition:color var(--duration-fast) var(--ease-standard)}.contact__code::before{content:"";width:6px;height:6px;background:var(--accent);transform:scale(0);transition:transform var(--duration-fast) var(--ease-emphasized)}.contact__label{grid-area:label;position:relative;justify-self:start;font-size:var(--fs-h2);font-weight:500;line-height:1.1;letter-spacing:-0.03em;transition:transform var(--duration-fast) var(--ease-standard)}.contact__label::after{content:"";position:absolute;right:0;bottom:-0.08em;left:0;height:1px;background:var(--text);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-normal) var(--ease-emphasized)}.contact__handle{grid-area:handle;text-transform:none;letter-spacing:0.02em;transition:color var(--duration-fast) var(--ease-standard)}.contact__arrow{grid-area:arrow;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text-muted);transition:border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.contact__arrow .icon{transition:transform var(--duration-fast) var(--ease-standard)}.contact__link:hover .contact__code,.contact__link:focus-visible .contact__code{color:var(--accent)}.contact__link:hover .contact__code::before,.contact__link:focus-visible .contact__code::before{transform:scale(1)}.contact__link:hover .contact__label,.contact__link:focus-visible .contact__label{transform:translateX(4px)}.contact__link:hover .contact__label::after,.contact__link:focus-visible .contact__label::after{transform:scaleX(1)}.contact__link:hover .contact__handle,.contact__link:focus-visible .contact__handle{color:var(--text)}.contact__link:hover .contact__arrow,.contact__link:focus-visible .contact__arrow{border-color:var(--accent);color:var(--accent);background:var(--surface)}.contact__link:hover .contact__arrow .icon,.contact__link:focus-visible .contact__arrow .icon{transform:translate(2px,-2px)}.contact__link:focus-visible{outline-offset:4px}@media (min-width:768px){.contact__link{grid-template-columns:96px minmax(0,1fr) auto 44px;grid-template-areas:"code label handle arrow";gap:var(--s-5);padding:var(--s-6) 0}.contact__label{font-size:clamp(2rem,1.2rem + 2.4vw,3.5rem)}}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-2) var(--s-5);padding:var(--s-6) var(--gutter);border-top:1px solid var(--line)}.lost{padding-top:var(--s-7)}.lost__grid{display:grid;gap:var(--s-7);align-items:center}@media (min-width:1024px){.lost{display:grid;align-content:center;min-height:calc(100vh - 89px)}.lost__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-8)}}.stagger>:nth-child(2){--i:1}.stagger>:nth-child(3){--i:2}.stagger>:nth-child(4){--i:3}.stagger>:nth-child(5){--i:4}.stagger>:nth-child(6){--i:5}.stagger>:nth-child(7){--i:6}@keyframes rise{from{opacity:0;translate:0 var(--rise)}}@keyframes rise-line{from{translate:0 120%}}@keyframes fade{from{opacity:0}}@keyframes slide-in{from{opacity:0;translate:-8px 0}}@keyframes draw{from{stroke-dashoffset:1}}@keyframes pop{from{opacity:0;transform:scale(0.4)}}@keyframes wipe{from{clip-path:inset(0 100% 0 0)}}@keyframes unmask{from{opacity:0;clip-path:inset(0 0 100% 0);translate:0 8px}to{clip-path:inset(0 0 -10% 0)}}@keyframes grow-x{from{transform:scaleX(0)}}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{from{opacity:0}}@media (prefers-reduced-motion:no-preference){.enter{animation:rise var(--duration-slow) var(--ease-enter) backwards;animation-delay:calc(var(--i,0) * var(--stagger) + 40ms)}.enter-lines .line>span{animation:rise-line var(--duration-slow) var(--ease-emphasized) backwards;animation-delay:calc(var(--i,0) * var(--stagger) + 40ms)}.enter-lines .line + .line>span{animation-delay:calc(var(--i,0) * var(--stagger) + 40ms + var(--stagger))}.sidebar>:not(.strips),.strips__list>li{animation:slide-in var(--duration-reveal) var(--ease-enter) backwards;animation-delay:calc(var(--i,0) * 50ms)}.strips__list>li{animation-delay:calc(60ms + var(--i,0) * 40ms)}.strips__marker.is-on{animation:fade var(--duration-reveal) var(--ease-standard) 100ms backwards}.masthead,.tabs{animation:fade var(--duration-reveal) var(--ease-standard) backwards}.is-returning .sidebar>*,.is-returning .strips__list>li,.is-returning .masthead,.is-returning .tabs,.is-returning .strips__marker{animation:none}.radar__ring{animation:draw var(--duration-slow) var(--ease-emphasized) backwards}.radar__ring--3{animation-delay:120ms}.radar__ring--2{animation-delay:220ms}.radar__ring--1{animation-delay:300ms}.radar__axis{animation:fade var(--duration-reveal) var(--ease-standard) 360ms backwards}.radar__ticks{animation:fade var(--duration-reveal) var(--ease-standard) 420ms backwards}.radar__bearings{animation:rise var(--duration-reveal) var(--ease-enter) 460ms backwards;--rise:4px}.radar__dot{animation:fade var(--duration-normal) var(--ease-standard) backwards;animation-delay:calc(500ms + var(--n,0) * 45ms)}.radar__dot[data-i="1"]{--n:1}.radar__dot[data-i="2"]{--n:2}.radar__dot[data-i="3"]{--n:3}.radar__dot[data-i="4"]{--n:4}.radar__target{animation:pop var(--duration-normal) var(--ease-emphasized) 700ms backwards}.radar__leader{animation:draw var(--duration-fast) var(--ease-standard) 760ms backwards}.radar__block{animation:wipe var(--duration-normal) var(--ease-emphasized) 800ms backwards}.js-motion [data-reveal]:not([data-reveal="rule"]):not(.is-in){opacity:0}.js-motion [data-reveal].is-in{animation:rise var(--duration-reveal) var(--ease-enter) var(--d,0ms) backwards}.js-motion [data-reveal="mask"].is-in{animation:unmask var(--duration-slow) var(--ease-emphasized) var(--d,0ms) backwards}.js-motion .rule:not(.is-in)>*,.js-motion .rule:not(.is-in)::after{opacity:0}.js-motion .rule.is-in{animation:none}.js-motion .rule.is-in .rule__code{animation:fade var(--duration-reveal) var(--ease-standard) var(--d,0ms) backwards}.js-motion .rule.is-in .rule__label{animation:rise var(--duration-reveal) var(--ease-enter) calc(var(--d,0ms) + 60ms) backwards;--rise:6px}.js-motion .rule.is-in::after{animation:grow-x var(--duration-slow) var(--ease-emphasized) calc(var(--d,0ms) + 100ms) backwards}.js-motion .card.is-in .card__visual>*{animation:fade var(--duration-slow) var(--ease-standard) calc(var(--d,0ms) + 140ms) backwards}.js-motion .footer.is-in{--rise:4px}@view-transition{navigation:auto}.sidebar{view-transition-name:sidebar}.tabs{view-transition-name:tabs}::view-transition-old(root){animation:vt-out 160ms var(--ease-standard) backwards}::view-transition-new(root){animation:vt-in var(--duration-normal) var(--ease-enter) backwards}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms !important;animation-delay:0ms !important;transition-duration:1ms !important;transition-delay:0ms !important}.card:hover,.card:focus-within,.card:hover .card__visual svg,.card:focus-within .card__visual svg,.card:hover .card__visual img,.card:focus-within .card__visual img,.link .icon,.card__link .icon,.strip .strip__code,.strip .strip__label,.contact__label,.contact__arrow .icon{transform:none !important}}