:root{--tp-paper:var(--theme-background);--tp-vellum:color-mix(in srgb, var(--theme-surface) 58%, transparent);--tp-ink:var(--theme-text);--tp-graphite:var(--theme-text-muted);--tp-ghost:#8f8d88;--tp-ghost-deep:#9a9893;--tp-hairline:color-mix(in srgb, var(--theme-text) 55%, transparent);--tp-faint:color-mix(in srgb, var(--theme-text) 16%, transparent);--tp-grid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cpath d='M36 31v10M31 36h10' stroke='%23121212' stroke-opacity='0.22' stroke-width='1'/%3E%3C/svg%3E")}html[data-theme=dark]{--theme-background:#151514;--theme-surface:#1f1f1d;--theme-text:#e9e7e1;--theme-text-muted:#a3a19b;--theme-border:#3b3a37;--theme-primary:#e9e7e1;--theme-primary-hover:#fff;--modal-bg:#1f1f1d;--tp-ghost:#6b6964;--tp-ghost-deep:#55534f;--tp-grid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cpath d='M36 31v10M31 36h10' stroke='%23e9e7e1' stroke-opacity='0.16' stroke-width='1'/%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-scanline{--theme-scan-band:7rem;z-index:100;top:calc(var(--theme-scan-band) / -2);width:100%;height:var(--theme-scan-band);background:linear-gradient(var(--tp-ink), var(--tp-ink)) center / 100% 1px no-repeat, linear-gradient(to bottom, transparent, color-mix(in srgb, var(--tp-ink) 14%, transparent), transparent);pointer-events:none;view-transition-name:theme-scanline;position:fixed;left:0}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){animation:1.8s cubic-bezier(.37,0,.63,1) both theme-scan-reveal;-webkit-mask-image:linear-gradient(#000 0% 45%,#0000 55% 100%);mask-image:linear-gradient(#000 0% 45%,#0000 55% 100%);-webkit-mask-size:100% 250%;mask-size:100% 250%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}::view-transition-group(theme-scanline){animation:1.8s cubic-bezier(.37,0,.63,1) both theme-scan-line}::view-transition-new(theme-scanline){animation:none}@keyframes theme-scan-reveal{0%{-webkit-mask-position:0 100%;mask-position:0 100%}to{-webkit-mask-position:0 0;mask-position:0 0}}@keyframes theme-scan-line{0%{transform:translateY(-25vh)}to{transform:translateY(125vh)}}body{--font-display:var(--font-archivo), "Helvetica Neue", Arial, sans-serif;--font-heading:var(--font-archivo), "Helvetica Neue", Arial, sans-serif;--font-mono-tp:var(--font-jetbrains-mono), ui-monospace, monospace;font-family:var(--font-display)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}.font-dosis{font-family:var(--font-dosis), sans-serif}.tp-heading,.tp-subheading,.tp-hero-title{letter-spacing:-.04em;font-weight:600}body{background-color:var(--tp-paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-attachment:fixed}body:before{content:"";z-index:-10;background-image:var(--tp-grid);pointer-events:none;transform:translate3d(0, var(--paper-grid-offset,0px), 0);will-change:transform;position:fixed;inset:0 0 -72px}html:has(.demo-suite) body:before{display:none}header.sticky{border-bottom:1px solid var(--tp-hairline);background-color:color-mix(in srgb, var(--theme-surface) 62%, transparent);-webkit-backdrop-filter:blur(6px)saturate(.9);backdrop-filter:blur(6px)saturate(.9)}footer.bg-footer{border-top:1px solid var(--tp-hairline);background-color:color-mix(in srgb, var(--theme-surface) 62%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.blog-card{border-color:var(--tp-hairline);background:color-mix(in srgb, var(--theme-surface) 82%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.blog-card:hover,.blog-card:focus-visible{border-color:var(--tp-ink);background:var(--theme-surface)}.blog-card img{filter:grayscale()blur(3px);mix-blend-mode:multiply;opacity:.16!important}html[data-theme=dark] .blog-card img{mix-blend-mode:screen;opacity:.12!important}:root{--color-clear-filters:#4b6b2c}html[data-theme=dark]{--color-clear-filters:#9cc06a}.prose .code-language-label,.prose .code-copy-button{color:#c8c6bf}.prose .code-copy-button:hover{color:#f2f1ec}html:has(.demo-suite){--theme-background:#111318;--theme-surface:#1b1f27;--theme-text:#f4f5f7;--theme-text-muted:#aeb5c2;--theme-border:#39404d;--theme-primary:#b7a5ff;--theme-primary-hover:#d0c4ff}html:has(.demo-suite) body{background-image:none}.tp-home{--tp-scroll:0;color:var(--tp-ink);position:relative;overflow:clip}.tp-ghost{z-index:-2;pointer-events:none;color:var(--tp-ghost);filter:blur(2px);opacity:.48;transform:translate3d(0, calc(var(--tp-scroll) * .14px - 5%), 0);will-change:transform;position:absolute;inset:0}.tp-ghost-deep{z-index:-3;color:var(--tp-ghost-deep);filter:blur(5px);opacity:.5;transform:translate3d(0, calc(var(--tp-scroll) * .22px - 8%), 0)}.tp-deep-word{font-family:var(--font-display);letter-spacing:-.06em;white-space:nowrap;font-weight:700;line-height:.8;position:absolute}.tp-deep-word-a{font-size:clamp(14rem,38vw,36rem);top:1%;left:-2vw}.tp-deep-word-b{font-size:clamp(8rem,24vw,24rem);top:58%;right:-4vw}.tp-deep-ring{aspect-ratio:1;border-radius:50%;position:absolute}.tp-deep-ring-a{border:clamp(1.5rem,3vw,3rem) solid;width:clamp(16rem,34vw,32rem);top:18%;right:6vw}.tp-deep-ring-b{opacity:.7;background:currentColor;width:clamp(12rem,24vw,22rem);top:66%;left:8vw}.tp-deep-slab{background:currentColor;position:absolute}.tp-deep-slab-a{width:38vw;height:9rem;top:9%;right:0}.tp-deep-slab-b{opacity:.55;width:30vw;height:22rem;top:33%;left:18vw}.tp-deep-slab-c{width:22vw;height:3rem;top:49%;right:12vw}.tp-deep-slab-d{opacity:.6;width:52vw;height:14rem;top:82%;left:0}.tp-deep-index{font-family:var(--font-heading);font-size:clamp(8rem,18vw,17rem);font-weight:300;line-height:.8;position:absolute}.tp-deep-index-01{top:12%;left:40vw}.tp-deep-index-02{top:27%;right:30vw}.tp-deep-index-03{top:45%;left:2vw}.tp-deep-index-04{top:63%;right:34vw}.tp-deep-index-05{top:86%;right:4vw}.tp-deep-copy{width:min(30rem,70vw);font-family:var(--font-mono-tp);text-transform:uppercase;font-size:.95rem;line-height:1.5;position:absolute}.tp-deep-copy-a{top:22%;left:4vw}.tp-deep-copy-b{top:40%;right:4vw}.tp-deep-copy-c{top:72%;right:8vw}.tp-deep-copy-d{top:92%;left:30vw}.tp-binary{font-family:var(--font-mono-tp);letter-spacing:.18em;white-space:pre;line-height:1.25;display:grid;position:absolute}.tp-binary-a{font-size:1.15rem;top:5%;right:3vw}.tp-binary-b{opacity:.8;font-size:1.4rem;top:36%;left:2vw}.tp-binary-c{font-size:1rem;top:76%;left:26vw}.tp-binary-d{font-size:.78rem;top:112vh;right:6vw}.tp-binary-e{font-size:.72rem;top:240vh;left:46vw}.tp-binary-f{font-size:.85rem;top:330vh;left:3vw}.tp-ghost-serif{font-family:var(--font-heading);font-weight:300;line-height:.8;position:absolute}.tp-ghost-serif-k{font-size:clamp(16rem,34vw,32rem);top:2rem;right:4vw}.tp-ghost-serif-years{font-size:clamp(9rem,20vw,20rem);top:150vh;left:52vw}.tp-ghost-serif-vii{font-size:clamp(8rem,16vw,16rem);top:260vh;left:4vw}.tp-ghost-word{font-family:var(--font-display);letter-spacing:-.06em;white-space:nowrap;filter:blur(6px);opacity:.6;font-weight:700;line-height:.85;position:absolute}.tp-ghost-word-a{font-size:clamp(7rem,18vw,18rem);top:92vh;right:-3vw}.tp-ghost-word-b{font-size:clamp(4rem,9vw,9rem);top:210vh;left:30vw}.tp-ghost-block{font-family:var(--font-mono-tp);text-transform:uppercase;font-size:.72rem;line-height:1.5;position:absolute}.tp-ghost-block-a{grid-template-columns:repeat(3,auto);gap:.2rem 1.5rem;display:grid;top:70vh;left:6vw}.tp-ghost-block-b{width:26rem;max-width:70vw;top:185vh;left:8vw}.tp-ghost-bar{background:var(--tp-ghost);position:absolute}.tp-ghost-bar-a{width:46vw;height:3.5rem;top:128vh;left:0}.tp-ghost-bar-b{opacity:.6;width:34vw;height:12rem;top:300vh;right:0}.tp-grid{z-index:-1;pointer-events:none;transform:translate3d(0, calc(var(--tp-scroll) * .12px), 0);position:absolute;inset:0}.tp-rule{background:var(--tp-faint);position:absolute}.tp-rule-v{width:1px;top:0;bottom:0}.tp-rule-h{height:1px;left:0;right:0}.tp-rule-v-a{left:38%}.tp-rule-v-b{left:71%}.tp-rule-h-a{top:88vh}.tp-rule-h-b{top:236vh}.tp-sheet{max-width:82rem;margin-inline:auto;padding:1.5rem 1rem 6rem;position:relative}@media (min-width:640px){.tp-sheet{padding-inline:1.5rem}}@media (min-width:1024px){.tp-sheet{padding-inline:2rem}}.tp-meta{border-bottom:1px solid var(--tp-ink);font-family:var(--font-mono-tp);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;padding-bottom:.5rem;font-size:.68rem;display:flex}.tp-square{background:currentColor;width:.62em;height:.62em;display:inline-block}.tp-eyebrow{font-family:var(--font-mono-tp);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.6rem;margin-top:clamp(2.5rem,7vh,5rem);font-size:.78rem;display:flex}.tp-hero{min-height:calc(100svh - 7rem);scroll-margin-top:7rem;position:relative}.tp-name{font-family:var(--font-dosis), sans-serif;letter-spacing:-.055em;white-space:nowrap;margin-top:1rem;font-size:clamp(3.6rem,12.5vw,12rem);font-weight:600;line-height:.82}.tp-split{gap:2.5rem;margin-top:clamp(2rem,6vh,3.5rem);display:grid}@media (min-width:900px){.tp-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:2rem}.tp-split-reverse>:first-child{order:0}}@media (max-width:899px){.tp-split-reverse>:first-child{order:1}}.tp-hero-lead{margin-top:1.75rem}.tp-effect{--theme-background:#111318;--theme-surface:#1b1f27;--theme-text:#f4f5f7;--theme-text-muted:#aeb5c2;--theme-border:#39404d;--theme-primary:#b7a5ff;--theme-primary-hover:#d0c4ff;--theme-object-ice:#dbe8ff;--theme-object-deep:#17294a;--theme-object-violet:#c6b9ff;--glass-white:var(--theme-text);--glass-ice:var(--theme-object-ice);--glass-blue:var(--theme-text-muted);--glass-mid:var(--theme-primary);--glass-deep:var(--theme-object-deep);--glass-violet:var(--theme-object-violet);--glass-gold:var(--theme-primary);border:1px solid var(--tp-hairline);color:var(--tp-ink);margin:0;padding:0;position:relative}.tp-effect-stage{height:clamp(22rem,58vh,34rem);color:var(--theme-text);filter:invert()grayscale()contrast(1.15);isolation:isolate;mix-blend-mode:multiply;opacity:.35;background:#000;transition:opacity .9s linear;position:relative;overflow:hidden}.tp-effect[data-active=true] .tp-effect-stage{opacity:1}.tp-effect-keyboard .tp-effect-stage{filter:none;mix-blend-mode:normal;background:0 0}@property --reveal{syntax:"<percentage>";inherits:true;initial-value:0%}.key-draw{--reveal:0%;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;transition:--reveal .9s ease-in-out;display:grid;position:absolute;inset:0}.key-draw:focus-visible{outline:1px solid var(--tp-ink);outline-offset:-.5rem}.key-draw-art{aspect-ratio:1062.42/1080.72;width:min(78%,28rem);position:relative}.key-draw-logo,.key-draw-outline{width:100%;height:100%;position:absolute;inset:0}.key-draw-logo{clip-path:inset(0 0 calc(100% - var(--reveal)) 0)}.key-draw-outline{clip-path:inset(var(--reveal) -10% -10% -10%);overflow:visible}.key-draw-outline path{fill:none;stroke:var(--tp-ink);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;vector-effect:non-scaling-stroke;transition:stroke-dashoffset .9s ease-in .9s}.key-draw-scan{top:var(--reveal);background:var(--tp-ink);height:2px;box-shadow:0 0 .9rem .15rem color-mix(in srgb, var(--tp-ink) 28%, transparent);opacity:calc(min(var(--reveal), 100% - var(--reveal)) * 25);pointer-events:none;position:absolute;left:-6%;right:-6%}.key-draw[data-phase=drawn]{--reveal:100%;transition:--reveal 1.8s cubic-bezier(.45,0,.25,1) 2.9s}.key-draw[data-phase=drawn] .key-draw-outline path{stroke-dashoffset:0;transition:stroke-dashoffset 1.8s cubic-bezier(.2, .72, .2, 1) var(--draw-delay)}@media (prefers-reduced-motion:reduce){.key-draw,.key-draw[data-phase=drawn],.key-draw-outline path,.key-draw[data-phase=drawn] .key-draw-outline path{transition:none}}.tp-effect-layers .tp-effect-stage,html[data-theme=dark] .tp-effect-layers .tp-effect-stage,.tp-effect-signal .tp-effect-stage,html[data-theme=dark] .tp-effect-signal .tp-effect-stage{filter:none;mix-blend-mode:normal;background:0 0}.transmission{color:var(--tp-ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;inset:0}.transmission:focus-visible{outline:1px solid var(--tp-ink);outline-offset:-.5rem}.transmission svg{width:min(92%,34rem);overflow:visible}.transmission path,.transmission circle,.transmission use{fill:none;stroke:var(--tp-ink);stroke-width:1px;vector-effect:non-scaling-stroke}.transmission .transmission-carrier{stroke-dasharray:2 4;stroke-opacity:.4}.transmission .transmission-node{fill:var(--tp-paper)}.transmission .transmission-cross{stroke-opacity:.5}.transmission .transmission-core{fill:var(--tp-ink);stroke:none}.transmission .transmission-ring{opacity:0}.transmission text{fill:var(--tp-ink);font-family:var(--font-mono-tp);letter-spacing:.08em}.transmission-bits{dominant-baseline:middle;font-size:7px}.transmission-label{text-anchor:middle;opacity:.6;font-size:7px}.transmission-scope-label{text-anchor:start}.transmission-decoded{text-anchor:middle;font-size:10px}.transmission .transmission-scope-frame{stroke-dasharray:1 3;stroke-opacity:.35}.transmission .transmission-scope{stroke-linejoin:round}.layer-stack{--spread:3;--sway:0;--draw-0:1;--draw-1:1;--draw-2:1;--draw-3:1;--scan:0;--scan-o:0;--cx:152;--cy:126;--click:0;--cursor-o:0;perspective:1600px;place-items:center;display:grid;position:absolute;inset:0}.layer-stack-scene{aspect-ratio:4/3;width:min(74%,24rem);transform:rotateX(58deg) rotateZ(calc(-36deg + var(--sway) * 1deg));transform-style:preserve-3d;position:relative}.layer-stack-sheet{border:1px solid var(--tp-ink);background:color-mix(in srgb, var(--tp-paper) 72%, transparent);transform:translate3d(calc(var(--dx) * var(--spread) / 3 * 1rem), calc(var(--dy) * var(--spread) / 3 * 1rem), calc((var(--i) - 1.5) * var(--spread) * 1rem)) rotateZ(calc(var(--rot) * var(--spread) / 3 * 1deg));color:inherit;font:inherit;cursor:pointer;margin:0;padding:0;transition:opacity .4s linear;display:block;position:absolute;inset:0}.layer-stack-sheet:focus-visible{outline:1px solid var(--tp-ink);outline-offset:.3rem}.layer-stack[data-moving=true] .layer-stack-sheet{transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .4s linear}.layer-stack[data-picked] .layer-stack-sheet:not([aria-pressed=true]){opacity:.14}.layer-stack-sheet[aria-pressed=true]{transform:rotateZ(calc(36deg - var(--sway) * 1deg)) rotateX(-58deg) translateZ(10rem) scale(.9)}.layer-stack-sheet[aria-pressed=true] .layer-stack-tag{opacity:1;top:calc(100% + .6rem);left:0}.layer-stack-build{background:color-mix(in srgb, var(--tp-paper) 86%, transparent)}.layer-stack-sheet svg{width:100%;height:100%;overflow:visible}.layer-stack-sheet path,.layer-stack-sheet rect{fill:none;stroke:var(--tp-ink);stroke-width:1px;stroke-linecap:round;vector-effect:non-scaling-stroke}.layer-stack-sketch path{stroke-opacity:.7}.layer-stack-sheet .layer-stack-guide{stroke-opacity:.45}.layer-stack-sheet .layer-stack-fill{fill:var(--tp-ink);stroke:none}.layer-stack-sheet .layer-stack-draw,.layer-stack-sheet .layer-stack-bar,.layer-stack-sheet .layer-stack-block{--p:clamp(0, (var(--draw) - var(--k) * .6) / .4, 1)}.layer-stack-sheet .layer-stack-draw{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--p))}.layer-stack-sheet .layer-stack-guide{stroke-dasharray:.02 .03;opacity:var(--p)}.layer-stack-code .layer-stack-bar{opacity:.6;transform:scaleX(var(--p));transform-box:fill-box;transform-origin:0}.layer-stack-build .layer-stack-block{opacity:calc(var(--p) * var(--o));transform:scaleY(var(--p));transform-box:fill-box;transform-origin:top}.layer-stack-sheet .layer-stack-reg{opacity:.55}.layer-stack-cursor{opacity:var(--cursor-o);transform:translate(calc(var(--cx) * 1px), calc(var(--cy) * 1px))}.layer-stack-sheet .layer-stack-cursor path{fill:var(--tp-paper);stroke-linejoin:round}.layer-stack-sheet .layer-stack-click{opacity:calc(1 - var(--click));transform:scale(var(--click));transform-box:fill-box;transform-origin:50%}.layer-stack-scan{top:-8%;bottom:-8%;left:calc(var(--scan) * 100%);background:var(--tp-ink);width:2px;box-shadow:0 0 .9rem .15rem color-mix(in srgb, var(--tp-ink) 28%, transparent);opacity:var(--scan-o);transform:translateZ(calc(1.5 * var(--spread) * 1rem + .4rem));pointer-events:none;position:absolute}.layer-stack-tag{font-family:var(--font-mono-tp);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:calc(var(--spread) / 3);font-size:.6rem;position:absolute;top:0;left:calc(100% + .6rem)}.tp-effect-portrait .tp-effect-stage>div:first-child{height:92%;bottom:0;left:50%;transform:translate(-50%)}.tp-effect-portrait .tp-effect-stage{filter:grayscale()contrast(1.1);background:0 0}.tp-effect-portal .tp-effect-stage{filter:invert()grayscale()url(#tp-ink-deepen)}.tp-filters{width:0;height:0;position:absolute}.tp-effect-quantum .tp-effect-stage>[class*=atomActions]:before,.tp-effect-quantum [class*=atomActionsGlass]{top:50%;left:50%}.tp-effect-quantum .quantum-field-canvas{opacity:.55;width:100%;height:100%;inset:1% auto auto -6%;-webkit-mask-image:radial-gradient(circle at 56% 49%,#000 0 38%,#0000 72%);mask-image:radial-gradient(circle at 56% 49%,#000 0 38%,#0000 72%)}.tp-effect-quantum [class*=atomActionsGlass]{width:min(78%,22rem)}.tp-effect-quantum .quantum-field-canvas{transform-origin:56% 49%;transform:scale(1.6)}.tp-effect-portal [class*=wormholeTransitionObject]{width:min(72%,24rem);top:50%;left:50%}.tp-effect-portal [class*=wormholeTransitionHalo]{width:110%;top:50%;left:50%}@media (max-width:680px){.tp-effect-quantum .quantum-field-canvas{transform-origin:50%;inset:0 auto auto 0;-webkit-mask-image:radial-gradient(circle,#000 0 38%,#0000 72%);mask-image:radial-gradient(circle,#000 0 38%,#0000 72%)}}html[data-theme=dark] .tp-effect-stage{filter:grayscale()contrast(1.1);mix-blend-mode:screen}html[data-theme=dark] .tp-effect-portal .tp-effect-stage{filter:grayscale()contrast(1.25)brightness(1.1)}html[data-theme=dark] .tp-effect-quantum .quantum-field-canvas{opacity:.85}html[data-theme=dark] .tp-effect-keyboard .tp-effect-stage{filter:none;mix-blend-mode:normal;background:0 0}html[data-theme=dark] .tp-effect-portrait .tp-effect-stage{filter:grayscale();mix-blend-mode:normal;background:0 0}.tp-effect figcaption{font-family:var(--font-mono-tp);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem}.tp-effect figcaption span{z-index:1;writing-mode:vertical-rl;white-space:nowrap;position:absolute;transform:rotate(180deg)}.tp-effect figcaption span:first-child{bottom:.7rem;left:.55rem}.tp-effect figcaption span:last-child{top:.7rem;right:.55rem}.tp-plate{background:var(--tp-vellum);-webkit-backdrop-filter:blur(5px)}.tp-frame{border:1px solid var(--tp-hairline);padding:clamp(1.25rem,2.5vw,2rem);position:relative}.tp-frame:before,.tp-frame:after{content:"";background:linear-gradient(var(--tp-ink), var(--tp-ink)) 10px 0 / 1px 100% no-repeat, linear-gradient(var(--tp-ink), var(--tp-ink)) 0 10px / 100% 1px no-repeat;pointer-events:none;width:21px;height:21px;position:absolute}.tp-frame:before{top:-11px;left:-11px}.tp-frame:after{bottom:-11px;right:-11px}.tp-frame-tag{font-family:var(--font-mono-tp);color:var(--tp-graphite);font-size:.62rem;position:absolute;top:.5rem;right:.6rem}.tp-hero-title{font-family:var(--font-heading);letter-spacing:-.02em;font-size:clamp(1.7rem,3.4vw,3rem);font-weight:300;line-height:1.08}.tp-mono-lead{font-family:var(--font-mono-tp);text-transform:uppercase;letter-spacing:.02em;max-width:34rem;font-size:.82rem;line-height:1.65}.tp-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:1.75rem;display:flex}.tp-button{border:1px solid var(--tp-ink);background:var(--tp-ink);color:var(--tp-paper);font-family:var(--font-mono-tp);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1.15rem;font-size:.74rem;transition:background .16s,color .16s;display:inline-flex}.tp-button:hover,.tp-button:focus-visible{color:var(--tp-ink);background:0 0}.tp-link{border-bottom:1px solid var(--tp-ink);font-family:var(--font-mono-tp);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem}.tp-link:hover,.tp-link:focus-visible{border-bottom-style:dashed}.tp-socials{margin-top:2rem}.tp-socials>div{flex-wrap:wrap}.tp-socials a{color:var(--tp-ink)}.tp-socials a:hover{color:var(--tp-graphite)}.tp-pill{border:1.5px solid var(--tp-ink);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;writing-mode:vertical-rl;border-radius:999px;flex-direction:row;align-items:center;gap:.55rem;padding:.85rem .35rem;font-size:.72rem;font-weight:700;display:none;position:absolute;top:3rem;right:.5rem}.tp-pill-dot{border:1.5px solid var(--tp-ink);border-radius:50%;width:.45rem;height:.45rem}.tp-seal{fill:none;width:9.5rem;height:9.5rem;stroke:var(--tp-ink);stroke-width:.8px;animation:40s linear infinite tp-spin;display:none;position:absolute;bottom:2rem;right:4%}.tp-seal text{fill:var(--tp-ink);stroke:none;font-family:var(--font-display);letter-spacing:.12em;font-size:11px;font-weight:700}@keyframes tp-spin{to{transform:rotate(360deg)}}.tp-reg{fill:none;width:2.25rem;height:2.25rem;stroke:var(--tp-ink);stroke-width:.8px;position:absolute}.tp-reg-hero{bottom:4%;left:47%}@media (max-width:899px){.tp-reg-hero{display:none}}@media (min-width:1100px){.tp-pill,.tp-seal{display:flex}.tp-seal{display:block}}.tp-section{padding-top:clamp(5rem,14vh,9rem);scroll-margin-top:6rem;position:relative}.tp-section-head{font-family:var(--font-mono-tp);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.75rem;font-size:.72rem;display:flex}.tp-section-label{font-weight:600}.tp-section-line{background:var(--tp-ink);flex:1;height:1px}.tp-index{border-top:1px solid var(--tp-ink);font-family:var(--font-mono-tp);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:1.25rem;padding-block:.6rem;font-size:.68rem;display:flex}.tp-index ol{gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.tp-index-link{color:var(--tp-graphite);align-items:center;gap:.45rem;transition:color .15s;display:inline-flex}.tp-index-link:hover,.tp-index-link[aria-current=true]{color:var(--tp-ink)}.tp-index-square{border:1px solid;width:.62em;height:.62em}.tp-index-link[aria-current=true] .tp-index-square{background:currentColor}.tp-index-label{width:0;color:var(--tp-ink);margin-right:-1.25rem;font-weight:600;transition:width .32s cubic-bezier(.65,0,.35,1);overflow:hidden}.tp-index-label-text{padding-right:1.25rem;display:inline-block}@media (prefers-reduced-motion:reduce){.tp-index-label{transition:none}.tp-index-label .language-flicker-character,.tp-index-label .language-flicker-word{animation:none}}.tp-index-line{background:var(--tp-hairline);flex:1;height:1px}.tp-heading{font-family:var(--font-heading);letter-spacing:-.045em;font-size:clamp(2.6rem,5.5vw,5.4rem);font-weight:500;line-height:.95}.tp-section-lead{margin-top:1.25rem}.tp-capabilities{gap:2rem;margin-top:3rem;display:grid}@media (min-width:760px){.tp-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}}.tp-capabilities article h3{font-family:var(--font-heading);letter-spacing:-.02em;margin-top:.75rem;font-size:clamp(1.25rem,2vw,1.6rem);font-weight:500;line-height:1.1}.tp-capabilities article p{color:var(--tp-graphite);margin-top:.85rem;font-size:.95rem;line-height:1.6}.tp-capability-index{font-family:var(--font-heading);font-size:3.25rem;font-weight:300;line-height:1}.tp-prose{gap:1rem;margin-top:1.75rem;font-size:1.05rem;line-height:1.7;display:grid}.tp-practice{gap:2rem;display:grid}.tp-subheading{font-family:var(--font-heading);letter-spacing:-.04em;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;line-height:1}.tp-tech-icons{color:var(--tp-ink);filter:blur(1.5px);opacity:.4;grid-template-columns:repeat(4,minmax(0,1fr));padding:1.25rem 0;list-style:none;display:grid}.tp-tech-icons li{flex-direction:column;align-items:center;gap:.6rem;display:flex}.tp-tech-icons svg{width:clamp(2.25rem,4vw,3.25rem);height:auto}.tp-tech-icons span{font-family:var(--font-mono-tp);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem}.tp-practice p{color:var(--tp-graphite);margin-top:1rem;line-height:1.7}.tp-contact{padding-bottom:4rem}.tp-contact-heading{font-size:clamp(3rem,6.5vw,6.5rem)}.tp-email{border-bottom:2px solid var(--tp-ink);font-family:var(--font-display);letter-spacing:-.04em;align-items:center;gap:1rem;margin-top:2.5rem;font-size:clamp(1.6rem,3.6vw,3.2rem);font-weight:600;line-height:1.1;display:inline-flex}.tp-email svg{width:.6em;height:.6em}.tp-email-text{display:grid}.tp-email-text>span{white-space:nowrap;grid-area:1/1}.tp-email-sizer{visibility:hidden}@media (prefers-reduced-motion:reduce){.tp-email .language-flicker-character,.tp-email .language-flicker-word{animation:none}.tp-ghost,.tp-grid{transform:none}.tp-seal{animation:none}}
