/* Speed test page (/speed-test/): sections around the NetSpeed app. */
.nsp{padding-bottom:clamp(40px,6vw,80px)}
.nsp-hero{padding-top:clamp(40px,7vw,96px);text-align:center}
.nsp-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:13px;letter-spacing:.04em}
.nsp-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime)}
.nsp-hero h1{margin:0;font-family:var(--f-sans);font-size:clamp(36px,6vw,64px);font-weight:600;line-height:1.05;letter-spacing:-.03em}
.nsp-lede{max-width:720px;margin:18px auto 0;color:var(--muted);font-size:clamp(16px,1.6vw,19px);line-height:1.6}
.nsp-app{margin-top:clamp(28px,4vw,48px)}
.nsp-placeholder{display:grid;place-items:center;min-height:520px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted)}
.nsp-section{max-width:1080px;margin-top:clamp(56px,8vw,104px)}
.nsp-section h2{margin:0 0 22px;font-family:var(--f-sans);font-size:clamp(26px,3.4vw,38px);font-weight:600;letter-spacing:-.02em;line-height:1.15}
.nsp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nsp-steps>div{padding:22px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}
.nsp-steps b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--f-mono);font-size:14px}
.nsp-steps h3{margin:14px 0 8px;font-size:19px;font-weight:600}
.nsp-steps p,.nsp-terms dd,.nsp-faq p,.nsp-note{margin:0;color:var(--muted);font-size:16px;line-height:1.6}
.nsp-note{margin-top:18px}
.nsp-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0}
.nsp-terms div{padding:18px 0;border-top:1px solid var(--line)}
.nsp-terms dt{margin-bottom:6px;color:var(--text);font-size:18px;font-weight:600}
.nsp-terms dd{margin:0}
.nsp-table{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}
.nsp-table table{width:100%;border-collapse:collapse;font-size:15px}
.nsp-table th,.nsp-table td{padding:13px 16px;border:0;border-bottom:1px solid var(--line);text-align:left;background:transparent}
.nsp-table th{color:var(--dim);font-weight:500;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.nsp-table td{color:var(--muted)}
.nsp-table td:first-child{color:var(--text);font-weight:500}
.nsp-table tr:last-child td{border-bottom:0}
.nsp-faq{display:grid;gap:10px;max-width:860px}
.nsp-faq details{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}
.nsp-faq summary{padding:16px 20px 16px 4px;margin-left:22px;cursor:pointer;font-size:17px;font-weight:600}
.nsp-faq summary:focus-visible{outline:2px solid var(--coral);outline-offset:2px;border-radius:var(--radius-sm)}
.nsp-faq details[open] summary{color:var(--coral-2)}
.nsp-faq p{padding:0 20px 18px}
@media (max-width:820px){
 .nsp-steps,.nsp-terms{grid-template-columns:1fr}
}
@media (max-width:480px){
 .nsp-hero{text-align:left}
 .nsp-lede{margin-left:0}
 .nsp-table th,.nsp-table td{padding:11px 12px;font-size:14px}
}
