/* The speed tool uses the site's existing typography, palette and buttons. */
.speed-header [aria-current=page]{color:var(--red-text)}.speed-header .desktop-nav [aria-current=page]::after{width:100%}
.speed-console{width:min(800px,100%);margin-inline:auto;padding:42px 0 24px;text-align:center;scroll-margin-top:100px}.speed-intro h1{font:600 42px/1.15 var(--heading);letter-spacing:-1.8px;color:var(--ink)}.speed-intro h1>span{color:var(--red)}.speed-intro p{font-size:14px;color:var(--muted);margin-top:10px}
.dial-stage{position:relative;width:min(390px,100%);margin:18px auto 0;container-type:inline-size}.speed-dial{display:block;width:100%;height:auto;overflow:visible}.dial-track,.dial-progress{fill:none;stroke-width:6;stroke-linecap:round}.dial-track{stroke:var(--line)}.dial-progress{stroke:var(--red);transition:stroke-dasharray .55s cubic-bezier(.2,.7,.2,1)}.dial-ticks line{stroke:var(--quiet);stroke-width:1}.dial-labels text{text-anchor:middle;dominant-baseline:central;font:16px Inter,Arial,sans-serif;fill:var(--quiet);font-variant-numeric:tabular-nums}.dial-labels text:not([data-dial-label="0"]):not([data-dial-label="2"]):not([data-dial-label="4"]):not([data-dial-label="7"]){display:none}.dial-needle{fill:var(--red);transition:transform .55s cubic-bezier(.2,.7,.2,1)}.dial-readout{position:absolute;left:50%;top:56.25%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;white-space:nowrap}#dial-direction{font-size:9px;letter-spacing:1.2px;color:var(--muted)}.dial-readout>strong{font:500 clamp(54px,20cqi,82px)/1.1 var(--heading);letter-spacing:-3.5px;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:9px}.dial-unit{font-size:13px;color:var(--muted);margin-top:3px}
.speed-controls{width:min(510px,100%);margin:5px auto 0}.test-actions{display:flex;flex-direction:column;align-items:center;gap:4px}.start-test{min-width:220px;min-height:52px;font-size:13px;padding:13px 21px;gap:12px}.start-test>.icon:first-child{width:18px;height:18px}.start-test:disabled{background:var(--surface);border-color:var(--line);color:var(--muted);cursor:wait;transform:none}.start-test:disabled>.icon:first-child{border:1.5px solid var(--line);border-top-color:var(--ink);border-radius:50%;color:transparent;animation:test-loading .8s linear infinite}.cancel-test{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font-size:11px;padding:9px 14px;background:transparent;color:var(--muted)}.cancel-test .icon{width:13px;height:13px}.cancel-test:hover{color:var(--ink)}.run-copy{margin-top:16px;min-height:21px}.run-copy h2{font:500 13px/1.5 var(--heading);letter-spacing:0;margin:0 0 5px}.run-copy h2:empty,.speed-console[data-state=idle] .run-copy h2,.speed-console[data-state=finished] .run-copy{display:none}.run-copy p{font-size:12px;line-height:1.75;color:var(--muted)}.speed-consent{font-size:10px;line-height:1.8;color:var(--quiet);margin-top:9px}.speed-consent a,.nojs-notice a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.nojs-notice{font-size:12px;line-height:1.8;color:var(--muted);margin-top:16px}
.measurement-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}.measurement-card{min-width:0}.measurement-name{font-size:12px;color:var(--muted);transition:color .2s}.measurement-card>p{display:flex;justify-content:center;align-items:baseline;gap:6px;margin-top:8px;font-variant-numeric:tabular-nums}.measurement-card strong{font:500 34px/1.2 var(--heading);letter-spacing:-1.1px}.measurement-card>p>span{font-size:10px;color:var(--quiet)}.measurement-card.is-active .measurement-name{color:var(--red-text)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.speed-result{width:min(800px,100%);margin:12px auto 25px;text-align:center;padding:23px 0 6px;border-top:1px solid var(--line)}.speed-result h2{font-size:21px;letter-spacing:-.6px;line-height:1.3}.speed-result p{font-size:12px;color:var(--muted);margin-top:9px}.speed-result small{display:block;font-size:10px;line-height:1.8;color:var(--quiet);margin-top:6px}.result-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:20px}.result-actions>.button{font-size:12px;min-height:48px;padding:11px 18px;gap:9px}.result-actions>span{width:100%;min-height:18px;font-size:11px;color:var(--muted)}
.speed-guide{width:min(800px,100%);margin:19px auto 0;border-block:1px solid var(--line)}.speed-guide>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:58px;padding:13px 0;list-style:none;cursor:pointer;font-size:12px;font-weight:500;color:var(--muted)}.speed-guide>summary::-webkit-details-marker{display:none}.speed-guide[open]>summary{color:var(--ink)}.guide-content{padding:0 0 23px}.guide-content dl{display:grid;grid-template-columns:1fr 1fr;gap:22px 35px;margin:12px 0 22px}.guide-content dt{font-size:12px;font-weight:600;margin-bottom:5px}.guide-content dd{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.guide-content>p{font-size:10px;line-height:1.9;color:var(--quiet);max-width:680px}
.speed-play{display:flex;align-items:center;justify-content:space-between;gap:22px;width:min(800px,100%);margin:33px auto 48px}.speed-play h2{font-size:21px;line-height:1.3;letter-spacing:-.65px}.speed-play p{font-size:12px;color:var(--muted);margin-top:6px}.speed-play>.button{font-size:12px;min-height:49px;padding:11px 17px;gap:10px;flex-shrink:0}.speed-play>.button>.icon:last-child{display:none}.speed-footer{padding:0 0 20px}
@keyframes test-loading{to{transform:rotate(360deg)}}
@media(max-width:850px){.speed-console{padding-top:34px}.speed-intro h1{font-size:38px;letter-spacing:-1.5px}.measurement-cards{gap:12px}.measurement-card strong{font-size:32px}.measurement-name{font-size:11px}}
@media(max-width:600px){.speed-console{padding-top:27px;padding-bottom:20px}.speed-intro h1{font-size:clamp(25px,7.9vw,35px);letter-spacing:-1.1px}.speed-intro p{font-size:12px;margin-top:8px}.dial-stage{width:min(350px,100%);margin-top:16px}#dial-direction{font-size:8px;letter-spacing:1px}.dial-readout>strong{font-size:clamp(54px,20cqi,70px);letter-spacing:-2.5px}.dial-unit{font-size:12px}.speed-controls{margin-top:4px}.start-test{min-height:51px;min-width:215px;font-size:12px}.run-copy{margin-top:14px}.run-copy p{font-size:11px}.run-copy h2{font-size:12px}.speed-consent{font-size:9px;max-width:320px;margin:9px auto 0}.measurement-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 12px;margin-top:24px;padding-top:22px}.measurement-card strong{font-size:32px}.measurement-card>p{margin-top:7px;gap:5px}.measurement-name{font-size:11px}.speed-guide{margin-top:12px}.speed-guide>summary{font-size:11px;min-height:54px}.guide-content dl{grid-template-columns:1fr;gap:19px}.guide-content dd{font-size:11px}.guide-content>p{font-size:9px}.speed-result{padding-top:20px;margin-top:10px;margin-bottom:18px}.speed-result h2{font-size:19px}.speed-result small{font-size:9px}.result-actions{gap:10px}.result-actions>.button{width:100%;font-size:11px}.speed-play{display:block;text-align:center;margin:29px auto 34px}.speed-play h2{font-size:20px}.speed-play p{font-size:11px}.speed-play>.button{margin-top:18px;min-height:49px;font-size:11px;padding-inline:20px}.speed-footer{padding-bottom:20px}.speed-footer .footer-bottom{text-align:center}.speed-footer .footer-bottom>div{justify-content:center}}
@media(max-width:370px){.dial-readout>strong{font-size:56px}.measurement-card strong{font-size:29px}.speed-intro h1{letter-spacing:-.9px}}
@media(prefers-reduced-motion:reduce){.dial-progress,.dial-needle{transition:none}.start-test:disabled>.icon:first-child{animation:none}}
