/* Dedicated Internet: plain-language optical access explanation, using the site palette. */
.dedicated-service-hero h1 { margin-bottom: 22px; text-wrap: balance; }
.dedicated-access-promise { font: 400 clamp(1.4rem, 2vw, 2rem)/1.3 Georgia, 'Times New Roman', serif; letter-spacing: -.02em; color: var(--accent); max-width: 28ch; margin-bottom: 20px; }
.dedicated-access { overflow-wrap: anywhere; scroll-margin-top: 100px; padding-bottom: 0; }
.dedicated-access-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: end; margin-bottom: 36px; }
.dedicated-access-header .eyebrow { margin-bottom: 20px; }
.dedicated-access-header h2 { font-size: clamp(2rem, 3.5vw, 4rem); letter-spacing: -.04em; margin-bottom: 0; }
.dedicated-access-header > p { color: var(--muted); max-width: 56ch; font-size: 1.03rem; margin: 0; }
.dedicated-access-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); }
.dedicated-access-card { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: clamp(22px, 2.5vw, 38px); border: 1px solid var(--rule); border-top-width: 2px; background: var(--paper); }
.dedicated-access-card-reserved { background: var(--panel); border-top-color: var(--accent); }
.dedicated-access-card-reserved .dedicated-access-card-heading .eyebrow { color: var(--accent); }
.dedicated-access-card-heading h3 { font-size: clamp(1.45rem, 2.2vw, 2.3rem); letter-spacing: -.025em; line-height: 1.2; margin: 14px 0 0; }
.dedicated-access-drawing { display: grid; grid-template-columns: minmax(68px, .85fr) minmax(38px, 1fr) minmax(88px, 1fr); height: 13rem; margin-block: 28px; }
.dedicated-access-network { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10px; border: 1px solid var(--rule); background: var(--paper); text-align: center; }
.dedicated-access-network strong { font: 400 clamp(.95rem, 1.5vw, 1.4rem)/1.3 Georgia, 'Times New Roman', serif; }
.dedicated-access-network > span { font: .66rem/1.5 'Courier New', monospace; color: var(--muted); margin-top: 5px; }
.dedicated-access-routes { display: block; width: 100%; height: 100%; overflow: visible; }
.dedicated-access-routes path, .dedicated-access-routes circle { stroke: currentColor; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.dedicated-access-reserved-route { color: var(--accent); }
.dedicated-access-reserved-route path { stroke-width: 2.5; }
.dedicated-access-other-route, .dedicated-access-shared-route { color: var(--muted); }
.dedicated-access-businesses { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); }
.dedicated-access-business { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 8px; align-self: center; min-height: 46px; border: 1px solid var(--rule); font-size: .8rem; line-height: 1.35; text-align: center; background: var(--paper); color: var(--muted); }
.dedicated-access-yours { border-color: var(--accent); color: var(--ink); }
.dedicated-access-card figcaption { border-top: 1px solid var(--rule); padding-top: 18px; margin-top: auto; color: var(--muted); font-size: .9rem; max-width: 58ch; }
.dedicated-access-scope { color: var(--muted); font-size: .8rem; margin-block: 20px 0; }
.dedicated-access-detail { margin-top: 20px; border-block: 1px solid var(--rule); }
.dedicated-access-detail summary { padding-block: 16px; font-size: .9rem; }
.dedicated-access-detail p { max-width: 76ch; margin-block: 0 14px; font-size: .9rem; color: var(--muted); }
.dedicated-access-detail .text-link { display: inline-block; white-space: normal; font-size: .85rem; margin-bottom: 16px; }
@media (max-width: 991px) {
    .dedicated-access-header { grid-template-columns: 1fr; gap: 24px; }
    .dedicated-access-header h2 { max-width: 20ch; }
    .dedicated-access-header > p { max-width: 65ch; }
}
@media (max-width: 767px) {
    .dedicated-access-comparison { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .dedicated-access-card { padding: 18px; }
    .dedicated-access-card-heading h3 { font-size: 1.7rem; }
    .dedicated-access-header h2 { font-size: clamp(1.9rem, 7.5vw, 2.4rem); }
    .dedicated-access-drawing { height: 12rem; margin-block: 24px; }
    .dedicated-access-network { padding: 7px; }
    .dedicated-access-network strong { font-size: .95rem; }
    .dedicated-access-network > span { font-size: .62rem; }
    .dedicated-access-business { padding: 7px; font-size: .76rem; }
    .dedicated-access-card figcaption { font-size: .88rem; }
}
@media (forced-colors: active) {
    .dedicated-access-routes path, .dedicated-access-routes circle { stroke: CanvasText; }
}

/* Access measurement scope and the illustrative queue under load. */
.dedicated-access-latency { margin-bottom: 24px; }
.dedicated-access-latency .eyebrow { font-size: .65rem; }
.dedicated-access-latency > p:not(.dedicated-access-latency-path) { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; margin: 8px 0; }
.dedicated-access-latency strong { font: 400 clamp(1.9rem, 3vw, 2.8rem)/1.2 Georgia, 'Times New Roman', serif; letter-spacing: -.035em; color: var(--accent); }
.dedicated-access-latency > p > span, .dedicated-access-latency-path { font-size: .82rem; color: var(--muted); }
.dedicated-access-latency-path { max-width: 42ch; margin: 0; }
.dedicated-access-queued-traffic rect { fill: var(--paper); stroke: var(--accent); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.dedicated-access-queue-key { display: flex; align-items: baseline; gap: 9px; margin-bottom: 24px; color: var(--muted); font-size: .8rem; }
.dedicated-access-queue-key > span { display: inline-block; width: .65em; height: .65em; flex: 0 0 auto; border: 1px solid var(--accent); }
.dedicated-access-load { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 80px); align-items: center; margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--rule); }
.dedicated-access-load h3 { font-size: clamp(1.6rem, 2.6vw, 2.8rem); line-height: 1.2; letter-spacing: -.025em; margin: 0; }
@media (max-width: 991px) { .dedicated-access-load { grid-template-columns: 1fr; } }
@media (forced-colors: active) { .dedicated-access-queued-traffic rect { fill: Canvas; stroke: CanvasText; } .dedicated-access-queue-key > span { border-color: CanvasText; } }

/* Match the illustrative scenario to the existing, scoped Stealth latency callout. */
.dedicated-access-latency-example strong { color: var(--ink); }
.dedicated-access-card figcaption .dedicated-access-queue-key { margin: 14px 0 0; }

/* Editorial rhythm, source context and responsive comparison marker. */
#main :is(p, figcaption, dd) { text-wrap: pretty; }
#main :is(h2, h3) { text-wrap: balance; }
.dedicated-access-comparison { position: relative; }
.dedicated-access-card figcaption { margin-top: 0; flex-grow: 1; }
.dedicated-access-versus { position: absolute; left: 50%; top: 34%; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid var(--rule); border-radius: 50%; background: var(--paper); color: var(--muted); font: italic 1rem/1 Georgia, 'Times New Roman', serif; z-index: 1; }
.dedicated-access-reference { display: inline-block; margin-top: 18px; white-space: normal; font-size: .82rem; }
.dedicated-access-load { align-items: start; }
.dedicated-access-load-copy { min-width: 0; }
.dedicated-access-load-copy p { color: var(--muted); font-size: .95rem; max-width: 62ch; margin: 0 0 18px; }
.dedicated-access-load-copy .text-link { display: inline-block; white-space: normal; }
.dedicated-access-detail { margin-top: 30px; }
.dedicated-access-methodology { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 45px; padding-top: 8px; }
.dedicated-access-methodology h4 { font: 400 1.2rem/1.35 Georgia, 'Times New Roman', serif; margin: 0 0 14px; }
.dedicated-access-methodology h4:not(:first-child) { margin-top: 24px; }
.dedicated-access-sources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 35px; list-style: none; padding: 22px 0; margin: 8px 0 0; border-top: 1px solid var(--rule); }
.dedicated-access-sources li { min-width: 0; }
.dedicated-access-sources .text-link { margin: 0 0 5px; }
.dedicated-access-sources li > span { display: block; color: var(--muted); font-size: .75rem; }
.dedicated-applications { padding-top: clamp(24px, 2.5vw, 40px); border-bottom: 1px solid var(--rule); }
.dedicated-applications .use-cases { display: block; margin-top: 28px; padding: 22px 0 0; border-bottom: 0; }
.dedicated-applications .use-cases .eyebrow { display: block; margin-bottom: 14px; }
@media (max-width: 991px) {
    .dedicated-access-methodology { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 767px) {
    .dedicated-access-versus { position: static; transform: none; justify-self: center; margin-block: -5px; }
    .dedicated-access-sources { grid-template-columns: 1fr; }
}


/* Keep long editorial headings together within their available column. */
#specifications h2 { font-size: clamp(2rem, 2.5vw, 3.5rem); }
@media (min-width: 992px) {
    .dedicated-applications { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
}

/* A plain language access takeaway and the tested switching sequence. */
.dedicated-access-takeaway strong { display: block; color: var(--ink); font-weight: 600; margin-bottom: 12px; }
.dedicated-switching { margin-top: 38px; padding-top: 30px; border-top: 1px solid var(--rule); scroll-margin-top: 110px; }
.dedicated-switching > .eyebrow { margin-bottom: 16px; }
.dedicated-switching h3 { font-size: clamp(1.8rem, 2.5vw, 3rem); letter-spacing: -.025em; line-height: 1.15; margin-bottom: 18px; }
.dedicated-switching > p { max-width: 65ch; color: var(--muted); }
.dedicated-switching-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; list-style: none; padding: 0; margin: 28px 0; }
.dedicated-switching-steps li { min-width: 0; padding-top: 18px; border-top: 2px solid var(--accent); }
.dedicated-switching-steps .eyebrow { color: var(--accent); margin-bottom: 12px; }
.dedicated-switching-steps h4 { font: 400 1.35rem/1.25 Georgia, 'Times New Roman', serif; margin: 0 0 12px; }
.dedicated-switching-steps p { color: var(--muted); font-size: .9rem; margin: 0; }
.dedicated-switching-note { font-size: .88rem; }
.dedicated-switching details { margin-block: 22px; }
.dedicated-switching details p { max-width: 70ch; color: var(--muted); font-size: .9rem; }
.dedicated-switching > .text-link { display: inline-block; white-space: normal; }
@media (max-width: 1199px) { .dedicated-switching-steps { grid-template-columns: 1fr; gap: 20px; } }
