@layer components{.hp-btn-primary{--btn-bg:var(--accent);--btn-fg:var(--on-accent);box-shadow:none;border-color:#0000}.hp-btn-primary:hover{--btn-bg:color-mix(in oklab, var(--accent) 82%, var(--bg))}.hp-btn-ghost{border-color:var(--line-strong)}.hp-news{background:var(--surface);border-color:var(--line-strong);-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--ink)}.hp-news:hover{background:var(--raised);border-color:var(--ink)}.hp-news .badge{background:var(--accent);color:var(--on-accent)}.hp-swatch,.hp-work-card{background:var(--surface);box-shadow:none}html[data-switch=off] [data-theme-toggle]{display:none}body:has(.hp:not(.adm)){background:var(--site-ground)!important;background-image:none!important}body:has(.hp:not(.adm)) .grain{display:none}.strip{border-top:1px solid var(--line);padding-block:clamp(2.5rem,5vw,4rem)}.strip-label{color:var(--faint);text-align:center;margin-bottom:1.5rem;font-size:.85rem}.strip-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem clamp(1.75rem,4vw,3.5rem);display:flex}.strip-row li{color:var(--muted);opacity:.65;place-items:center;transition:opacity .2s,color .2s;display:grid}.strip-row li:hover{color:var(--ink);opacity:1}.strip-row li svg{filter:drop-shadow(0 0 #0000)drop-shadow(0 0 #0000);transition:filter .24s var(--ease-out);overflow:visible}.strip-row li path{stroke:#0000;stroke-width:1.6px;stroke-linejoin:round;paint-order:stroke;transition:stroke .24s var(--ease-out)}.strip-row li:not([data-ink]):hover path{stroke:var(--glow)}.strip-row li:hover svg{filter:drop-shadow(0 0 2px var(--glow)) drop-shadow(0 0 7px color-mix(in srgb, var(--glow) 60%, transparent))}.ct-grid{align-items:start;gap:1.5rem;margin-top:clamp(2.5rem,5vw,4rem);display:grid}@media (min-width:1024px){.ct-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,4vw,4rem)}}.ct-card{border:1px solid var(--line);background:var(--surface);border-radius:24px;gap:1.25rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.hp-dots{background-image:radial-gradient(circle, var(--faint) .8px, transparent .9px);opacity:.6;background-size:7px 100%;height:1rem;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.hp-channel{background:var(--bg)}.hp-intent[data-on=true] .bg{background:var(--accent)}.hp-intent[data-on=true]{color:var(--on-accent)}@media (prefers-reduced-motion:reduce){.hero-hint,.vs,.vs-shot,.vs-more{transition:none!important}}}
@layer components{.hp{--grey:grayscale(1) contrast(1.04) brightness(.92);--grey-mark:grayscale(1) brightness(1.15) contrast(.9);--colour-in:filter .52s var(--ease-out), opacity .52s var(--ease-out), transform .62s var(--ease-out);--spot:#ffffff0e}html:not(.dark) .hp{--grey:grayscale(1) contrast(1.02) brightness(1.02);--grey-mark:grayscale(1) brightness(.55) contrast(1.1);--spot:#ffffff80}html.dark .hp:not(.adm){background-image:radial-gradient(70% 60% at 22% 8%,#ffffff0b,#0000 70%),url(/textures/grain.svg),url(/textures/filigree.svg);background-repeat:no-repeat,repeat,repeat;background-size:100% 100vh,60px 60px,10px}@media (min-width:1024px){html.dark .hp:not(.adm){background-attachment:fixed,scroll,scroll}}html.dark .hx-grid{display:none}.hx{isolation:isolate;padding-top:clamp(7.5rem,15vh,10rem);padding-bottom:clamp(4rem,9vh,6rem);position:relative;overflow-x:clip}.hx-light{z-index:-1;pointer-events:none;background:radial-gradient(50% 55% at 50% 0,#ffffff1c,#0000 70%);height:46rem;position:absolute;inset:-12rem 0 auto}html:not(.dark) .hx-light{background:radial-gradient(50% 55% at 50% 0,#0000000d,#0000 70%)}.hx-grid{z-index:-1;pointer-events:none;background-image:linear-gradient(to right, var(--line) 1px, transparent 1px), linear-gradient(to bottom, var(--line) 1px, transparent 1px);opacity:.7;background-position:top;background-size:72px 72px;height:52rem;position:absolute;inset:0 0 auto;-webkit-mask-image:radial-gradient(60% 55% at 50% 22%,#000 10%,#0000 75%);mask-image:radial-gradient(60% 55% at 50% 22%,#000 10%,#0000 75%)}.hx-copy{text-align:center;flex-direction:column;align-items:center;display:flex}.hx-news-row{justify-content:center;gap:.6rem;max-width:100%;display:flex}@media (max-width:51.99rem){.hx-news-row{flex-direction:column;align-items:center}}.hx-news{--hx-c:#22d3ee;border:1px solid var(--line-strong);background:var(--surface);max-width:100%;color:var(--muted);transition:color .26s var(--ease-out);border-radius:999px;align-items:center;gap:.6rem;padding:.3rem .3rem .3rem .35rem;font-size:.85rem;display:inline-flex;position:relative}.hx-news:hover,.hx-news:focus-visible{color:var(--ink)}.hx-ring{pointer-events:none;filter:drop-shadow(0 0 3px var(--hx-c));position:absolute;top:-1px;left:-1px;overflow:visible}.hx-ring path{fill:none;stroke-linecap:butt}.hx-news-icon{background:#000;border-radius:7px;flex-shrink:0;width:1.5rem;height:1.5rem;position:relative;overflow:hidden}.hx-news-badge{background:var(--ink);color:var(--bg);border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:600}.hx-news-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hx-news-arrow{background:var(--raised);width:1.5rem;height:1.5rem;color:var(--ink);border-radius:999px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.hx-news-arrow>span{width:3rem;transition:translate .5s var(--ease-out);display:flex;translate:-50%}.hx-news-arrow svg{flex-shrink:0;width:1.5rem;height:.75rem}.hx-news:hover .hx-news-arrow>span{translate:0}.hx-title{letter-spacing:-.055em;text-align:center;margin-top:1.75rem;font-size:clamp(2.75rem,7.2vw,6.4rem);line-height:.95}.hx-lead{text-align:center;text-wrap:pretty;max-width:36rem;margin-top:1.5rem}.hx-cta{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2.1rem;display:flex}.hx-stage{margin-top:clamp(3.5rem,8vw,5.5rem)}.hx-frame{border-radius:clamp(1.1rem,2.4vw,1.75rem);padding:clamp(.4rem,1vw,.75rem);position:relative}.hx-frame:before{content:"";border:1px solid var(--line-strong);border-radius:inherit;background:linear-gradient(to bottom, var(--surface), transparent 70%);pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 30%,#0000 92%);mask-image:linear-gradient(#000 30%,#0000 92%)}.hx-window{border:1px solid var(--line-strong);background:var(--bg);border-radius:clamp(.75rem,1.6vw,1.15rem);display:block;position:relative;overflow:hidden;box-shadow:0 40px 80px -40px #000000b3}.hx-bar{border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:1fr minmax(0,22rem) 1fr;align-items:center;gap:1rem;height:2.6rem;padding-inline:.9rem;display:grid}.hx-dots,.wk-bar,.st-bar{gap:.4rem;display:flex}.hx-dots i,.wk-bar i,.st-bar i{background:var(--line-strong);border-radius:999px;width:.6rem;height:.6rem}.hx-url{background:var(--bg);height:1.65rem;font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--muted);border-radius:.5rem;place-items:center;font-size:.75rem;display:grid;overflow:hidden}.hx-view{aspect-ratio:16/9.4;position:relative;overflow:hidden}.hx-logos{flex-wrap:wrap;justify-content:center;gap:clamp(.15rem,.6vw,.5rem);margin-top:clamp(1.5rem,3vw,2.25rem);padding-bottom:clamp(4rem,8vw,6rem);display:flex}.hx-logo{width:clamp(3.4rem,4.6vw,4.1rem);transition:background-color .3s var(--ease-out);border-radius:1rem;flex-direction:column;align-items:center;padding:.6rem .25rem;display:flex;position:relative}.hx-logo:hover,.hx-logo:focus-visible{background:var(--surface)}.hx-logo-mark{width:clamp(2.4rem,3.6vw,3rem);height:clamp(2.4rem,3.6vw,3rem);filter:var(--grey-mark);opacity:.55;transition:var(--colour-in);position:relative;overflow:hidden}.hx-logo[data-icon=true] .hx-logo-mark{border-radius:24%}.hx-logo[data-on=true] .hx-logo-mark{opacity:1}.hx-logo:hover .hx-logo-mark,.hx-logo:focus-visible .hx-logo-mark{filter:none;opacity:1;transform:translateY(-2px)scale(1.06)}.hx-logo-name{white-space:nowrap;color:var(--ink);opacity:0;pointer-events:none;transition:opacity .25s var(--ease-out), translate .25s var(--ease-out);font-size:.72rem;position:absolute;top:calc(100% + .2rem);left:50%;translate:-50% -4px}.hx-logos:not(:hover) .hx-logo[data-on=true] .hx-logo-name,.hx-logo:hover .hx-logo-name,.hx-logo:focus-visible .hx-logo-name{opacity:1;translate:-50%}.hx-logo-timer{background:var(--ink);transform-origin:0;height:1px;animation:linear forwards hx-timer;position:absolute;bottom:.15rem;left:30%;right:30%}@keyframes hx-timer{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.wk-head{align-items:end;gap:1.25rem;display:grid}@media (min-width:1024px){.wk-head{grid-template-columns:1.15fr 1fr;gap:4rem}.wk-head .hp-lead{justify-self:end;max-width:30rem}}.wk-grid{border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong);grid-template-columns:1fr;margin-top:clamp(2.5rem,5vw,4rem);display:grid;position:relative}@media (min-width:720px){.wk-grid{grid-template-columns:repeat(2,1fr)}.wk-wide{grid-column:span 2}}@media (min-width:1024px){.wk-grid{grid-template-columns:repeat(3,1fr)}}.wk-cell{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);position:relative}.wk-cell:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(var(--ink), var(--ink)) center / 1px 100% no-repeat, linear-gradient(var(--ink), var(--ink)) center / 100% 1px no-repeat;opacity:.55;width:9px;height:9px;position:absolute;bottom:-5px;right:-5px}.wk-card{isolation:isolate;height:100%;transition:background-color .4s var(--ease-out);flex-direction:column;padding:clamp(1.25rem,2.2vw,1.75rem);display:flex;position:relative}.wk-card:hover{background:var(--surface)}.wk-card:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(26rem circle at var(--mx,50%) var(--my,35%), var(--spot), transparent 70%);opacity:0;transition:opacity .52s var(--ease-out);position:absolute;inset:0}.wk-card:hover:before{opacity:1}.wk-top{align-items:center;gap:.85rem;display:flex}.wk-mark{width:2.5rem;height:2.5rem;filter:var(--grey-mark);opacity:.8;transition:var(--colour-in);border-radius:24%;flex-shrink:0;position:relative;overflow:hidden}.wk-card:hover .wk-mark,.wk-card:focus-within .wk-mark{filter:none;opacity:1}.wk-name{font-family:var(--font-archivo), "Helvetica Neue", Arial, sans-serif;letter-spacing:-.02em;font-size:1.1rem;font-weight:600;line-height:1.2}.wk-stretch:after{content:"";z-index:2;position:absolute;inset:0}.wk-stretch:focus-visible{outline:none}.wk-stretch:focus-visible:after{outline:2px solid var(--ink);outline-offset:-4px}.wk-kicker{color:var(--faint);margin-top:.15rem;font-size:.82rem}.wk-num{font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--faint);align-self:flex-start;margin-left:auto;font-size:.72rem}.wk-gets{gap:.4rem;margin-left:auto;display:flex}.wk-gets+.wk-num{margin-left:0}.wk-get{z-index:3;background:var(--ink);height:1.85rem;color:var(--bg);transition:background-color .24s var(--ease-out), transform .16s var(--ease-out);border-radius:999px;align-items:center;gap:.2rem;padding-inline:.55rem;display:inline-flex;position:relative}.wk-get:hover{background:color-mix(in oklab, var(--ink) 82%, var(--bg))}.wk-get:active{transform:scale(.95)}.wk-get{--android:#3ddc84}html.dark .wk-get{--android:#18924f}.wk-get svg:first-child{transition:transform .26s var(--ease-out)}.wk-get:hover svg:first-child{transform:translateY(1.5px)}.wk-get:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.wk-line{max-width:40ch;color:var(--muted);text-wrap:pretty;margin-top:1.1rem;font-size:.97rem;line-height:1.5}.wk-window{border:1px solid var(--line-strong);background:var(--bg);transition:transform .62s var(--ease-out), border-color .4s var(--ease-out);border-radius:.8rem;margin-top:1.4rem;position:relative;overflow:hidden}.wk-bar{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;height:1.7rem;padding-inline:.7rem}.wk-bar i{width:.45rem;height:.45rem}.wk-view{aspect-ratio:16/10;position:relative}.wk-wide .wk-view{aspect-ratio:16/7.6}.wk-shot{filter:var(--grey);transition:var(--colour-in)}.wk-card:hover .wk-window{border-color:var(--ink);transform:translateY(-4px)}.wk-card:hover .wk-shot,.wk-card:focus-within .wk-shot{filter:none}.wk-foot{justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1.25rem;display:flex}.wk-stack{flex-wrap:wrap;gap:.35rem;min-width:0;display:flex}.wk-stack li{border:1px solid var(--line);color:var(--faint);border-radius:999px;padding:.18rem .55rem;font-size:.72rem}.wk-live{z-index:3;font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--muted);transition:color .24s var(--ease-out);flex-shrink:0;align-items:center;gap:.3rem;font-size:.72rem;display:inline-flex;position:relative}.wk-live:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.wk-live svg{transition:transform .26s var(--ease-out)}.wk-live:hover svg{transform:translate(1.5px,-1.5px)}.st-grid{gap:clamp(1rem,2vw,1.5rem);margin-top:clamp(2.5rem,5vw,4rem);display:grid}@media (min-width:720px){.st-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1100px){.st-grid{grid-template-columns:repeat(3,1fr)}}.st-card{border:1px solid var(--line-strong);background:var(--bg);height:100%;transition:border-color .4s var(--ease-out), background-color .4s var(--ease-out);border-radius:1.4rem;flex-direction:column;padding:.6rem .6rem 1.35rem;display:flex}.st-card:hover,.st-card:focus-visible{border-color:var(--ink);background:var(--surface)}.st-media{background:linear-gradient(to right, var(--line) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(to bottom, var(--line) 1px, transparent 1px) 0 0 / 24px 24px, var(--surface);border-radius:1rem;padding:1rem 2.75rem 0 1rem;position:relative;overflow:hidden}.st-card:hover .st-media{background-color:var(--raised)}.st-desk{border:1px solid var(--line-strong);background:var(--bg);border-bottom:0;border-radius:.6rem .6rem 0 0;overflow:hidden}.st-bar{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;height:1.4rem;padding-inline:.55rem}.st-bar i{width:.35rem;height:.35rem}.st-desk-view{aspect-ratio:16/10;overflow:hidden}.st-desk-img,.st-phone-img{width:100%;height:auto;filter:var(--grey);transition:filter .52s var(--ease-out), transform .9s var(--ease-in-out);display:block}.st-phone{border:1px solid var(--line-strong);background:var(--bg);width:26%;transition:transform .62s var(--ease-out);border-radius:1rem;padding:.22rem;position:absolute;bottom:-1.4rem;right:.9rem;box-shadow:0 18px 30px -16px #000000a6}.st-phone-view{aspect-ratio:390/844;border-radius:.8rem;overflow:hidden}.st-card:hover .st-desk-img,.st-card:hover .st-phone-img,.st-card:focus-visible .st-desk-img,.st-card:focus-visible .st-phone-img{filter:none}.st-card:hover .st-desk-img,.st-card:focus-visible .st-desk-img{transform:translateY(var(--desk-y));transition:filter .52s var(--ease-out), transform 7s cubic-bezier(.45, 0, .55, 1)}.st-card:hover .st-phone-img,.st-card:focus-visible .st-phone-img{transform:translateY(var(--phone-y));transition:filter .52s var(--ease-out), transform 9s cubic-bezier(.45, 0, .55, 1)}.st-card:hover .st-phone{transform:translateY(-.6rem)}.st-body{align-items:center;gap:.8rem;margin-top:1.35rem;padding-inline:.75rem;display:flex}.st-mark{width:2.25rem;height:2.25rem;filter:var(--grey-mark);opacity:.8;transition:var(--colour-in);flex-shrink:0;position:relative}.st-card:hover .st-mark,.st-card:focus-visible .st-mark{filter:none;opacity:1}.st-name{font-family:var(--font-archivo), "Helvetica Neue", Arial, sans-serif;letter-spacing:-.02em;font-size:1.08rem;font-weight:600;line-height:1.2}.st-tag{color:var(--faint);margin-top:.1rem;font-size:.8rem}.st-go{border:1px solid var(--line-strong);width:2rem;height:2rem;color:var(--muted);transition:background-color .3s var(--ease-out), color .3s var(--ease-out), transform .3s var(--ease-out);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.st-card:hover .st-go{background:var(--ink);color:var(--bg);transform:rotate(45deg)}.st-desc{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:.9rem;padding-inline:.75rem;font-size:.9rem;line-height:1.55;display:-webkit-box;overflow:hidden}.st-host{font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--faint);margin-top:auto;padding:1rem .75rem 0;font-size:.72rem}.lb{border:1px solid var(--line-strong);background:var(--surface);border-radius:1.25rem;margin-top:2rem;overflow:hidden}.lb-head{border-bottom:1px solid var(--line);align-items:center;gap:.6rem;padding:.95rem 1.1rem;display:flex}.lb-dot{background:var(--ink);border-radius:999px;width:.5rem;height:.5rem}.lb-title{font-size:.88rem;font-weight:500}.lb-count{font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--faint);margin-left:auto;font-size:.72rem}.lb-list{overscroll-behavior:contain;scrollbar-width:thin;max-height:19.5rem;overflow-y:auto}.lb-row{border-bottom:1px solid var(--line);grid-template-columns:1.25rem minmax(0,1fr) 4.4rem 4.6rem;align-items:center;gap:.75rem;padding:.6rem 1.1rem;font-size:.8rem;display:grid}.lb-row:last-child{border-bottom:0}.lb-mark{width:1.25rem;height:1.25rem;filter:var(--grey-mark);opacity:.7;transition:var(--colour-in);position:relative}.lb-row:hover .lb-mark{filter:none;opacity:1}.lb-host{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-geist-mono), ui-monospace, monospace;color:var(--muted);overflow:hidden}.lb-trace{width:100%;height:1.1rem}.lb-trace path{fill:none;stroke:var(--ink);stroke-width:1.2px;stroke-linejoin:round;stroke-linecap:round;opacity:.7}.lb-ms{font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;text-align:right;color:var(--ink);animation:lb-tick .46s var(--ease-out) both}@keyframes lb-tick{0%{opacity:0;filter:blur(3px);transform:translateY(-3px)}}.lb-row[data-state=wait] .lb-ms,.lb-row[data-state=down] .lb-ms{color:var(--faint)}.lb-row[data-state=down] .lb-host{text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.lb-foot{border-top:1px solid var(--line);color:var(--faint);padding:.75rem 1.1rem;font-size:.72rem}@media (prefers-reduced-motion:reduce){.hx-logo-timer,.lb-ms{animation:none}.wk-get:active,.wk-get:hover svg:first-child,.wk-live:hover svg,.st-card:hover .st-desk-img,.st-card:hover .st-phone-img{transform:none}}}
