.modems-page .page-head h1 { font-weight:700; font-size:clamp(36px,4.6vw,60px); }
.modems-page .page-head h1 b { font-weight:inherit; }
.modems-page .page-head .lede { max-width:70ch; font-size:21px; line-height:1.5; }
.modem-section { max-width:var(--max); margin:0 auto; padding:44px var(--gutter); border-bottom:1px solid var(--line); scroll-margin-top:24px; }
.modem-section > h2 { margin-bottom:24px; }
.modem-section p { max-width:85ch; }
.modem-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.modem-choices article { min-width:0; display:flex; flex-direction:column; padding:24px; border:1px solid #355a83; border-top:2px solid var(--brand-accent); border-radius:8px; background:linear-gradient(130deg,#13243c,var(--panel)); }
.choice-icon { width:40px; height:40px; margin-bottom:20px; stroke:var(--brand-accent); stroke-width:1.6; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.modem-choices h2 { font-size:26px; font-weight:700; margin-bottom:12px; }
.modem-choices h2 small { font:17px var(--body); color:#becbde; white-space:nowrap; }
.modem-choices .choice-tag { color:#9dcaff; font-size:15px; margin-bottom:16px; }
.modem-choices p { color:#becbde; }
.modem-choices dl { padding-top:16px; border-top:1px solid var(--line); margin:0 0 24px; }
.modem-choices dt { font-weight:700; margin-bottom:4px; }
.modem-choices dd { margin:0 0 16px; font-size:16px; color:#becbde; line-height:1.5; }
.modem-choices .btn { margin-top:auto; margin-right:0; text-align:center; }
.choice-more { font-size:15px; padding-top:6px; }
.modem-note { border-left:2px solid #355a83; padding-left:18px; margin:26px 0 0; color:#becbde; font-size:15px; line-height:1.65; }
.modem-copy,.fsq-improvements { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.modem-copy p { color:#becbde; }
.slot-illustration { margin-top:24px; padding:26px; border:1px solid #355a83; border-radius:8px; background:var(--panel); }
.slot-illustration h3 { font-size:20px; margin-bottom:12px; }
.fsq-improvements { padding-bottom:12px; margin-bottom:24px; border-bottom:1px solid #2a405e; }
.fsq-improvements h3 { color:#9dcaff; }
.fsq-improvements p { color:#becbde; }
.slot-row { display:grid; grid-template-columns:190px minmax(0,1fr); gap:22px; align-items:center; margin:24px 0; }
.slot-row > strong { font-size:16px; }
.slot-band { min-height:96px; border:1px solid #355a83; border-radius:5px; padding:12px; background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),#22304a 10%); }
.narrow-slots { display:flex; justify-content:space-around; align-items:stretch; gap:14px; }
.slot-band span { display:grid; place-content:center; text-align:center; font-size:14px; padding:8px; border:1px solid var(--brand-accent); background:#173659; color:#d6e9ff; }
.narrow-slots > span { width:24%; }
.narrow-slots .legacy-slot { border-color:#9dcaff; background:#214872; }
.wide-slot { display:flex; }
.wide-slot > span { width:100%; background:#214872; }
.slot-illustration .fine { margin-bottom:0; }
.modems-page .technical-details { border-top:1px solid var(--line); margin-top:28px; }
.modems-page .technical-details summary { color:#b4d7ff; }
.modems-page .technical-details p { color:#becbde; }
.modems-page .tbl th,.modems-page .tbl td { white-space:normal; }
.modems-page .facts { margin-top:20px; }
.modem-links { display:flex; flex-wrap:wrap; gap:10px 22px; font-size:15px; margin:24px 0 0; }
.research > p { color:#becbde; }
.speed-intro { font-size:20px; line-height:1.6; color:#becbde; margin-bottom:30px; }
.speed-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.speed-group { min-width:0; }
.speed-group > h3 { display:flex; flex-wrap:wrap; gap:8px 18px; align-items:baseline; font-size:20px; margin-bottom:18px; }
.speed-group > h3 span { font-size:14px; font-weight:400; color:#9dcaff; }
.speed-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.speed-cards article { min-width:0; padding:24px 20px; border:1px solid #355a83; border-top:2px solid var(--brand-accent); border-radius:8px; background:linear-gradient(135deg,#13243c,var(--panel)); }
.speed-cards .speed-profile { color:#9dcaff; font-size:15px; margin-bottom:24px; }
.speed-cards .speed-value { font-size:36px; font-weight:700; line-height:1.2; color:var(--ink); margin-bottom:20px; }
.speed-value span { display:block; margin-top:8px; font-size:15px; font-weight:400; color:#becbde; }
.speed-cards article > p:last-child { font-size:15px; color:#becbde; line-height:1.6; margin:0; }
.speed-footnote { font-size:14px; color:#becbde; line-height:1.65; margin:16px 0 0; }
@media(max-width:1000px) { .speed-groups { grid-template-columns:1fr; } }
@media(max-width:420px) { .speed-cards { grid-template-columns:1fr; } }
@media(max-width:1000px) { .modem-choices { grid-template-columns:1fr; } }
@media(max-width:760px) { .modem-copy,.fsq-improvements,.slot-row { grid-template-columns:1fr; } .slot-row { gap:12px; } .slot-illustration { padding:20px; } .modems-page .page-head .lede { font-size:19px; } }
@media(max-width:420px) { .narrow-slots { gap:7px; padding:8px; } .narrow-slots > span { width:30%; padding:4px; font-size:12px; } }
