@font-face{font-family:Geologica;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Geologica-500.810d3ecd.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Inter-400.6d756961.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Inter-500.7a9b933e.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-400.439311fa.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-500.ee72118e.woff2)format("woff2")}@font-face{font-family:JetBrains Mono Logo;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-500-logo.05e62ea5.woff2)format("woff2")}@font-face{font-family:Inter fallback Arial;src:local(Arial),local(ArialMT);size-adjust:106.38%;ascent-override:91.07%;descent-override:22.67%;line-gap-override:0%}@font-face{font-family:Inter fallback Roboto;src:local(Roboto),local(Roboto-Regular);size-adjust:105.49%;ascent-override:91.84%;descent-override:22.87%;line-gap-override:0%}@font-face{font-family:Geologica fallback Arial;src:local(Arial),local(ArialMT);size-adjust:108.06%;ascent-override:90.22%;descent-override:25.45%;line-gap-override:0%}@font-face{font-family:Geologica fallback Roboto;src:local(Roboto),local(Roboto-Regular);size-adjust:106.98%;ascent-override:91.14%;descent-override:25.71%;line-gap-override:0%}:root{--teal-rgb:77 182 172;--green-rgb:129 199 132;--amber-rgb:255 213 79;--violet-rgb:149 117 205;--pink-rgb:240 98 146;--teal:rgb(var(--teal-rgb));--velvet:#0f0b13;--surface:#1a1520b3;--line:#ffffff12;--line-soft:#ffffff0e;--line-control:#ffffff57;--line-control-hover:#ffffff73;--well:#15101a80;--bar-rgb:14 10 18;--bar:rgb(var(--bar-rgb));--ink:#06201d;--text:#eae6ee;--muted:#9a93a5;--dim:#8a8496;--w:980px;--measure:620px;--gutter:22px;--font-head:Geologica, "Geologica fallback Arial", "Geologica fallback Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:Inter, "Inter fallback Arial", "Inter fallback Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-logo:"JetBrains Mono Logo", var(--font-mono);--dither:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1H0zM2 2h1v1H2z' fill='%23E8DFF5' fill-opacity='.05'/%3E%3C/svg%3E")}.acc-teal{--a-rgb:var(--teal-rgb)}.acc-green{--a-rgb:var(--green-rgb)}.acc-amber{--a-rgb:var(--amber-rgb)}[class*=acc-]{--a:rgb(var(--a-rgb))}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html:has(#sent:target,#send-failed:target){scroll-behavior:auto}body{background:var(--velvet);color:var(--text);font:400 16px/1.65 var(--font-body);letter-spacing:-.006em;margin:0}a{color:inherit}.cols a:not(.btn,.tag,.block-link){color:var(--teal);-webkit-text-decoration-color:rgb(var(--teal-rgb) / .45);text-decoration-color:rgb(var(--teal-rgb) / .45);text-underline-offset:3px}.cols a:not(.btn,.tag,.block-link):hover,.cols a:not(.btn,.tag,.block-link):focus-visible{-webkit-text-decoration-color:var(--teal);text-decoration-color:var(--teal)}code{font-family:var(--font-mono);overflow-wrap:break-word;font-size:.9em}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--font-head)}h1{letter-spacing:-.03em;margin:0 0 20px;font-size:clamp(33px,5.2vw,54px);font-weight:500;line-height:1.06}h2{letter-spacing:-.026em;margin:0 0 12px;font-size:clamp(24px,3.2vw,34px);font-weight:500;line-height:1.15}h3,h4{letter-spacing:-.014em;margin:0 0 8px;font-size:20px;font-weight:500;line-height:1.25}@media (max-width:360px){h1{-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:14 6 6;-webkit-hyphenate-limit-before:6;-webkit-hyphenate-limit-after:6;overflow-wrap:break-word}}@media (max-width:279.98px){body{-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:14 6 6;-webkit-hyphenate-limit-before:6;-webkit-hyphenate-limit-after:6;overflow-wrap:break-word}}@media (min-width:641px) and (max-width:959.98px){.grid3 .card{-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:14 6 6;-webkit-hyphenate-limit-before:6;-webkit-hyphenate-limit-after:6;overflow-wrap:break-word}}@media (max-width:339.98px){h1{font-size:30px}}@media (max-width:319.98px){h1{font-size:27px}h1 .nobr{white-space:normal}}p{color:var(--muted);margin:0 0 16px}h1,h2,h3,h4,.tile-title,.proof-caption,.case-caption{text-wrap:balance}p,.lead,.eyebrow{text-wrap:pretty}.lead{color:var(--muted);font-size:clamp(16px,1.8vw,19px)}.eyebrow{color:var(--a);margin:0 0 10px;font-size:13px}.eyebrow-date,.nobr{white-space:nowrap}.bg{z-index:-1;contain:layout paint style;background-color:var(--velvet);background-repeat:repeat;background-image:var(--dither), repeating-linear-gradient(45deg, #e8dff508 0 1px, transparent 1px 10px), repeating-linear-gradient(-45deg, #e8dff506 0 1px, transparent 1px 10px), radial-gradient(64% 48% at 24% 16%, rgb(var(--violet-rgb) / .17) 0%, transparent 72%), radial-gradient(56% 44% at 82% 44%, rgb(var(--teal-rgb) / .13) 0%, transparent 72%), radial-gradient(60% 44% at 46% 94%, rgb(var(--pink-rgb) / .1) 0%, transparent 74%);background-size:4px 4px,auto,auto,auto,auto,auto;height:100lvh;position:fixed;inset:0 0 auto}:focus-visible{outline:2px solid var(--teal);outline-offset:3px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}.wrap{max-width:var(--w);padding:0 var(--gutter);margin:0 auto}.cols{grid-template-columns:[full-start] minmax(0, 1fr) [narrow-start] min(var(--measure), 100%) [narrow-end] minmax(0, 1fr) [full-end];display:grid}.cols>*{grid-column:narrow}.cols>.wide{grid-column:full}section{padding:clamp(52px,8vh,96px) 0;position:relative}section:after{content:"";background:linear-gradient(90deg, transparent 0, rgb(var(--a-rgb) / .55) 16%, var(--line) 46%, transparent 92%);height:1px;position:absolute;bottom:0;left:0;right:0}.sec-head{margin-bottom:34px}.hero{padding-top:clamp(56px,10vh,104px)}@keyframes blink{0%,55%{opacity:1}56%,to{opacity:0}}:root{--blink:none}@media (prefers-reduced-motion:no-preference){:root{--blink:blink 1.15s steps(1, end) infinite}}.blink{animation:var(--blink)}.tail{padding-bottom:clamp(96px,14vh,150px)}.tail:after{display:none}.skip-link{top:8px;left:var(--gutter);z-index:30;position:absolute;transform:translateY(calc(-100% - 16px))}.skip-link:focus{transform:none}main:focus{outline:none}main{scroll-margin-top:var(--anchor-stop)}.btn{border-radius:22px;padding:12px 24px;font-size:15px;font-weight:500;text-decoration:none;display:inline-block}button.btn{font:inherit;cursor:pointer;font-size:15px}button.btn-fill{border:0;font-weight:500}button.btn-out{background:0 0}.btn-fill{background:var(--teal);color:var(--ink);transition:filter .15s}.btn-fill:hover,.btn-fill:focus-visible{filter:brightness(1.08)}.btn-out{border:1px solid rgb(var(--teal-rgb) / .4);color:var(--text);font-weight:400;transition:border-color .15s,background-color .15s}.btn-out:hover,.btn-out:focus-visible{border-color:var(--teal);background:rgb(var(--teal-rgb) / .09)}.btn-out .arr{color:var(--teal);margin-left:6px}.actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.cta-faq{margin:22px 0 0;font-size:15px}.cta-service{margin:12px 0 0}.tags{flex-wrap:wrap;gap:7px;margin:26px 0 0;padding:0;list-style:none;display:flex}.tag{color:var(--muted);background:#ffffff06;border:1px solid #ffffff1a;border-radius:999px;align-items:center;padding:4px 12px;font-size:12.5px;line-height:1.55;display:inline-flex}a.tag{text-decoration:none}a.tag:hover,a.tag:focus-visible{color:var(--text);border-color:#ffffff47}a.tag[aria-current=page]{color:var(--a);border-color:rgb(var(--a-rgb) / .55);background:rgb(var(--a-rgb) / .1)}.stats{background:var(--line-soft);border:1px solid var(--line-soft);--a-rgb:var(--green-rgb);--a:rgb(var(--a-rgb));border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;margin-top:44px;display:grid;overflow:hidden}.sec-head+.stats{margin-top:26px}.stat{background:#151020;flex-direction:column;padding:22px 20px;display:flex}.stat .was{color:var(--dim);font-variant-numeric:tabular-nums;order:-1;font-size:14px}.stat b{font-family:var(--font-head);font-variant-numeric:tabular-nums;letter-spacing:-.022em;color:var(--a);margin-top:2px;font-size:30px;font-weight:500;display:block}.stat p{margin:0}.stat .stat-body{text-wrap:wrap}.stat span{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.4;display:block}.stat em{color:var(--dim);margin-top:8px;font-size:12.5px;font-style:normal;line-height:1.4;display:block}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:16px;padding:24px 22px;position:relative;overflow:hidden}@media (max-width:279.98px){.card{padding-inline:16px}}.card:before{content:"";background:var(--a);width:3px;position:absolute;top:0;bottom:0;left:0}.card :is(h3,h4){font-size:18px}.card h3.worse{margin-bottom:14px;font-size:19px}.card p{margin:0;font-size:14.5px}.grid3{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:14px;margin-top:26px;display:grid}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px;display:grid}.grid2>.span2{grid-column:1/-1}@media (max-width:640px){.grid2{grid-template-columns:1fr}}.grid3.one-row{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:640px){.grid3.one-row{grid-template-columns:1fr}}@media (min-width:641px){.grid3:has(>:nth-child(3):last-child):not(:has(.case-cover)){grid-template-columns:repeat(3,minmax(0,1fr))}}.grid2+p,.grid2+.tw,.grid2+.note,.grid2+.caveat,.grid2+.src,.grid3+p,.grid3+.tw,.grid3+.note,.grid3+.caveat,.grid3+.src,figure+p,figure+.tw,figure+.note,figure+.caveat,figure+.src,.stats+p,.stats+.src,.formats+p{margin-top:26px}.cols .card a.card-link{color:inherit;text-decoration:none}.card-link span{color:var(--a)}.cols .card a.card-link:hover,.cols .card a.card-link:focus-visible{text-decoration:underline;-webkit-text-decoration-color:var(--a);text-decoration-color:var(--a);text-underline-offset:4px}.card .card-note{border-top:1px solid var(--line);color:var(--muted);margin-top:14px;padding-top:12px;font-size:13.5px;line-height:1.5}.card .card-cases{color:var(--muted);margin-top:8px;font-size:13.5px;line-height:1.5}.card-price{color:var(--muted);gap:2px;margin:2px 0 12px;padding:0;font-size:13.5px;line-height:1.55;list-style:none;display:grid}.card-price .cp-label:after,.card-price .cp-sum:not(:last-child):after,.fp-part:not(:last-child):after{content:" ·";content:" ·" / "";color:var(--dim)}.cp-sum{font-family:var(--font-head);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--a);white-space:nowrap;font-size:15px;font-weight:500}.cp-extra{color:var(--dim);white-space:nowrap;font-size:13px}.cp-value{max-width:100%;display:inline-block}.card-price.is-single .cp-sum{font-size:17px}.card .card-price-note{color:var(--dim);margin:-6px 0 12px;font-size:13px;line-height:1.5}.formats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:26px 0 0;padding:0;list-style:none;display:grid}@media (max-width:640px){.formats{grid-template-columns:1fr}}.card .format-price{color:var(--muted);margin:0 0 12px;font-size:13.5px}.fp-part{max-width:100%;display:inline-block}.card .format-num{font-family:var(--font-head);font-variant-numeric:tabular-nums;color:var(--a);margin:0 0 10px;font-size:15px;font-weight:500}.path{grid-template-columns:repeat(5,minmax(0,1fr));margin:26px 0 0;padding:0;list-style:none;display:grid}.path-step{padding:44px 18px 0 0;position:relative}.path-step:before{content:"";background:linear-gradient(90deg, rgb(var(--a-rgb) / .6), rgb(var(--a-rgb) / .15));height:1px;position:absolute;top:13px;left:0;right:0}.path-step:last-child:before{width:28px;right:auto}.path-dot{background:var(--velvet);border:2px solid var(--a);width:15px;height:15px;box-shadow:0 0 0 4px rgb(var(--a-rgb) / .12);border-radius:50%;position:absolute;top:6px;left:0}.path-step .path-num{font:500 13px/1 var(--font-head);font-variant-numeric:tabular-nums;color:var(--a);margin:0 0 8px}.path-step h3{margin-bottom:8px;font-size:18px}.path-step p{margin:0;font-size:14.5px}@media (max-width:1039.98px){.cols>.path{grid-column:narrow}.path{grid-template-columns:1fr}.path-step{padding:0 0 30px 40px}.path-step:before{background:rgb(var(--a-rgb) / .35);width:1px;height:auto;inset:14px auto -6px 7px}.path-step:last-child{padding-bottom:0}.path-step:last-child:before{display:none}}.more-link{margin:0}.tw{border:1px solid var(--line);background:var(--well);border-radius:16px;margin:0 0 20px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}caption{text-align:left;color:var(--dim);padding:15px 20px 11px;font-size:13px}th,td{text-align:left;vertical-align:baseline;padding:12px 20px}thead th{color:var(--dim);font-size:12.5px;font-weight:400}th.r{text-align:right}tbody tr{border-top:1px solid var(--line)}td{color:var(--muted)}td.n{text-align:right;white-space:nowrap;font-family:var(--font-head);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:500}td.old{color:var(--dim)}td.new{color:var(--text)}td.delta{color:var(--a)}tr.key td:first-child{color:var(--text)}tr.key td.delta .v{background:rgb(var(--a-rgb) / .1);border:1px solid rgb(var(--a-rgb) / .3);border-radius:8px;padding:3px 11px;display:inline-block}table.facts-text td:first-child{white-space:nowrap;width:1%;font-family:var(--font-head);font-variant-numeric:tabular-nums;color:var(--a);font-weight:500}td.t{color:var(--text);line-height:1.45}@media (max-width:640px){table.facts-text,table.facts-text tbody{display:block}table.facts-text thead{display:none}table.facts-text caption{padding:15px 18px 6px;display:block}table.facts-text tbody tr{padding:13px 18px 15px;display:block}table.facts-text td{width:auto;padding:0;display:block}table.facts-text td:first-child{white-space:normal;width:auto;margin-bottom:4px}table.cmp,table.cmp tbody{display:block}table.cmp thead{display:none}table.cmp caption{padding:15px 18px 6px;display:block}table.cmp tbody tr{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 12px;padding:15px 18px;display:grid}table.cmp td{padding:0}@media (max-width:359.98px){table.cmp tbody tr{gap:2px 8px;padding-inline:12px}}@media (max-width:389.98px){table.cmp tbody tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr)}}@media (max-width:329.98px){table.cmp tbody tr{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:8px}table.cmp td.delta{grid-column:1/-1}}table.cmp td:first-child{color:var(--text);grid-column:1/-1;margin-bottom:9px;font-size:15px;line-height:1.35}table.cmp td.n{text-align:left}table.cmp td.n:before{content:attr(data-label);font:400 11px/1.4 var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--dim);margin-bottom:1px;display:block}}@media (max-width:319.98px){.tw table{font-size:14px}.tw :is(th,td){padding:10px}.tw caption{padding:12px 10px 9px}}.note{border-left:2px solid var(--a);color:var(--text);margin:0 0 26px;padding:2px 0 2px 18px}.note p{color:inherit}.note p:last-child{margin-bottom:0}.gain{border-left:2px solid var(--a);background:var(--well);border-radius:0 12px 12px 0;margin:30px 0 0;padding:18px 20px}.gain-label{color:var(--a);letter-spacing:.02em;text-transform:uppercase;margin:0 0 8px;font-size:13.5px;font-weight:500}.gain p:last-child{margin-bottom:0}.caveat{border:1px solid var(--line);background:var(--well);color:var(--muted);border-radius:14px;margin:0 0 26px;padding:18px 20px;font-size:14.5px}.caveat p:last-child{margin-bottom:0}.src{color:var(--muted);margin:0 0 26px;font-size:13.5px;line-height:1.6}.src p{color:inherit;font-size:inherit;margin-bottom:0}figure{background:var(--well);border:1px solid var(--line);border-radius:22px;width:fit-content;max-width:100%;margin:26px auto 0;padding:8px}figure img{filter:brightness(.93)saturate(.96);border-radius:14px;margin-inline:auto;transition:filter .25s}figure:hover img{filter:none}figcaption{color:var(--dim);max-width:62ch;margin:10px 4px 2px;font-size:13px;line-height:1.5}.hero-shot{margin-top:44px}.case-cover{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%}.motion-safe{display:contents}.steps>.cols{border-top:1px solid var(--line);padding:34px 0}.steps>.cols:first-of-type{border-top:0;padding-top:6px}.hrow{border-top:1px solid var(--line);grid-template-columns:minmax(112px,max-content) 1fr;align-items:baseline;gap:6px 20px;padding:16px 0;display:grid}.hrow:first-of-type{border-top:0;padding-top:2px}.hnum{color:var(--a);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:15px}.hrow :is(h3,h4){font-size:17px}.hrow p{margin:4px 0 0;font-size:14.5px}@media (max-width:520px){.hrow{grid-template-columns:1fr}}.tech{border:1px solid var(--line);background:var(--well);border-radius:12px;margin-top:22px;overflow:hidden}:is(.tech,.faq-item) summary{cursor:pointer;justify-content:space-between;gap:16px;padding:15px 20px;font-weight:500;list-style:none;display:flex}:is(.tech,.faq-item) summary::-webkit-details-marker{display:none}:is(.tech,.faq-item) summary:after{content:"+";content:"+" / "";color:var(--a);font-weight:400}:is(.tech,.faq-item)[open] summary:after{content:"−";content:"−" / ""}.tech summary{font-size:15px}.tech summary:focus-visible{outline-offset:-4px;border-radius:11px}.tech p{margin:0 20px 18px;font-size:14.5px}.faq{gap:10px;display:grid}.faq-item{border:1px solid var(--line);background:var(--well);border-radius:12px}.faq-item summary{color:var(--text);font-size:16px}.faq-item p{margin:0 20px 18px;font-size:15px}.midcta{border:1px solid rgb(var(--teal-rgb) / .28);background:rgb(var(--teal-rgb) / .05);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:34px;padding:20px 24px;display:flex}.midcta p{color:var(--text);margin:0;font-size:16px}@media (max-width:279.98px){.midcta{padding-inline:16px}}.midcta .midcta-note{color:var(--muted);margin-top:4px;font-size:14px}.todo{color:var(--text);border:1px dashed rgb(var(--amber-rgb) / .55);background:rgb(var(--amber-rgb) / .06);border-radius:10px;padding:12px 16px}:root{--bar-row:56px;--bar-tree:32px;--bar-tree-pull:8px;--bar-border:1px;--anchor-air:15px;--tap:44px;--ctl-pad:9px;--ctl-border:1px;--anchor-stop:calc(var(--bar-row) + var(--bar-tree) - var(--bar-tree-pull) + var(--bar-border) + var(--anchor-air))}.p-bar{z-index:20;border-bottom:var(--bar-border) solid var(--line);font-family:var(--font-mono);background:rgb(var(--bar-rgb) / .85);-webkit-backdrop-filter:blur(16px)saturate(1.5);backdrop-filter:blur(16px)saturate(1.5);position:sticky;top:0}.p-bar:before{content:"";background:var(--bar);pointer-events:none;height:120px;position:absolute;inset:auto 0 100%}.p-bar,.p-menu{letter-spacing:0}section[id],:is(main,footer) :is(a[href],button,input,select,textarea,summary,[tabindex]){scroll-margin-top:var(--anchor-stop)}.p-row,.p-tree{max-width:var(--w);margin:0 auto;display:flex}.p-row{height:var(--bar-row);padding:0 var(--gutter);align-items:center;gap:28px}.p-accent{color:var(--teal)}.p-prompt{min-width:0;color:var(--text);white-space:nowrap;align-items:baseline;margin:0;font-size:15px;line-height:1;display:flex}.p-logo{font-family:var(--font-logo);font-weight:500;text-decoration:none;position:relative}.p-logo:before,.p-path a:before{content:"";inset:calc(50% - var(--tap) / 2);position:absolute}.p-path a:before{inset-inline:0}.p-path{text-overflow:ellipsis;min-width:0;padding-block:calc((var(--tap) - 1em) / 2);margin-left:1ch;margin-block:calc((1em - var(--tap)) / 2);overflow:hidden}.p-path a{color:var(--muted);text-decoration:none;position:relative}.p-path a:hover,.p-path a:focus-visible{color:var(--teal);text-underline-offset:4px;text-decoration:underline}.p-slash{color:var(--dim)}.p-caption{color:var(--text);white-space:nowrap;align-items:baseline;font-size:15px;line-height:1;display:inline-flex}.p-caption-logo{font-family:var(--font-logo);font-weight:500}.p-caption-path{margin-left:1ch}.p-caption-home{color:var(--muted)}.p-site{gap:22px;margin-left:auto;display:flex}.p-site a,.p-tree a{color:var(--muted);white-space:nowrap;font-size:13.5px;text-decoration:none;position:relative}.p-site a:after,.p-tree a:after{content:"_";content:"_" / "";color:var(--teal);visibility:hidden;position:absolute;left:100%}.p-site a:hover,.p-site a:focus-visible{color:var(--text)}.p-site a:hover:after,.p-site a:focus-visible:after,.p-tree a:hover:after,.p-tree a:focus-visible:after{visibility:inherit;animation:var(--blink)}.p-site .is-current{color:var(--teal)}.p-lang,.p-toggle,.p-cta{padding:7px var(--ctl-pad);white-space:nowrap;border-radius:8px;font-size:13.5px;line-height:1;text-decoration:none;position:relative}.p-lang:before,.p-toggle:before{content:"";inset-block:calc(50% - var(--tap) / 2);inset-inline:min(0px, 50% - var(--tap) / 2);position:absolute}.p-lang{border:var(--ctl-border) solid var(--line-control);color:var(--text);transition:border-color .15s,color .15s}.p-lang:hover,.p-lang:focus-visible{border-color:var(--teal);color:var(--teal)}.p-cta{padding-inline:12px}.p-tree{height:var(--bar-tree);margin-top:calc(-1 * var(--bar-tree-pull));padding:0 var(--gutter);align-items:baseline;gap:22px;font-size:15px;line-height:1}.p-branch{color:var(--dim);margin:0 -10px 0 4ch}.p-tree a,.p-item--twig .p-name{text-transform:lowercase}.p-tree a:lang(en),.p-item--twig .p-name:lang(en){text-transform:none}.p-toggle{margin-left:auto}@media (max-width:1039.98px){.p-site,.p-cta,.p-tree{display:none}.p-lang{margin-left:auto}.p-lang~.p-toggle{margin-left:0}.p-row{--row-gap:16px;gap:var(--row-gap);container-type:inline-size}.p-prompt,.p-lang,.p-toggle{font-size:14px}.p-path{--toggle-chars:4ch;--close-chars:7ch;--ctl-frame:calc(2 * var(--ctl-pad) + 2 * var(--ctl-border));--lang-room:0px;max-width:calc(round(down, 100cqw - 5ch - var(--toggle-chars) - var(--ctl-frame) - var(--row-gap) - var(--lang-room), 1ch) + .5px)}.p-path:lang(en){--close-chars:5ch}.p-row:has(.p-lang) .p-path{--lang-room:calc(2ch + var(--ctl-frame) + var(--row-gap))}:root:has(.m-panel:target) .p-path{--toggle-chars:var(--close-chars)}:root{--anchor-stop:calc(var(--bar-row) + var(--bar-border) + var(--anchor-air))}}@media (max-width:349.98px){:root{--ctl-pad:6px}.p-row{--row-gap:10px}}.p-menu{inset:calc(var(--bar-row) + var(--bar-border)) 0 0;z-index:19;padding:22px max(var(--gutter), calc((100% - var(--w)) / 2 + var(--gutter))) 40px;font-family:var(--font-mono);background:rgb(var(--bar-rgb) / .86);-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);position:fixed;overflow-y:auto}.p-cmd{margin:0 0 8px;line-height:1}.p-item+.p-cmd{margin-top:26px}.p-item{min-height:48px;color:var(--text);grid-template-columns:15ch 1fr;align-items:baseline;padding:13px 0;font-size:18px;line-height:1.2;text-decoration:none;display:grid}.p-item--twig{grid-template-columns:3ch 1fr}@media (max-width:349.98px){.p-item:not(.p-item--twig){grid-template-columns:1fr auto}.p-item:not(.p-item--twig) .p-note{grid-area:2/1}}.p-twig{color:var(--dim)}.p-note{color:var(--muted);font-size:13px}.p-item.is-current .p-name,.p-item:active .p-name{color:var(--teal)}.p-tree a[data-acc=amber],.p-item .p-name[data-acc=amber]{color:rgb(var(--amber-rgb) / .88)}.p-tree a[data-acc=green],.p-item .p-name[data-acc=green]{color:rgb(var(--green-rgb) / .92)}.p-tree a[data-acc=teal]{color:rgb(var(--teal-rgb) / .92)}.p-tree a[data-acc=amber]:after{color:rgb(var(--amber-rgb))}.p-tree a[data-acc=green]:after{color:rgb(var(--green-rgb))}.p-tree a:hover,.p-tree a:focus-visible{color:var(--text)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.p-bar,.p-menu{background:var(--bar)}}.p-menu .m-cta{border-radius:10px;justify-content:center;align-items:center;min-height:52px;margin-top:28px;font-size:16px;display:flex}.p-menu .m-soc{--soc-field:44px;gap:4px;margin-top:28px}.p-menu .m-soc .soc-name{color:var(--muted)}.m-open,.m-close,.m-panel{display:none}@media (max-width:1039.98px){.m-open{display:inline-flex}.m-panel:target{display:block}:root:has(.m-panel:target){overflow:hidden}:root:has(.m-panel:target) .m-open{display:none}:root:has(.m-panel:target) .m-close{display:inline-flex}:root:has(.m-panel:target) :is(main,footer){visibility:hidden}}.m-panel:focus{outline:none}@media (prefers-reduced-motion:no-preference){.m-panel:target .m-line{animation:1ms step-end both m-print;animation-delay:calc(var(--print-step,0) * 40ms)}}@keyframes m-print{0%{visibility:hidden}to{visibility:visible}}.p-site{align-self:stretch;align-items:center}.p-drop{align-self:stretch;align-items:center;display:flex}.p-panel{top:var(--bar-row);z-index:1;max-height:calc(100vh - var(--bar-row));max-height:calc(100dvh - var(--bar-row));border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bar);visibility:hidden;position:absolute;inset-inline:0;overflow-y:auto}.p-drop:hover .p-panel,.p-drop:focus-within .p-panel{visibility:inherit}.p-bar:has(.p-drop:hover,.p-drop:focus-within) .p-tree{visibility:hidden}@media (prefers-reduced-motion:no-preference){.p-panel,.p-tree{transition:visibility 0s linear .18s}.p-drop:hover .p-panel,.p-drop:focus-within .p-panel{transition-delay:0s}.p-bar:has(.p-drop:hover,.p-drop:focus-within) .p-tree{transition-delay:0s}}.p-drop:hover>a,.p-drop:focus-within>a{color:var(--text)}.p-drop:hover>a:after,.p-drop:focus-within>a:after{visibility:inherit}.p-drop:hover>.is-current,.p-drop:focus-within>.is-current{color:var(--teal)}.sm-in{max-width:var(--w);padding:16px var(--gutter) 6px;margin:0 auto}.sm-head{color:var(--muted);justify-content:space-between;align-items:baseline;gap:24px;margin:0 0 14px;font-size:13px;line-height:1.2;display:flex}.p-site .sm-all{color:var(--teal)}.p-site .sm-all:hover,.p-site .sm-all:focus-visible{color:var(--text)}.sm-cols{columns:2;column-gap:56px}.sm-group{break-inside:avoid;margin-bottom:16px}.sm-title{color:var(--text);margin:0 0 4px;font-size:13px;line-height:1.2}.sm-title[data-acc=teal]{color:rgb(var(--teal-rgb) / .92)}.sm-title[data-acc=green]{color:rgb(var(--green-rgb) / .92)}.sm-title[data-acc=amber]{color:rgb(var(--amber-rgb) / .88)}.sm-list{margin:0;padding:0;list-style:none}.sm-list a{white-space:normal;grid-template-columns:3ch auto;width:fit-content;max-width:100%;padding:6px 0;line-height:1.3;display:grid}.p-site .sm-list a:after{content:none}.sm-name:after{content:"_";content:"_" / "";color:var(--teal);visibility:hidden;position:absolute}.sm-list a:hover .sm-name:after,.sm-list a:focus-visible .sm-name:after{visibility:inherit;animation:var(--blink)}.sm-cols:not(:has(a:hover,a:focus-visible)) .is-current .sm-name:after{visibility:inherit;animation:var(--blink)}.sm-list a:focus-visible{outline-offset:1px}.sm-twig{color:var(--dim)}.m-services>summary,.m-group>summary{cursor:pointer;list-style:none}.m-services>summary::-webkit-details-marker{display:none}.m-group>summary::-webkit-details-marker{display:none}.m-services>summary{grid-template-columns:15ch 1fr auto}.m-group>summary{grid-template-columns:3ch 1fr auto}.m-fold:after{content:"+";content:"+" / "";color:var(--teal)}:is(.m-services,.m-group)[open]>.m-fold:after{content:"−";content:"−" / ""}.m-services+.p-cmd{margin-top:26px}.m-list{margin:0 0 8px 3ch;padding:0;list-style:none}.p-item--leaf{min-height:44px;padding:10px 0;font-size:16px}.p-item--leaf .p-name{text-transform:none}.foot{border-top:1px solid var(--line);background:rgb(var(--bar-rgb) / .85);font-family:var(--font-mono);letter-spacing:0;--trunk:calc(1.5ch + 2px);position:relative}.foot:before{content:"";background:linear-gradient(90deg, transparent 0, rgb(var(--teal-rgb) / .55) 16%, var(--line) 46%, transparent 92%);height:1px;position:absolute;top:-1px;left:0;right:0}.foot-in{grid-template-columns:minmax(0,1fr);gap:12px;padding:32px 0 40px;display:grid}.brand{font:500 15px/1 var(--font-logo);justify-self:start;align-items:baseline;text-decoration:none;display:inline-flex}.brand .chev{color:var(--teal);margin-right:2px}.brand .cur{color:var(--teal);margin-left:1px}.foot-tree{padding-left:calc(var(--trunk) + 1.5ch + 12px);flex-wrap:wrap;align-items:baseline;gap:14px 22px;margin-top:10px;font-size:15px;line-height:1;display:flex;position:relative}.foot-branch{color:var(--dim);position:absolute;top:0;left:calc(1ch + 2px)}.foot-tree a{color:var(--muted);white-space:nowrap;text-decoration:none;transition:color .15s}.foot-twig{display:none}.foot-name{position:relative}.foot-name:after{content:"_";content:"_" / "";color:var(--teal);visibility:hidden;position:absolute;left:100%}.foot-tree a:hover,.foot-tree a:focus-visible{color:var(--text)}.foot-tree a:hover .foot-name:after,.foot-tree a:focus-visible .foot-name:after{visibility:inherit;animation:var(--blink)}.foot-menu{border-top:1px solid var(--line);margin-top:14px;padding-top:22px}.foot-cmd{margin:0 0 18px;font-size:15px;line-height:1}.foot-cmd .p-caption-logo .p-accent{margin-right:2px}.foot-cols{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px 28px;display:grid}.foot-dir{width:fit-content;color:var(--text);margin-bottom:6px;font-size:13px;line-height:1.2;text-decoration:none;transition:color .15s;display:block}.foot-dir:hover,.foot-dir:focus-visible{color:var(--teal)}.foot-list{font-family:var(--font-body);letter-spacing:-.006em;margin:0;padding:0;list-style:none}.foot-list a{width:fit-content;max-width:100%;color:var(--muted);text-wrap:balance;padding:6px 0;font-size:14px;line-height:1.4;text-decoration:none;transition:color .15s;display:block}.foot-list a:hover,.foot-list a:focus-visible{color:var(--text)}.foot-soc{border-top:1px solid var(--line);margin-top:14px;padding-top:16px}@media (min-width:640.02px){.soc.foot-soc{--soc-label:auto;flex-wrap:wrap;gap:2px 30px;display:flex}.foot-soc .soc-group{gap:12px}}.foot-sign{color:var(--dim);margin:10px 0 0;font-size:12.5px;line-height:1}.foot-sign a{color:var(--muted);text-underline-offset:3px;margin-block:-10px;padding-block:10px;display:inline-block}.foot-sign a:hover,.foot-sign a:focus-visible{color:var(--text)}@media (max-width:640px){.foot-in{row-gap:4px;padding:22px 0 34px}.foot-tree{flex-direction:column;align-items:stretch;gap:0;margin-top:0;padding-left:0}.foot-branch{display:none}.foot-menu{margin-top:10px;padding-top:18px}.foot-cmd{margin-bottom:4px}.foot-cols{display:block}.foot-list{display:none}.foot-dir{width:auto;color:var(--muted);margin:0;font-size:15px;line-height:1}.foot-dir:hover,.foot-dir:focus-visible{color:var(--text)}.foot-tree a,.foot-dir{min-height:44px;padding-left:calc(var(--trunk) + 2ch);align-items:center;display:flex;position:relative}.foot-tree a:before,.foot-dir:before{content:"";top:0;bottom:0;left:var(--trunk);border-left:1px solid var(--dim);position:absolute}.foot-tree a:last-child:before,.foot-group:last-child .foot-dir:before{bottom:50%}.foot-twig{top:50%;left:var(--trunk);border-top:1px solid var(--dim);width:1.2ch;display:block;position:absolute}.foot-soc{border-top:0;margin-top:18px;padding-top:0}.foot-sign{margin-top:16px}}.soc{--soc-field:36px;font-family:var(--font-mono);gap:2px;display:grid}.soc-group{align-items:flex-start;gap:2px;display:flex}.soc-links{flex-wrap:wrap;gap:2px;min-width:0;display:flex}.soc-name{width:var(--soc-label,8ch);font-size:12.5px;line-height:var(--soc-field);color:var(--dim);flex:none}.soc-name:lang(en){width:var(--soc-label,12.5ch)}.soc a{width:var(--soc-field);height:var(--soc-field);color:var(--muted);border-radius:8px;justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:inline-flex}.soc a:hover,.soc a:focus-visible{color:var(--text);background:rgb(var(--teal-rgb) / .1)}.soc svg{fill:currentColor;width:18px;height:18px;display:block}.soc-mask{background:currentColor;width:18px;height:18px;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.soc-mask-linkedin{-webkit-mask-image:url(/_astro/linkedin-in.Bnv2aKvw.png);mask-image:url(/_astro/linkedin-in.Bnv2aKvw.png)}.consent{z-index:18;inset:auto 0 max(16px, env(safe-area-inset-bottom));width:min(var(--w), calc(100% - 2 * var(--gutter)));border:1px solid var(--line-control);background:var(--bar);border-radius:16px;align-items:center;gap:14px 24px;margin-inline:auto;padding:16px 20px;display:flex;position:fixed}.consent[hidden]{display:none}.consent-text{color:var(--text);flex:1;margin:0;font-size:14px;line-height:1.5}.consent-short{display:none}.consent-text a{color:var(--teal);-webkit-text-decoration-color:rgb(var(--teal-rgb) / .45);text-decoration-color:rgb(var(--teal-rgb) / .45);text-underline-offset:3px}.consent-text a:hover,.consent-text a:focus-visible{-webkit-text-decoration-color:var(--teal);text-decoration-color:var(--teal)}.consent-actions{flex:none;gap:10px;display:flex}.consent .btn{white-space:nowrap;padding:10px 20px}.consent .btn-fill{border:1px solid #0000}@media (max-width:640px){.consent{--consent-side:8px;width:calc(100% - 2 * var(--consent-side));flex-wrap:wrap;gap:8px 10px;padding:10px 12px}.consent-full{display:none}.consent-short{display:inline}.consent-text{--consent-text-min:152px;flex:999 1 var(--consent-text-min);font-size:13px;line-height:1.35}.consent-actions{flex-wrap:wrap;flex:1 0 auto;gap:6px}.consent .btn{flex:1;padding:11px;font-size:13px}}.counter-switch{margin:20px 0 0}.counter-state{color:var(--text);margin:12px 0 0}.counter-state+p{margin-top:28px}.lf{gap:22px;margin-top:30px;display:grid}.lf-field{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.lf-label{color:var(--text);padding:0;font-size:15px;font-weight:500}legend.lf-label+.lf-pills{margin-top:8px}.lf-opt{color:var(--muted);margin-left:6px;font-size:13px;font-weight:400}.lf-hint{color:var(--muted);margin:0;font-size:13.5px;line-height:1.5}.lf-input,.lf-area{border:1px solid var(--line-control);width:100%;color:var(--text);font:inherit;background:#ffffff09;border-radius:12px;padding:12px 14px;font-size:16px;transition:border-color .15s,background-color .15s}.lf-area{resize:vertical;min-height:136px;line-height:1.55}.lf-input::placeholder,.lf-area::placeholder{color:var(--muted);opacity:1}.lf-input:hover,.lf-area:hover{border-color:var(--line-control-hover)}.lf-input:focus,.lf-area:focus{border-color:var(--teal);background:rgb(var(--teal-rgb) / .05)}:is(.lf-input:user-invalid,.lf-area:user-invalid){border-color:rgb(var(--amber-rgb) / .75)}.lf-row{grid-template-columns:1fr 1fr;gap:22px 18px;display:grid}.lf-pills{flex-wrap:wrap;gap:8px;display:flex}.lf-pill{display:inline-flex;position:relative}.lf-pill input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.lf-pill span{border:1px solid var(--line-control);min-height:44px;color:var(--muted);background:#ffffff06;border-radius:999px;align-items:center;padding:7px 15px;font-size:14.5px;line-height:1.3;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.lf-pill:hover span{color:var(--text);border-color:var(--line-control-hover)}.lf-pill input:checked+span{color:var(--a);border-color:rgb(var(--a-rgb) / .55);background:rgb(var(--a-rgb) / .1)}.lf-pill input:checked+span:before{content:"✓";content:"✓" / "";margin-right:7px}.lf-pill input:focus-visible+span{outline:2px solid var(--teal);outline-offset:3px}.lf-send{flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:4px;display:flex}.lf-note{color:var(--muted);margin:0;font-size:14px}.lf-consent{color:var(--muted);margin:14px 0 0;font-size:14px}.lf-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.lf-alt{margin:26px 0 0;font-size:15px}.lf-alt-next{margin-top:8px}.lf-done,.lf-fail{border-left:2px solid var(--a);margin-top:30px;padding:4px 0 4px 20px;scroll-margin-top:120px;display:none}#sent:target,#send-failed:target{display:block}#sent:target~.lf{display:none}#send-failed:target+.lf{margin-top:24px}.lf-done:focus,.lf-fail:focus{outline:none}.lf-done h3,.lf-fail h3{margin-bottom:6px}.lf-done p,.lf-fail p{margin:0 0 8px;font-size:15px}.lf-done p:last-child,.lf-fail p:last-child{margin-bottom:0}@media (max-width:640px){.lf-row{grid-template-columns:1fr}}
