.speedtest-section{scroll-margin-top:96px;padding-top:104px;padding-bottom:104px}
.speedtest-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:32px}
.speedtest-heading h2{margin:12px 0 0;color:#153653;font-size:clamp(30px,4vw,44px);font-weight:800;letter-spacing:-.065em;line-height:1.12}
.speedtest-heading h2 span{color:var(--blue,#007cc0)}
.speedtest-heading>p{max-width:395px;margin:0 0 3px;color:#748a9d;font-size:12px;line-height:1.85}
.speedtest-panel{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:34px;min-height:395px;overflow:hidden;padding:clamp(25px,4vw,48px);border:1px solid #153d60;border-radius:22px;background:radial-gradient(ellipse at 10% 12%,#17628c 0,transparent 36%),radial-gradient(ellipse at 90% 98%,#17684330 0,transparent 34%),linear-gradient(135deg,#0b2440,#114576 72%,#0b3552);box-shadow:0 22px 55px #15365120;color:#fff}
.speedtest-panel:before,.speedtest-panel:after{position:absolute;width:300px;height:300px;border:1px solid #b8e3f015;border-radius:50%;content:"";pointer-events:none}
.speedtest-panel:before{top:-190px;right:-10px;box-shadow:0 0 0 25px #b8e3f008,0 0 0 54px #b8e3f006}
.speedtest-panel:after{right:37%;bottom:-270px;width:390px;height:390px}
.speedtest-copy,.speedtest-console{position:relative;z-index:1}
.speedtest-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.speedtest-live{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #b3e3d52c;border-radius:999px;background:#d6fff20d;color:#c4ece0;font-size:9px;font-weight:800;letter-spacing:.08em}
.speedtest-live i{width:7px;height:7px;border-radius:50%;background:#10a878;box-shadow:0 0 0 4px #10a87825}
.speedtest-copy h3{max-width:430px;margin:22px 0 10px;font-size:clamp(26px,3.5vw,39px);font-weight:800;letter-spacing:-.06em;line-height:1.15}
.speedtest-copy h3 span{color:#53c879}
.speedtest-copy>p{max-width:410px;margin:0;color:#c1d2e0;font-size:12px;line-height:1.8}
.speedtest-steps{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 0;padding:0;list-style:none}
.speedtest-steps li{display:inline-flex;align-items:center;gap:7px;color:#d4e5ee;font-size:9px;font-weight:700}
.speedtest-steps li+li{margin-left:2px}
.speedtest-steps li i{display:grid;width:21px;height:21px;place-items:center;border:1px solid #a7ccdd35;border-radius:50%;color:#73c88c;font-size:9px;font-style:normal}
.speedtest-console{display:flex;min-height:298px;flex-direction:column;justify-content:center;padding:23px;border:1px solid #d7eef025;border-radius:20px;background:linear-gradient(145deg,#ffffff12,#ffffff08);box-shadow:inset 0 1px #ffffff12,0 18px 42px #061b2d24;backdrop-filter:blur(12px)}
.speedtest-console-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px;color:#e0ebf2;font-size:9px;font-weight:800;letter-spacing:.04em}
.speedtest-console-top span:first-child{display:inline-flex;align-items:center;gap:7px}
.speedtest-console-top i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#10a878;box-shadow:0 0 0 4px #10a87822}
.speedtest-console-top span:last-child{color:#afc3d2;font-size:8px;font-weight:700}
.speedtest-panel[data-phase=latency] .speedtest-console-top i,.speedtest-panel[data-phase=download] .speedtest-console-top i,.speedtest-panel[data-phase=upload] .speedtest-console-top i{animation:speedtest-pulse 1.4s ease-in-out infinite}
.speedtest-speed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.speedtest-speed-card{position:relative;min-width:0;overflow:hidden;padding:14px 13px 12px;border:1px solid #ffffff19;border-radius:15px;background:#071f354d;transition:transform .45s cubic-bezier(.2,.75,.25,1),border-color .45s,background .45s,box-shadow .45s}
.speedtest-speed-label{display:flex;align-items:center;gap:8px;color:#c6d8e4;font-size:8px;font-weight:800;letter-spacing:.09em}
.speedtest-speed-icon{display:grid;width:27px;height:27px;place-items:center;border:1px solid #007cc055;border-radius:9px;background:#007cc022;color:#5bb6e7;font-size:17px;font-weight:800;line-height:1}
.speedtest-speed-card[data-speed-card=upload] .speedtest-speed-icon{border-color:#10a87855;background:#10a87822;color:#6bd58d}
.speedtest-speed-reading{display:flex;align-items:baseline;gap:6px;margin:13px 0 11px;white-space:nowrap}
.speedtest-speed-reading strong{overflow:hidden;color:#fff;font-size:clamp(25px,3vw,34px);font-weight:800;letter-spacing:-.065em;line-height:1;font-variant-numeric:tabular-nums;text-overflow:ellipsis;transition:color .35s}
.speedtest-speed-reading small{color:#b2c5d3;font-size:9px;font-weight:800}
.speedtest-speed-track{height:4px;overflow:hidden;border-radius:999px;background:#ffffff19}
.speedtest-speed-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#007cc0,#53b4e2);transition:width .56s cubic-bezier(.2,.75,.25,1)}
.speedtest-speed-card[data-speed-card=upload] .speedtest-speed-track i{background:linear-gradient(90deg,#10a878,#72cf62)}
.speedtest-speed-caption{display:block;margin-top:8px;color:#92aabd;font-size:8px}
.speedtest-panel[data-phase=download] [data-speed-card=download],.speedtest-panel[data-phase=upload] [data-speed-card=upload]{transform:translateY(-2px);border-color:#56aee0a8;background:#007cc01b;box-shadow:0 8px 22px #061b2d20,inset 0 0 0 1px #007cc020}
.speedtest-panel[data-phase=upload] [data-speed-card=upload]{border-color:#55c67da8;background:#10a8781c;box-shadow:0 8px 22px #061b2d20,inset 0 0 0 1px #10a87820}
.speedtest-panel[data-phase=download] [data-speed-card=download] .speedtest-speed-reading strong{color:#87d2f5}
.speedtest-panel[data-phase=upload] [data-speed-card=upload] .speedtest-speed-reading strong{color:#8ce39f}
.speedtest-panel[data-phase=upload] [data-speed-card=upload] .speedtest-speed-track i{position:relative;min-width:28%;animation:speedtest-signal 1.7s ease-in-out infinite alternate}
.speedtest-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.speedtest-result{min-width:0;padding:9px 10px;border:1px solid #ffffff12;border-radius:11px;background:#ffffff08;text-align:left}
.speedtest-result span{display:block;color:#a8c2d0;font-size:8px;font-weight:700}
.speedtest-result strong{display:block;margin-top:3px;color:#f2fbfc;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.speedtest-progress-track{height:4px;margin-top:15px;overflow:hidden;border-radius:999px;background:#ffffff18}
.speedtest-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#007cc0 0%,#10a878 100%);transition:width .62s cubic-bezier(.2,.75,.25,1)}
.speedtest-status{min-height:16px;margin:8px 0 0;color:#c0d1dd;font-size:9px;line-height:1.5;text-align:center}
.speedtest-start{display:inline-flex;min-height:43px;align-items:center;justify-content:center;gap:9px;margin-top:14px;padding:0 20px;border:0;border-radius:13px;background:linear-gradient(100deg,#10a878,#31b653);box-shadow:0 9px 20px #061b2d36;color:#fff;font:800 11px Manrope,ui-sans-serif,system-ui,sans-serif;cursor:pointer;transition:transform .35s cubic-bezier(.2,.75,.25,1),filter .35s,box-shadow .35s}
.speedtest-start:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 12px 24px #061b2d46}
.speedtest-start:focus-visible{outline:3px solid #70c9e9;outline-offset:3px}
.speedtest-start:disabled{cursor:wait;opacity:.75;transform:none}
.speedtest-start:disabled span{animation:speedtest-turn 1.2s linear infinite}
.speedtest-start span{font-size:16px;transition:transform .4s cubic-bezier(.2,.75,.25,1)}
.speedtest-start:hover span{transform:rotate(35deg)}
.speedtest-footnote{max-width:820px;margin:13px auto 0;color:#8599a8;font-size:9px;line-height:1.65;text-align:center}
.speedtest-panel[data-phase=error] .speedtest-status{color:#ffd0c8}
.speedtest-panel[data-phase=complete] .speedtest-console-top i{background:#10a878;animation:none}
.speedtest-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
@keyframes speedtest-pulse{50%{box-shadow:0 0 0 7px #10a87808;opacity:.7}}
@keyframes speedtest-signal{from{opacity:.55}to{opacity:1}}
@keyframes speedtest-turn{to{transform:rotate(360deg)}}
@media(max-width:1120px) and (min-width:721px){.main-nav{gap:16px;margin-left:20px}.main-nav a{font-size:10px}.header-actions{gap:8px}}
@media(max-width:850px){.speedtest-panel{grid-template-columns:1fr;gap:25px}.speedtest-copy{align-items:center;text-align:center}.speedtest-copy>p{max-width:520px}.speedtest-steps{justify-content:center}.speedtest-console{width:min(100%,520px);justify-self:center}}
@media(max-width:720px){.speedtest-section{padding-top:76px;padding-bottom:76px}.speedtest-heading{display:block;margin-bottom:22px}.speedtest-heading h2{font-size:33px}.speedtest-heading>p{max-width:480px;margin-top:12px;font-size:10px}.speedtest-panel{gap:22px;padding:22px 16px 18px;border-radius:18px}.speedtest-copy h3{margin-top:17px;font-size:28px}.speedtest-copy>p{font-size:10px}.speedtest-steps{margin-top:17px}.speedtest-console{min-height:0;padding:17px 12px 15px;border-radius:16px}.speedtest-speed-grid{gap:7px}.speedtest-speed-card{padding:12px 9px 10px;border-radius:12px}.speedtest-speed-label{gap:6px;font-size:7px}.speedtest-speed-icon{width:24px;height:24px}.speedtest-speed-reading{gap:4px;margin:11px 0 9px}.speedtest-speed-reading strong{font-size:clamp(23px,7vw,30px)}.speedtest-speed-reading small{font-size:8px}.speedtest-speed-caption{font-size:7px}.speedtest-results{gap:6px}.speedtest-result{padding:8px}.speedtest-status{font-size:8px}.speedtest-footnote{padding:0 4px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.speedtest-panel *,.speedtest-panel:before,.speedtest-panel:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
