pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
:root{--ink:#0b1220;--ink-2:#2a3346;--ink-3:#5b657a;--line:#e6eaf2;--line-2:#d7deec;--soft:#f4f7fc;--blue:#1a73e8;--blue-deep:#0e4fb8;--blue-ink:#082b6b;--blue-soft:#e6f0fe;--blue-ultra:#f3f7fe;--accent:#1a73e8;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"Inter",system-ui,-apple-system,Segoe UI,sans-serif;--frog:#6fb752;--frog-dark:#3e7a2d;--frog-light:#a6d58a;--fs-6-5:6.5px;--fs-7:7px;--fs-8:8px;--fs-9:9px;--fs-10:10px;--fs-10-5:10.5px;--fs-11:11px;--fs-11-5:11.5px;--fs-12:12px;--fs-12-5:12.5px;--fs-13:13px;--fs-13-5:13.5px;--fs-14:14px;--fs-14-5:14.5px;--fs-15:15px;--fs-15-5:15.5px;--fs-16:16px;--fs-17:17px;--fs-18:18px;--fs-19:19px;--fs-20:20px;--fs-22:22px;--fs-23:23px;--fs-24:24px;--fs-26:26px;--fs-28:28px;--fs-30:30px;--fs-32:32px;--fs-34:34px;--fs-36:36px;--fs-42:42px;--fs-44:44px;--fs-46:46px;--fs-54:54px;--fs-60:60px}*{box-sizing:border-box}html,body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:linear-gradient(#eff5fe 0%,#fff 420px);margin:0;padding:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}::selection{background:var(--accent);color:#fff}.conanio-clipboard-tooltip,.conanio-clipboard-tooltip *{text-align:center}.container{max-width:1200px;margin:0 auto;padding:0 40px}.pill{font-size:var(--fs-12);background:var(--blue-soft);color:var(--blue-deep);font-weight:500;font-family:var(--mono);border-radius:99px;align-items:center;gap:8px;padding:5px 11px;display:inline-flex}.btn{font-weight:600;font-size:var(--fs-14);cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:12px 18px;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--blue-deep)}.btn-ghost{border-color:var(--line-2);color:var(--ink);background:#fff}.btn-ghost:hover{background:var(--soft)}.nav{--nav-pad-y:11px;--nav-pad-x:40px;--nav-logo-h:65px;z-index:50;padding:var(--nav-pad-y) var(--nav-pad-x);background:#fff;border-bottom:1px solid #0b1c4614;align-items:center;gap:32px;margin:0 auto;transition:padding .2s;display:flex;position:sticky;top:0}.nav.scrolled{--nav-pad-y:5px;padding:var(--nav-pad-y) var(--nav-pad-x)}.nav-inner{max-width:1440px;margin:0 auto;display:contents}.logo{align-items:center;gap:10px;display:flex}.nav .logo img{width:auto;height:65px;display:block}.logo .wordmark{font-weight:800;font-size:var(--fs-22);letter-spacing:-.025em;color:var(--blue-ink);font-family:var(--sans)}.logo .sub{font-family:var(--mono);font-size:var(--fs-10);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);border-left:1px solid var(--line);margin-left:10px;padding-left:10px}.nav ul{font-size:var(--fs-14);color:var(--ink-2);gap:24px;margin:0;padding:0;list-style:none;display:flex}.nav ul a{cursor:pointer}.nav ul a:hover{color:var(--accent)}@media (min-width:1025px){.nav ul li.nav-download,.nav ul li.nav-github{display:none}}.nav .right{align-items:center;gap:10px;margin-left:auto;display:flex}.nav .gh{font-size:var(--fs-13);color:var(--ink-2);border:1px solid var(--line);min-height:40px;font-family:var(--sans);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;line-height:1;display:inline-flex}.nav .gh .repo{color:var(--ink);font-weight:600;font-family:var(--sans);font-size:var(--fs-12);align-items:center;gap:5px;display:inline-flex}.nav .gh .repo svg{color:var(--ink);width:11px;height:11px}.nav .gh .stats{align-items:center;gap:8px;display:inline-flex}.nav .gh .stat{color:var(--ink-3);font-size:var(--fs-10-5);align-items:center;gap:3px;display:inline-flex}.nav .gh .stat svg{color:var(--ink-3);width:9px;height:9px}.nav .gh:hover{border-color:var(--line-2)}.nav .search{border:1px solid var(--line);color:var(--ink-3);font-size:var(--fs-13);background:#fff;border-radius:8px;align-items:center;gap:8px;min-width:220px;padding:7px 12px;transition:all .15s;display:flex}.nav .search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #1a73e81f}.nav .search svg{color:var(--ink-3);flex-shrink:0}.nav .search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0}.nav .search input::placeholder{color:var(--ink-3)}.nav .search kbd{font-family:var(--mono);font-size:var(--fs-10);border:1px solid var(--line);color:var(--ink-3);background:var(--soft);border-radius:4px;padding:2px 5px}.nav .dl{font-size:var(--fs-13);color:#fff;background:var(--accent);border-radius:8px;align-items:center;gap:6px;min-height:40px;padding:10px 14px;font-weight:600;transition:all .15s;display:inline-flex}.nav .dl:hover{background:var(--blue-deep)}.hero{grid-template-columns:1fr 1.15fr;align-items:center;gap:48px;max-width:1200px;margin:0 auto;padding:60px 40px 40px;display:grid;position:relative}.hero .left h1{font-size:var(--fs-60);letter-spacing:-.03em;color:var(--blue-ink);margin:16px 0 18px;font-weight:800;line-height:1.02}.hero .left h1 .blue{color:var(--accent)}.hero .left p{font-size:var(--fs-17);color:var(--ink-2);max-width:520px;margin:0 0 22px;line-height:1.55}.hero .left .cta{flex-wrap:wrap;gap:10px;display:flex}.hero-meta{border-top:1px solid var(--line);gap:28px;margin-top:24px;padding-top:20px;display:flex}.hero-meta>div{flex-direction:column;display:flex}.hero-meta b{font-size:var(--fs-22);color:var(--blue-ink);letter-spacing:-.01em;font-weight:700}.hero-meta span{font-size:var(--fs-12);color:var(--ink-3)}.visual{position:relative}.term{background:#0b1220;border:1px solid #182136;border-radius:14px;overflow:hidden;box-shadow:0 30px 60px -24px #0a1e464d}.term .bar{background:#0e1525;border-bottom:1px solid #182136;align-items:center;gap:8px;padding:11px 14px;display:flex}.term .bar .dots{gap:6px;display:flex}.term .bar .dots span{background:#273349;border-radius:99px;width:10px;height:10px}.term .bar .title{color:#6b7a95;font-family:var(--mono);font-size:var(--fs-12);margin-left:6px}.term pre{font-family:var(--mono);font-size:var(--fs-13);color:#c9d6ef;white-space:pre-wrap;margin:0;padding:22px 20px;line-height:1.7}.term .prompt{color:#4ecdc4}.term .cmd{color:#e6eaf2}.term .out{color:#6b7a95}.term .ok{color:#50d58b}.term .kw{color:#69a7ff}.term .str{color:#e9b177}.mascot{aspect-ratio:1;z-index:2;filter:drop-shadow(0 22px 28px #0a1e4640);place-items:center;width:240px;display:grid;position:absolute;top:-160px;right:-140px}.mascot img{object-fit:contain;width:100%;height:100%;display:block}.mascot-solo{filter:drop-shadow(0 30px 40px #0a1e4638);box-sizing:border-box;place-items:center;width:100%;max-width:520px;margin-inline:auto;padding:20px;display:grid}.ribbon{background:var(--accent);color:#fff;margin-top:48px;padding:14px 0;position:relative;overflow:hidden}.ribbon .track{white-space:nowrap;width:max-content;font-family:var(--mono);font-size:var(--fs-13);background:var(--accent);will-change:transform;gap:60px;animation:30s linear infinite scroll;display:flex}.ribbon .track span{opacity:.9;flex-shrink:0}.ribbon .track b{font-weight:500}@keyframes scroll{0%{transform:translate(0,0)}to{transform:translate(-25%)}}.section{max-width:1200px;margin:0 auto;padding:80px 40px}.section h2{font-size:var(--fs-42);letter-spacing:-.025em;color:var(--blue-ink);margin:8px 0 12px;font-weight:700}.section .lead{color:var(--ink-3);font-size:var(--fs-16);max-width:620px;margin:0 0 40px;line-height:1.55}.why-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.why-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:28px;position:relative;overflow:hidden}.why-card .ico{background:var(--blue-soft);width:44px;height:44px;color:var(--blue-deep);font-family:var(--mono);border-radius:12px;place-items:center;margin-bottom:18px;font-weight:700;display:grid}.why-card h3{font-size:var(--fs-18);letter-spacing:-.01em;color:var(--blue-ink);margin:0 0 10px;font-weight:700}.why-card p{color:var(--ink-3);font-size:var(--fs-14);margin:0;line-height:1.6}.products{grid-template-columns:1fr 1fr;gap:18px;display:grid}.prod{border:1px solid var(--line);background:#fff;border-radius:20px;min-height:230px;padding:36px;position:relative;overflow:hidden}.prod .badge{font-size:var(--fs-11);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:99px;align-items:center;gap:8px;margin-bottom:14px;padding:5px 11px;display:inline-flex}.prod.ce .badge{color:#0e5a35;background:#dbf4e5}.prod.cc .badge{background:var(--blue-soft);color:var(--blue-deep)}.prod h3{font-size:var(--fs-24);letter-spacing:-.01em;margin:0 0 10px;font-weight:700}.prod p{color:var(--ink-3);line-height:1.6;font-size:var(--fs-14);margin:0 0 20px}.code-section{background:var(--blue-ink);color:#e6f0fe;margin:60px 0 0;padding:80px 40px;position:relative;overflow:hidden}.code-section:before{content:"";background:radial-gradient(circle,#1a73e873,#0000 70%);border-radius:50%;width:320px;height:320px;position:absolute;top:-80px;right:-80px}.code-section .wrap{grid-template-columns:.9fr 1.1fr;align-items:center;gap:48px;max-width:1200px;margin:0 auto;display:grid;position:relative}.code-section h2{color:#fff;font-size:var(--fs-36);letter-spacing:-.02em;margin:8px 0 14px}.code-section p{color:#8fa8cc;line-height:1.6}.tribe{grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;display:grid}.av-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.tribe-illo{aspect-ratio:5/2;place-items:center;width:100%;padding:8px;display:grid}.tribe-illo img{object-fit:contain;filter:drop-shadow(0 22px 28px #0a1e462e);width:auto;max-width:100%;height:auto;max-height:100%;display:block}.av{aspect-ratio:1;width:100%;color:var(--blue-deep);font-family:var(--mono);font-weight:700;font-size:var(--fs-12);background:linear-gradient(135deg,#e6f0fe,#c8defb);border:3px solid #fff;border-radius:99px;place-items:center;display:grid;box-shadow:0 6px 12px -6px #0a1e4633}.newsletter{text-align:center;background:var(--blue-ultra);border-top:1px solid var(--line);padding:72px 40px}.newsletter h2{font-size:var(--fs-34);letter-spacing:-.02em;color:var(--blue-ink);margin:0 0 14px}.newsletter form{justify-content:center;gap:6px;max-width:440px;margin:0 auto;display:flex}.newsletter input{border:1px solid var(--line-2);font:inherit;background:#fff;border-radius:12px;flex:1;padding:13px 15px}.foot{border-top:1px solid var(--line);grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;max-width:1200px;margin:0 auto;padding:48px 40px 34px;display:grid}.foot h5{font-size:var(--fs-11);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-weight:600}.foot ul{font-size:var(--fs-14);color:var(--ink-2);margin:0;padding:0;list-style:none}.foot ul li{padding:4px 0}.foot ul a{cursor:pointer}.foot ul a:hover{color:var(--accent)}.foot .brand p{color:var(--ink-3);font-size:var(--fs-14);max-width:320px;margin:10px 0 16px;line-height:1.55}.foot-bar{border-top:1px solid var(--line);max-width:1200px;font-size:var(--fs-12);color:var(--ink-3);justify-content:space-between;margin:0 auto;padding:16px 40px;display:flex}.foot-bar .social{gap:16px;display:flex}.dark{color:#c9d3e6;background:#0b1220;margin-top:0;padding:72px 40px 28px}.dark .sub-head{text-align:center;max-width:520px;margin:0 auto 30px}.dark .sub-head h2{font-size:var(--fs-24);color:#fff;letter-spacing:-.01em;margin:0 0 20px;font-weight:600}.dark .sub-form{justify-content:center;gap:8px;max-width:440px;margin:0 auto;display:flex}.dark .sub-form input{color:#e6eaf2;font:inherit;font-size:var(--fs-13);background:#0e1525;border:1px solid #1f2a42;flex:1;padding:11px 14px}.dark .sub-form input::placeholder{color:#5b6a85}.dark .sub-form button{background:var(--accent);color:#fff;font-weight:600;font-size:var(--fs-13);cursor:pointer;border:0;padding:11px 18px}.dark .sub-form button:hover{background:var(--blue-deep)}.dark .mktoFormWrapper{width:100%;max-width:100%;margin:0 auto}.dark .mkto-form-inner{justify-content:center;padding-top:12px;display:flex}.dark section.sign-up form#mktoForm_1479{flex-wrap:wrap;place-content:flex-start center;max-width:100%;padding:0;display:flex;float:none!important;clear:none!important;width:100%!important;margin:0 auto!important}@media screen and (min-width:768px){.dark section.sign-up form#mktoForm_1479{width:535px!important}}.dark section.sign-up form#mktoForm_1479 .mktoFormRow{float:none!important;clear:none!important}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(2),.dark section.sign-up form#mktoForm_1479 .mktoButtonRow{order:-1}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(2) .mktoError{right:unset!important;bottom:-69px!important}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(2) label[for=Email],.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(2) .mktoOffset,.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(2) .mktoClear,.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(2) .mktoGutter.mktoHasWidth{display:none!important}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(2) input{box-sizing:border-box;width:100%;min-height:42px;color:#e6eaf2!important;font:inherit!important;font-size:var(--fs-13)!important;background:#0e1525!important;border:1px solid #1f2a42!important;border-radius:0!important;height:auto!important;margin:0!important;padding:11px 14px!important}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(2) input#Email{max-width:100%;width:332px!important}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(2) input::placeholder{color:#5b6a85!important}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(2) input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dark section.sign-up form#mktoForm_1479 .mktoButtonRow span.mktoButtonWrap.mktoNative,.dark section.sign-up form#mktoForm_1479 .mktoButtonRow span.mktoButtonWrap{margin-left:10px!important}.dark section.sign-up form#mktoForm_1479 .mktoButtonRow button.mktoButton,.dark section.sign-up form#mktoForm_1479 .mktoButtonRow input[type=submit].mktoButton{cursor:pointer;min-width:110px;min-height:42px;transition:background .15s;background:var(--accent)!important;color:#fff!important;font-weight:600!important;font-size:var(--fs-13)!important;width:auto!important;text-shadow:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:11px 18px!important;font-family:inherit!important;line-height:normal!important}.dark section.sign-up form#mktoForm_1479 .mktoButtonRow button.mktoButton:hover,.dark section.sign-up form#mktoForm_1479 .mktoButtonRow input[type=submit].mktoButton:hover{background:var(--blue-deep)!important}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(3){justify-content:center;width:525px;max-width:100%;margin-top:10px;display:flex}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(3) .mktoAsterix,.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(3) .mktoGutter.mktoHasWidth,.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(3) .mktoFieldDescriptor.mktoFormCol .mktoOffset{display:none!important}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(3) .mktoFieldDescriptor.mktoFormCol .mktoFieldWrap.mktoRequiredField{flex-flow:row-reverse;justify-content:center;align-items:center;gap:0;padding-top:5px;width:fit-content!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;display:flex!important}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(3) .mktoFieldWrap.mktoRequiredField label.mktoLabel.mktoHasWidth{color:#7d8aa6!important;text-align:start!important;width:auto!important;max-width:none!important;font-weight:400!important;font-size:var(--fs-12)!important;margin:0!important;padding:0!important;display:inline!important}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(3) .mktoFieldWrap.mktoRequiredField label.mktoLabel.mktoHasWidth a{text-underline-offset:3px;text-decoration:underline;color:#9eb3d8!important;font-weight:400!important}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(3) .mktoLogicalField.mktoCheckboxList.mktoHasWidth.mktoRequired{flex-shrink:0;margin:0!important;width:auto!important;min-width:0!important;margin-inline-start:-6px!important;padding:0!important}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(3) input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;margin:0!important;display:block!important}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(3) .mktoFieldDescriptor.mktoFormCol{width:auto!important;max-width:100%!important}.dark section.sign-up form#mktoForm_1479 .mktoHtmlText{color:#7d8aa6!important;font-size:var(--fs-12)!important;text-align:center!important;line-height:1.45!important}.dark section.sign-up form#mktoForm_1479 .mktoHtmlText a{color:#9eb3d8!important}@media screen and (max-width:600px){.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(3){justify-content:center;width:100%}.dark section.sign-up form#mktoForm_1479 .mktoFormRow:nth-child(2) input#Email{width:210px!important;font-size:var(--fs-13)!important}.dark section.sign-up form#mktoForm_1479 .mktoButtonRow button.mktoButton,.dark section.sign-up form#mktoForm_1479 .mktoButtonRow input[type=submit].mktoButton{min-width:0;font-size:var(--fs-13)!important}}.dark .agree{font-size:var(--fs-12);color:#7d8aa6;justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.dark .agree a{color:#9eb3d8;text-underline-offset:3px;text-decoration:underline}.dark .bar{max-width:1200px;font-size:var(--fs-13);color:#8fa0c0;border-top:1px solid #1f2a42;justify-content:space-between;align-items:center;gap:20px;margin:44px auto 0;padding-top:22px;display:flex}.dark .bar .links{flex-wrap:wrap;gap:22px;display:flex}.dark .bar .links a{cursor:pointer}.dark .bar .links a:hover{color:#fff}.dark .bar .social{align-items:center;gap:14px;display:flex}.dark .bar .social a{color:#8fa0c0;border:1px solid #1f2a42;place-items:center;width:28px;height:28px;transition:all .15s;display:grid}.dark .bar .social a:hover{border-color:var(--accent);color:#fff}.related-head{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:28px;display:flex}.related-head .lead{max-width:520px;margin:0}.related-head .meta{font-family:var(--mono);font-size:var(--fs-11);color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.related-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.proj{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:14px;min-height:220px;padding:26px 26px 22px;transition:all .15s;display:flex;position:relative}.proj:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:0 16px 32px -22px #0a1e4633}.proj .top{justify-content:space-between;align-items:center;gap:10px;display:flex}.proj .slug{font-family:var(--mono);font-size:var(--fs-11-5);color:var(--ink-3);letter-spacing:.02em;align-items:center;gap:8px;display:inline-flex}.proj .slug .sq{background:var(--accent);border-radius:2px;width:8px;height:8px}.proj.green .slug .sq{background:var(--frog)}.proj.amber .slug .sq{background:#e1b266}.proj .gh{font-family:var(--mono);font-size:var(--fs-11);color:var(--ink-3);align-items:center;gap:5px;display:inline-flex}.proj h3{font-size:var(--fs-19);letter-spacing:-.01em;color:var(--blue-ink);margin:4px 0 0;font-weight:700;line-height:1.2}.proj p{color:var(--ink-3);font-size:var(--fs-13-5);flex:1;margin:0;line-height:1.55}.proj .foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:6px;padding-top:14px;display:flex}.proj .foot .tags{font-family:var(--mono);font-size:var(--fs-10-5);color:var(--ink-3);gap:6px;display:flex}.proj .foot .tags span{border:1px solid var(--line);background:var(--soft);border-radius:99px;padding:3px 8px}.proj .foot .link{font-size:var(--fs-13);color:var(--accent);align-items:center;gap:6px;font-weight:600;display:inline-flex}.proj .foot .link svg{transition:transform .15s}.proj:hover .foot .link svg{transform:translate(3px)}.proj.addmore{color:var(--ink-3);text-align:center;background:0 0;border-style:dashed;justify-content:center;align-items:center}.proj.addmore:hover{box-shadow:none;border-color:var(--accent);color:var(--accent);transform:none}.proj.addmore .plus{background:var(--blue-soft);width:36px;height:36px;color:var(--blue-deep);font-size:var(--fs-20);border-radius:10px;place-items:center;font-weight:500;display:grid}.proj.addmore p{font-size:var(--fs-13);text-align:center;max-width:220px}.related-dark{background:var(--blue-ink);color:#e6f0fe;margin:20px 0 0;padding:80px 40px;position:relative;overflow:hidden}.related-dark:before{content:"";background:radial-gradient(circle,#1a73e873,#0000 70%);border-radius:50%;width:320px;height:320px;position:absolute;top:-80px;right:-80px}.related-dark .wrap{max-width:1200px;margin:0 auto;position:relative}.related-dark .related-head .lead{color:#8fa8cc}.related-dark .related-head h2{color:#fff;font-size:var(--fs-42);letter-spacing:-.025em;margin:8px 0 12px;font-weight:700}.related-dark .related-head .meta{color:#ffffff73}.related-dark .pill{color:#9eb3d8;background:#5ea2ff24}.related-dark .proj{color:var(--ink-2);background:#fff;border-color:#ffffff14}.related-dark .proj:hover{background:#fff;border-color:#5ea2ff;box-shadow:0 20px 40px -20px #00000073}.related-dark .proj h3{color:var(--blue-ink)}.related-dark .proj p,.related-dark .proj .slug,.related-dark .proj .gh{color:var(--ink-3)}.related-dark .proj .foot{border-top-color:var(--line)}.related-dark .proj .foot .tags span{background:var(--soft);border-color:var(--line);color:var(--ink-3)}.related-dark .proj .foot .link{color:var(--accent)}.related-dark .proj.addmore{color:#8fa8cc;background:0 0;border-color:#ffffff26}.related-dark .proj.addmore:hover{color:#5ea2ff;border-color:#5ea2ff}.related-dark .proj.addmore .plus{color:#9eb3d8;background:#5ea2ff24}.related-dark .proj.addmore h3,.related-dark .proj.addmore b{color:#e6f0fe!important}.related-dark .proj.addmore p{color:#8fa8cc}.related-dark .proj p span[style*="var(--ink-2)"]{color:#c9d6ef!important}.packages-dark .products{grid-template-columns:1fr 1fr;gap:18px;margin-top:8px;display:grid}.packages-dark .prod{color:var(--ink-2);background:#fff;border-color:#ffffff14}.packages-dark .prod h3{color:var(--blue-ink)}.packages-dark .prod p{color:var(--ink-3)}.packages-dark .prod.ce .badge{color:#0e5a35;background:#dbf4e5}.packages-dark .prod.cc .badge{background:var(--blue-soft);color:var(--blue-deep)}.packages-dark .prod .btn-ghost{border-color:var(--line-2);color:var(--ink);background:#fff}.packages-dark .prod .btn-ghost:hover{background:var(--soft)}.section:has(.tribe){padding-bottom:40px}.stories-section{max-width:1200px;margin:0 auto;padding:40px}.stories-head{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:28px;display:flex}.stories-head h2{font-size:var(--fs-42);letter-spacing:-.025em;color:var(--blue-ink);margin:8px 0 12px;font-weight:700}.stories-head .lead{color:var(--ink-3);font-size:var(--fs-16);max-width:560px;margin:0;line-height:1.55}.stories-head .meta{font-family:var(--mono);font-size:var(--fs-11);color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.stories-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.story{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:1.35fr 1fr;gap:0;transition:all .15s;display:grid;overflow:hidden}.story:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:0 16px 32px -22px #0a1e4633}.story .body{flex-direction:column;gap:10px;padding:28px 28px 24px;display:flex}.story .company{font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.story h3{font-size:var(--fs-20);letter-spacing:-.01em;color:var(--blue-ink);margin:0;font-weight:700;line-height:1.25}.story p{font-size:var(--fs-13-5);color:var(--ink-3);margin:0;line-height:1.55}.story .foot{justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;display:flex}.story .foot .tags{font-family:var(--mono);font-size:var(--fs-10-5);color:var(--ink-3);gap:6px;display:flex}.story .foot .tags span{border:1px solid var(--line);background:var(--soft);border-radius:99px;padding:3px 8px}.story .foot .dl{font-size:var(--fs-13);color:var(--accent);align-items:center;gap:6px;font-weight:600;display:inline-flex}.story .foot .dl svg{transition:transform .15s}.story:hover .foot .dl svg{transform:translate(3px)}.story .cover{background:var(--blue-ultra);border-left:1px solid var(--line);place-items:center;min-height:210px;padding:28px 36px;display:grid;position:relative;overflow:hidden}.story .cover:before{content:"";background:repeating-linear-gradient(135deg,#0000 0 10px,#1a73e80d 10px 11px);position:absolute;inset:0}.story .pdf{border:1px solid var(--line);background:#fff;flex-direction:column;flex-shrink:0;gap:5px;width:108px;height:142px;padding:9px 8px;transition:transform .15s;display:flex;position:relative;transform:rotate(-2deg);box-shadow:0 10px 24px -14px #0a1e4640}.story:hover .pdf{transform:rotate(0)}.story .pdf .pdf-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.story .pdf .jfrog{font-family:var(--mono);font-size:var(--fs-7);color:var(--frog-dark);letter-spacing:.08em;background:#dbf4e5;border-radius:3px;padding:2px 4px;font-weight:700}.story .pdf .logo-mark{font-family:var(--mono);font-size:var(--fs-9);color:var(--blue-ink);letter-spacing:-.02em;font-weight:800}.story .pdf .pdf-label{font-family:var(--sans);font-size:var(--fs-6-5);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-weight:700}.story .pdf .pdf-title{font-family:var(--sans);font-size:var(--fs-8);color:var(--blue-ink);letter-spacing:-.01em;font-weight:700;line-height:1.15}.story .pdf .pdf-lines{flex-direction:column;gap:2.5px;margin-top:4px;display:flex}.story .pdf .pdf-lines span{background:var(--line-2);border-radius:1px;height:2px}.story .pdf .pdf-lines span:nth-child(3){width:85%}.story .pdf .pdf-lines span:nth-child(5){width:70%}.story .pdf .pdf-img{background:linear-gradient(135deg,#1a73e8,#5ea2ff);border-radius:2px;height:38px;margin-top:auto;position:relative;overflow:hidden}.story .pdf .pdf-img:after{content:"";background:radial-gradient(at 30% 70%,#ffffff59,#0000 60%);position:absolute;inset:0}.users-section{max-width:1200px;margin:0 auto;padding:40px}.users-head{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:28px;display:flex}.users-head h2{font-size:var(--fs-42);letter-spacing:-.025em;color:var(--blue-ink);margin:8px 0 12px;font-weight:700}.users-head .lead{color:var(--ink-3);font-size:var(--fs-16);max-width:560px;margin:0;line-height:1.55}.users-head .meta{font-family:var(--mono);font-size:var(--fs-11);color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.logo-grid{grid-template-columns:repeat(10,1fr);gap:14px;margin-bottom:56px;display:grid}.logo-grid .logo-card{grid-column:span 2}.logo-grid .logo-card:nth-child(6){grid-column:2/span 2}.logo-card{border:1px solid var(--line);background:#fff;border-radius:10px;place-items:center;min-height:110px;padding:34px 16px;display:grid;position:relative;overflow:hidden}.logo-card:before{content:"";background:var(--accent);height:3px;position:absolute;top:0;left:0;right:0}.logo-card img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:48px;display:block}.testimonial{background:linear-gradient(180deg,#eff5fe 0%, var(--blue-ultra) 100%);border:1px solid var(--line);text-align:center;border-radius:20px;padding:56px 40px;position:relative;overflow:hidden}.testimonial:before{content:"";background:radial-gradient(circle,#1a73e814,#0000 70%);border-radius:50%;width:260px;height:260px;position:absolute;top:-80px;right:-80px}.testimonial .mark{font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-bottom:18px;display:inline-flex}.testimonial .mark:before{content:"";background:var(--accent);border-radius:99px;width:6px;height:6px}.testimonial blockquote{font-size:var(--fs-19);color:var(--blue-ink);letter-spacing:-.005em;max-width:720px;margin:0 auto;font-weight:500;line-height:1.55;position:relative}.testimonial .quote-divider{max-width:280px;color:var(--ink-3);justify-content:center;align-items:center;gap:16px;margin:28px auto 20px;display:flex}.testimonial .quote-divider:before,.testimonial .quote-divider:after{content:"";background:var(--line-2);flex:1;height:1px}.testimonial .quote-divider svg{color:var(--accent);flex-shrink:0}.testimonial .who{flex-direction:column;align-items:center;gap:4px;display:flex}.testimonial .who .name{font-size:var(--fs-14);color:var(--ink-2)}.testimonial .who .role{font-size:var(--fs-14);color:var(--blue-ink);font-weight:700}.testimonial .dots{justify-content:center;gap:8px;margin-top:32px;display:flex}.testimonial .dots span{background:var(--line-2);border-radius:99px;width:7px;height:7px}.testimonial .dots span.on{background:var(--accent);width:22px}.testimonial{position:relative}.testimonial .t-track{min-height:340px;position:relative}.testimonial .t-slide{opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;transition:opacity .5s,transform .5s;display:flex;position:absolute;inset:0;transform:translateY(8px)}.testimonial .t-slide.active{opacity:1;pointer-events:auto;position:relative;transform:translateY(0)}.testimonial .t-nav{border:1px solid var(--line);width:38px;height:38px;color:var(--ink-2);z-index:5;background:#fff;border-radius:99px;place-items:center;transition:all .15s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 14px -8px #0a1e4633}.testimonial .t-nav:hover{border-color:var(--accent);color:var(--accent)}.testimonial .t-nav.prev{left:18px}.testimonial .t-nav.next{right:18px}.testimonial .dots span{cursor:pointer;transition:all .2s}.caption-mono{font-family:var(--mono);font-size:var(--fs-11);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.eyebrow{border:1px solid var(--line);font-family:var(--mono);font-size:var(--fs-11-5);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:99px;align-items:center;gap:10px;padding:6px 12px;transition:all .15s;display:inline-flex;box-shadow:0 1px #0a1e4608}.eyebrow:hover{border-color:var(--line-2);color:var(--blue-ink)}.eyebrow .tag{color:var(--accent);align-items:center;gap:6px;font-weight:600;display:inline-flex}.eyebrow .tag:before{content:"";background:var(--accent);border-radius:99px;width:6px;height:6px;box-shadow:0 0 8px #1a73e88c}.eyebrow .arrow{color:var(--ink-3)}.bench{background:linear-gradient(180deg, #fff, var(--blue-ultra));border:1px solid var(--line);border-radius:20px;grid-template-columns:.85fr 1.15fr;align-items:center;gap:48px;padding:40px 44px;display:grid;position:relative;overflow:hidden}.bench:before{content:"";pointer-events:none;background:radial-gradient(600px 300px at 85% 0,#1a73e814,#0000 60%);position:absolute;inset:0}.bench .lbl{font-family:var(--mono);font-size:var(--fs-11);color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;position:relative}.bench h3{font-size:var(--fs-32);letter-spacing:-.02em;color:var(--blue-ink);margin:0 0 12px;font-weight:700;line-height:1.08;position:relative}.bench h3 .blue{color:var(--accent)}.bench p{color:var(--ink-3);font-size:var(--fs-14-5);margin:0;line-height:1.6;position:relative}.bench .caption{font-family:var(--mono);font-size:var(--fs-11);color:var(--ink-3);letter-spacing:.06em;margin-top:18px;position:relative}.bars{flex-direction:column;gap:9px;display:flex;position:relative}.bar-row{font-family:var(--mono);font-size:var(--fs-12);grid-template-columns:120px 1fr 72px;align-items:center;gap:16px;display:grid}.bar-row .name{color:var(--ink-2)}.bar-row .track{border:1px solid var(--line);background:#fff;border-radius:6px;height:22px;position:relative;overflow:hidden}.bar-row .fill{border-right:2px solid var(--accent);background:linear-gradient(90deg,#1a73e866,#1a73e8d9);width:0;height:100%;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}.bar-row.you .fill{border-right-color:var(--frog-dark);background:linear-gradient(90deg,#6fb75280,#6fb752f2)}.bar-row .t{color:var(--ink-3);text-align:right}.bar-row.you .name,.bar-row.you .t{color:var(--blue-ink);font-weight:600}.bar-row .name .star{color:var(--frog-dark);margin-right:6px}.menu-toggle{border:1px solid var(--line);width:40px;height:40px;color:var(--ink);cursor:pointer;background:#fff;flex-shrink:0;justify-content:center;align-items:center;display:none}.menu-toggle:hover{border-color:var(--line-2)}.menu-toggle svg{width:18px;height:18px}.menu-toggle .ico-close,.nav.open .menu-toggle .ico-open{display:none}.nav.open .menu-toggle .ico-close{display:block}@media (max-width:1024px){.nav{--nav-pad-y:9px;--nav-pad-x:24px;padding:var(--nav-pad-y) var(--nav-pad-x);flex-wrap:wrap;gap:14px}.nav.scrolled{--nav-pad-y:5px}.nav ul{border-top:1px solid var(--line);width:100%;font-size:var(--fs-15);flex-direction:column;order:3;gap:0;margin-top:6px;padding:8px 0 4px;display:none}.nav.open ul{display:flex}.nav.open ul li{width:100%}.nav.open ul a{color:var(--ink-2);border-bottom:1px solid var(--line);padding:11px 4px;display:block}.nav.open ul li:last-child a{border-bottom:0}.nav.open ul li.nav-download a.dl,.nav ul li.nav-download a.dl{box-sizing:border-box;width:100%;min-height:44px;font-size:var(--fs-13);color:#fff;background:var(--accent);border:0;border-radius:8px;justify-content:center;align-items:center;margin-top:2px;padding:12px 14px;font-weight:600;display:inline-flex}.nav.open ul li.nav-download a.dl:hover,.nav ul li.nav-download a.dl:hover{background:var(--blue-deep);color:#fff}.nav.open ul li.nav-github a.gh,.nav ul li.nav-github a.gh{box-sizing:border-box;border:1px solid var(--line);background:#fff;border-bottom:0;border-radius:8px;justify-content:center;align-items:center;width:100%;min-height:44px;margin-top:2px;padding:12px 14px;display:inline-flex}.nav.open ul li.nav-github a.gh:hover,.nav ul li.nav-github a.gh:hover{border-color:var(--line-2)}.nav ul li.nav-github{border-top:1px solid var(--line);margin-top:6px;padding-top:10px}.nav ul li.nav-download{border-top:0;margin-top:8px;padding-top:0}.menu-toggle{flex-shrink:0;display:inline-flex}.nav .right{align-items:center;gap:8px;margin-left:auto;display:flex}.nav .right .dl,.nav .right .gh{display:none}.hero{grid-template-columns:1fr;gap:24px;padding:48px 24px 24px}.hero .left h1{font-size:var(--fs-46)}.visual .mascot-solo{max-width:380px;margin:0 auto}.section,.stories-section,.users-section{padding:60px 24px}.section h2,.stories-head h2,.users-head h2,.related-dark .related-head h2{font-size:var(--fs-34)}.why-grid,.related-grid{grid-template-columns:repeat(2,1fr)}.related-dark{margin:20px 0 0;padding:60px 24px}.code-section{margin:60px 0 0;padding:60px 24px}.code-section .wrap{grid-template-columns:1fr;gap:32px}.products,.stories-grid{grid-template-columns:1fr}.tribe{grid-template-columns:1fr;gap:32px}.logo-grid{grid-template-columns:repeat(5,1fr);gap:10px}.logo-grid .logo-card,.logo-grid .logo-card:nth-child(6){grid-column:auto}.foot{grid-template-columns:1fr 1fr;gap:24px;padding:40px 24px 28px}.dark{padding:56px 24px 28px}.dark .bar{flex-direction:column;align-items:flex-start;gap:16px}.bench{grid-template-columns:1fr;gap:24px;padding:32px 28px}.bench h3{font-size:var(--fs-26)}.stories-head,.users-head,.related-head{flex-direction:column;align-items:flex-start;gap:14px}}@media (max-width:640px){.nav{--nav-pad-y:5px;--nav-pad-x:16px;padding:var(--nav-pad-y) var(--nav-pad-x);gap:10px}.nav .logo img{height:52px}.nav .right{gap:8px}.nav .dl{font-size:var(--fs-12);padding:7px 10px}.hero{padding:32px 16px 16px}.hero .left h1{font-size:var(--fs-36);line-height:1.05}.hero .left p{font-size:var(--fs-15)}.hero-meta{flex-wrap:wrap;gap:18px}.hero-meta b{font-size:var(--fs-18)}.visual .mascot-solo{max-width:260px}.section,.stories-section,.users-section{padding:48px 16px}.section h2,.stories-head h2,.users-head h2,.related-dark .related-head h2{font-size:var(--fs-28)}.section .lead{font-size:var(--fs-14-5)}.why-grid,.related-grid{grid-template-columns:1fr}.related-dark{margin:16px 0 0;padding:48px 16px}.code-section{margin:48px 0 0;padding:48px 16px}.code-section h2{font-size:var(--fs-26)}.ribbon{margin-top:32px}.ribbon .track{font-size:var(--fs-12);gap:36px}.logo-grid{grid-template-columns:repeat(2,1fr)}.logo-card{min-height:88px;padding:24px 12px}.logo-card img{max-height:38px}.testimonial{padding:40px 20px}.testimonial blockquote{font-size:var(--fs-16)}.testimonial .t-nav{display:none}.foot{grid-template-columns:1fr;padding:32px 16px 24px}.dark{padding:40px 16px 24px}.dark .sub-form{flex-direction:column}.dark .bar .links{font-size:var(--fs-12);gap:12px}.prod{padding:24px}.prod h3{font-size:var(--fs-20)}.story{grid-template-columns:1fr}.story .cover{border-left:0;border-top:1px solid var(--line);min-height:160px}.bench{padding:28px 20px}.bench h3{font-size:var(--fs-22)}.bar-row{font-size:var(--fs-11);grid-template-columns:80px 1fr 56px}.stories-head .meta,.users-head .meta,.related-head .meta{display:none}.eyebrow{font-size:var(--fs-10-5);padding:5px 10px}}*,:before,:after{border-radius:0!important}.av-grid .av,.term .bar .dots span,.eyebrow .tag:before,.pill span[style*=border-radius\:99px],.hero .pill span[style*=border-radius\:99px]{border-radius:99px!important}.us-hero{border-bottom:1px solid var(--line);background:#fff;padding:48px 32px 36px}.us-hero-inner{max-width:1200px;margin:0 auto}.us-back{font-size:var(--fs-13);color:var(--ink-3);letter-spacing:.01em;margin-bottom:18px;text-decoration:none;display:inline-block}.us-back:hover{color:var(--accent)}.us-hero h1{font-size:var(--fs-36);letter-spacing:-.02em;color:var(--ink);max-width:760px;margin:0 0 28px;font-weight:600;line-height:1.15}.us-lockup{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.us-lockup-conan{width:auto;height:56px;display:block}.us-lockup-plus{font-size:var(--fs-30);color:var(--ink-3);font-weight:300}.us-lockup-customer{object-fit:contain;width:auto;height:48px;display:block}.us-lockup-customer--tomtom{height:42px}.us-lockup-customer--rti{height:64px;transform:translateY(-5px)}.us-body{grid-template-columns:1fr 320px;align-items:start;gap:48px;max-width:1200px;margin:0 auto;padding:48px 32px 72px;display:grid}.us-article{font-size:var(--fs-15);color:var(--ink-2);max-width:760px;line-height:1.7}.us-article h2{font-size:var(--fs-24);color:var(--ink);letter-spacing:-.01em;margin:36px 0 14px;padding-top:8px;font-weight:600}.us-article h2:first-child{margin-top:0}.us-article p{margin:0 0 16px}.us-article p a{color:var(--accent);font-weight:500;text-decoration:none}.us-article p a:hover{text-decoration:underline}.us-lede{font-size:var(--fs-16);color:var(--ink);font-weight:500;line-height:1.65}.us-quote{border-left:3px solid var(--accent);background:#f4f8ff;margin:32px 0;padding:22px 28px}.us-quote p{font-size:var(--fs-16);color:var(--ink);margin:0 0 10px;font-style:italic;line-height:1.55}.us-quote cite{font-size:var(--fs-13);color:var(--ink-3);letter-spacing:.01em;font-style:normal}.us-meta{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px 36px;margin-top:36px;padding-top:28px;display:grid}.us-meta-block h4{font-size:var(--fs-11);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;font-weight:600}.us-meta-block ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.us-meta-block li{font-size:var(--fs-14);color:var(--ink);padding-left:14px;position:relative}.us-meta-block li:before{content:"";background:var(--ink-3);width:5px;height:5px;position:absolute;top:9px;left:0;border-radius:99px!important}.us-aside{position:sticky;top:88px}.us-pdf{flex-direction:column;align-items:center;gap:16px;display:flex}.us-pdf-thumb{border:1px solid var(--line);background:#fff;flex-direction:column;gap:10px;width:240px;height:310px;padding:18px 16px;display:flex;position:relative;box-shadow:0 6px 24px -10px #0000002e}.us-pdf-thumb:before{content:"";background:linear-gradient(225deg,#fff 50%,var(--line) 50%,#f0f4fa 50%);border-left:1px solid var(--line);border-bottom:1px solid var(--line);width:34px;height:34px;position:absolute;top:0;right:0}.us-pdf-thumb-head{font-size:var(--fs-8);letter-spacing:.18em;color:var(--accent);text-transform:uppercase;font-weight:700}.us-pdf-thumb-title{font-size:var(--fs-11);color:var(--ink);letter-spacing:-.005em;padding-right:30px;font-weight:700;line-height:1.25}.us-pdf-thumb-img{background:linear-gradient(135deg,#1a73e8 0%,#0e4fb8 60%,#072b66 100%);height:90px;position:relative;overflow:hidden}.us-pdf-thumb-img:after{content:"";pointer-events:none;background:linear-gradient(#0000,#ffffff2e);height:60%;position:absolute;inset:auto 0 0}.us-pdf-thumb-foot{flex-direction:column;gap:5px;margin-top:6px;display:flex}.us-pdf-thumb-bar{background:#e2e8f0;height:4px;display:block}.us-pdf-thumb-bar:first-child{width:100%}.us-pdf-thumb-bar:nth-child(2){width:88%}.us-pdf-thumb-bar:nth-child(3){width:60%}.us-pdf-btn{font-size:var(--fs-14);background:#3fab4a;border-color:#3fab4a;padding:10px 30px}.us-pdf-btn:hover{background:#349840;border-color:#349840}@media (max-width:1024px){.us-hero h1{font-size:var(--fs-30)}.us-body{grid-template-columns:1fr;gap:36px;padding:36px 24px 56px}.us-aside{justify-content:center;display:flex;position:static}.us-hero{padding:36px 24px 28px}}@media (max-width:640px){.us-hero{padding:28px 16px 22px}.us-hero h1{font-size:var(--fs-23);margin-bottom:20px}.us-lockup{gap:14px}.us-lockup-conan{height:44px}.us-lockup-customer--tomtom{height:32px}.us-lockup-customer--rti{height:50px;transform:translateY(-3px)}.us-body{gap:28px;padding:28px 16px 40px}.us-article{font-size:var(--fs-14)}.us-article h2{font-size:var(--fs-20);margin-top:28px}.us-lede{font-size:var(--fs-14-5)}.us-quote{margin:24px 0;padding:16px 18px}.us-quote p{font-size:var(--fs-14-5)}.us-meta{grid-template-columns:1fr;gap:18px;margin-top:28px;padding-top:22px}.us-pdf-thumb{width:200px;height:260px}}
