@font-face{font-family:"PP Neue Montreal";src:url("/access/brand/regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"PP Neue Montreal";src:url("/access/brand/medium.otf") format("opentype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"PP Neue Montreal";src:url("/access/brand/bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Space Mono";src:url("/access/brand/mono.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
:root{--ink:#262037;--purple:#5c487f;--paper:#f7f7f7;--orange:#ff7e47;--rule:#ded9e5;font-family:"PP Neue Montreal",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;-webkit-font-smoothing:antialiased}.site-header{max-width:1360px;width:calc(100% - 80px);margin:0 auto;padding:30px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font:500 27px/1 "PP Neue Montreal",Arial,sans-serif;text-decoration:none;letter-spacing:-.04em;flex-shrink:0}.brand img{width:39px;height:37px;display:block;border:0;border-radius:0}.header-label,.eyebrow{font:400 12px/1.5 "Space Mono",monospace;text-transform:uppercase;letter-spacing:.075em;color:var(--purple)}main{max-width:1360px;width:calc(100% - 80px);margin:0 auto;padding:82px 0 100px}h1{font-size:clamp(44px,6.3vw,88px);font-weight:400;line-height:1.09;letter-spacing:-.035em;max-width:1060px;margin:22px 0 28px}p{font-size:21px;line-height:1.5;max-width:700px;margin:0 0 24px}.eyebrow{margin:0 0 20px}.intro{margin-bottom:32px}.accent-rule{width:84px;height:4px;background:linear-gradient(90deg,#5c487f,#ffd9cf);margin:0 0 34px}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;border:1px solid var(--purple);border-radius:4px;background:var(--purple);color:#fff;padding:16px 24px;font:400 19px/1.2 "PP Neue Montreal",Arial,sans-serif;text-decoration:none;cursor:pointer;transition:background .18s ease,transform .18s ease}button:hover,.button:hover{background:#463461;color:#fff}button:disabled{opacity:.6;cursor:wait}a{color:var(--purple);text-underline-offset:4px}a:hover{color:var(--ink)}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.downloads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;list-style:none;margin:48px 0 36px}.downloads li{display:flex;flex-direction:column;align-items:flex-start;min-width:0;background:#fff;border:1px solid var(--rule);border-top:3px solid var(--purple);border-radius:4px;padding:30px 26px}.downloads h2{font-size:27px;font-weight:400;line-height:1.2;letter-spacing:-.02em;margin:0 0 30px}.downloads .button{font-size:17px;width:100%;padding:15px 12px;margin-top:auto}.downloads .filename{font:11px/1.6 "Space Mono",monospace;overflow-wrap:anywhere;color:#71677e;margin:20px 0 0}.help{font-size:15px;line-height:1.6;color:#71677e;max-width:740px}#status{font-size:17px;line-height:1.5;min-height:56px;margin-top:24px;max-width:650px}.site-footer{max-width:1360px;width:calc(100% - 80px);margin:0 auto;padding:22px 0 30px;border-top:1px solid var(--rule);font:11px/1.6 "Space Mono",monospace;color:#71677e}.site-footer a{color:inherit}@media(max-width:991px){main{padding-top:60px}h1{font-size:64px}.downloads{grid-template-columns:1fr;max-width:700px}.downloads li{padding:28px}.downloads .button{width:auto}.site-header,main,.site-footer{width:calc(100% - 48px)}}@media(max-width:600px){.site-header,main,.site-footer{width:calc(100% - 40px)}.site-header{padding:22px 0}.brand{font-size:24px}.brand img{width:32px;height:31px}.header-label{font-size:10px}main{padding:48px 0 64px}h1{font-size:44px;letter-spacing:-.03em}p{font-size:19px}.downloads{gap:18px;margin-top:34px}.downloads li{padding:24px 20px}.downloads h2{font-size:25px}.downloads .button{width:100%}}@media(prefers-reduced-motion:reduce){button,.button{transition:none}}
